Ok, it's been quite some time since progress on PEDRO the robot dog was posted, but since we've just had our first kid (welcome little baby Emily!), I think I can be forgiven...

There's been quite a bit of development behind the scenes of Pedro - but about the only visible change is much smoother walking due to improving the controlling windows software running on Microsoft Robotics Studio.

The robot has always been plagued by really bad timing jitter due to the use of windows software to generate servo movements at 50Hz; precise timing is just not a strong point of windows software in general.

I did a lot of experimenting with different methods of generating timing, and settled on the windows multimedia timer as the best method to use to generate the 50Hz servo update messages that get sent to the robot. I then had a lot of trouble getting them to work within my Robotics Studio code for some reason. I won't bore you with the details, but I got some help on the MSDN robotics forum from KuSter (follow this thread if you're interested) and ended up writing a little separate program to act as a metronome using the MM timers and sending TCP/IP timing messages through to the robotics studio service every 20ms. Eventually I'm going to change the software around quite a bit, and have the robot ask for position updates from the PC every cycle so the robot becomes the timing master rather than just a slave device. This way the AVR micro can precisely control the rate position updates are sent to the servos.

In the meantime still generating regular servo updates from the PC end, the timing is much better (still far from perfect though); check out this video -

In the video I'm using a USB cable for communications between the robot and the laptop because I still have a problem with the WiFi connection to the robot. The WiFi is provided by a Lantronix WiPort module (same as the Surveyor folks) but I've had problems with getting consistent performance from it given I'm trying to send servo updates at 50Hz across the WiFi link.

I'm also tackling the WiFi problem as well - I've just bought a replacement WiFi module from the guys at SparkFun, it's the WiFly GSX module from Roving Networks. I bought the module already mounted onto a breakout board so I could test it right away.

I also got this FTDI 3.3V USB converter from SparkFun as well so I could hook it up to the new WiFi module and start testing it right away. This I did, and it worked without any trouble at all. I tested it by hammering it with 50Hz packets (actually I used my normal Pedro robot software to be totally authentic), and it worked very well without any of the strange dropouts I got with the Lantronix WiPort module. Of course it is possible that my Lantronix module is a dud, but regardless the WiFly GSX is lower power, smaller and just as fast, so if Pedro gets a revision 2 of the controller PCB, the WiFly will get pride of place. In the mean time, I will remove the Lantronix module and mount the WiFly onto the current board as neatly as possible.

Other than the stuff I've described above, I've been tooling away on the walking algorithm in order to finally have a system that can calculate and plan the foot movements dynamically, so the robot stays stable and upright no matter what direction or rotation it is instructed to follow. I've come a long way with this, but it'll need some serious debugging and testing before its ready for prime time.


  1. Mel // November 11, 2009 at 2:41 AM  

    Looks like you are doing a GREAT Job! It reminds me of BigDog and LittleDog. Will you be posting the code and plans, etc. and let everyone enjoy the benefits of your hard work? Or, will you be selling a KIT? Just wondering. This is really nice.


  2. Robots Australia // November 12, 2009 at 9:51 AM  

    Thanks Mel!

    What I would love to do, when time permits (new father now...) is clean up the design a bit and test a bit more of the functionality - particularly the twin cameras. After that I would like to open source the lot, hardware and software, and also offer partial or full kits. That way everyone can contribute to a community effort at whatever level they would like. One way may be to set up a new web site for the project with the open source info, and seek expressions of interest for sale of kits.

  3. David J Barnes // November 30, 2009 at 1:39 PM  

    Nice work!

  4. shimniok // February 12, 2010 at 2:01 PM  

    Any robot building progress lately? :)

  5. Robots Australia // February 12, 2010 at 3:46 PM  

    oops, caught out not posting for ages...

    Been a bit of robot building progress, but in a few different directions. Working on a new open source small wheeled robot that will have some really interesting capabilities that I hope to release as a very low cost kit. Early days, but it will get announced properly when the time is right. Also been distracted a bit recently with the whole 3d printer (makerbot, reprap darwin, mendel etc) phenomenon, and am putting together a hack job with the makerbot extruder. Just too cool not to get involved...

    As far as the Pedro quadruped robot goes, I mounted the WiFly GSX module and got it going well, still need to finish off the new walking algorithms and debug them, then there is a slab of work in getting the cameras going. I am also thinking of a rev 2 board - the serial cameras in particular I have read recently are going to be obsolete soon, so I am going to need to look at alternatives there.

    Maybe your comment is just the kick I need to properly post some more progress :)

  6. Jimmy // June 10, 2011 at 6:40 PM  

    Hey hey, how is the project going? Haven't heard from you for a while.

    call Australia

  7. Country Codes // September 20, 2011 at 7:16 PM  

    Cool robot - bait like the sony dog :)

Post a Comment