Off-work robot fun

February 26, 2009 by · 4 Comments
Filed under: Communications, Robots 

As of late, I’ve been having loads of fun with an old robot of mine, Robby RP5. My biggest complaint at all times has been the fact that it has a horrible 8-bit processor with “some kind of” Basic interpreter/compiler that I never quite figured out because it is so boring and … well, let’s face it, you will never be able to do anything “wow” in a language that is more or less assembler having 4k flash and 256bytes ram where only some 60 bytes are actually available.

As of late, we’ve been having some fun with zigbee modules at work, and I figured out a way to have fun with my old Robby again. Robby has a serial port, and I’m connecting one zigbee module to that one, and on the other end I’ve got a zigbee module connected to my computer via USB. On the Robby processor, I got a very simple program that simply talks a protocol sent over the zigbee connection and “implementing” the commands sent in packets. There are 3 packets that can be sent, TrackData, SensorData and RequestData. TrackData packet sent from computer sets speed of both tracks individually, RequestData is sent from computer to Robby and contains a request for a packet back. The Request can either be TrackData or SensorData. SensorData contains data from all sensors supported (currently only IR range sensors).

My first demonstration program on the computer is connected to a joystick and simply transforms the joystick input and sends it to the robot. Pushing button 0 requests sensordata and 1 trackdata.

Right now, I’m looking at porting my robot drivers into the Player/Stage project which I’ve been looking heavily at as of late, and seems damn cool. I’ve been testing some of the example robots in the Stage simulator, and if I would port my setup into that project, I should be able to use the available robot “behavioural modules” straight on my robot, and/or test my new modules in a simulator before actually running in the real world. In all honesty, I think player/stage is the best thing I’ve ever found since sliced bread, it simply opens up for sooo much fun 🙂 . Connect this with a couple of zigbee modules, you can build very simple and cheap robots that are extremely powerful. 60ÃœSD robot chassis, 5USD processor, 10USD junk, 30USD for 2 zigbee modules, add some sensors, and you’ve got as much as you can ask for. Robby for example is around 110USD, probably much lower, a pair of zigbee modules are 30USD.

And yes, I will open this once I feel that I’m closer to finished :-).