Qwerk control with processing
May 9, 2009
So I was doubly inspired by Chris the Carpenter's recent experiments with robot control via processing, and f5pql's heavily-equipped qwerk-based robot to do some more tinkering of my own. I'd been programming the qwerk for autonomous operation through the SimpleRobotClient, and controlling it directly through the telepresence DiffDrive client, but was beginning to wish I could somehow construct a hybrid of the two. But building a client from scratch - or even just tweaking the existing ones - looked scary!
However, I have a little bit of experience with the processing language, which is also built upon java, and today I was able to confirm that (without too much work) it's possible to have a processing applet interacting with the SimpleRobotClient, invoking both from a parent java program to handle communication between the two. So here's a quick proof-of-concept for that.
Technical details: This isn't running full-blown processing, just a PApplet for graphical elements and user interaction. So the SimpleRobotClient is still handling communication with the qwerkbot itself, which is via standard networking- provided both the host pc and the bot both have internet access (or are sharing a router as in this demo) then I can control it! However, it needs the java SDK to be installed on the host and is launched with some clumsy command line stuff at the moment- a future step is to figure out how to package it all up as a standalone application or, better still, a web applet for easy remote use.
Next step though is to create a virtual joystick and other control-panel type stuff.