Let's Make Robots!

Barry, HXT900 Hexapod - Video & code added

AttachmentSize
Robomnia_1.0.zip531.29 KB

Hi LMR,

This is my latest walking robot under construction. It's an improvement over my Lollypod robot in that it uses three servos per leg rather than two. This will allow me to do inverse kinematics. I'm trying to keep the cost of this robot down as a testbed for my control program, which runs on my laptop or phone and control the robot over bluetooth.

It's made from a 4mm plastic chopping board and some 4mm plywood that was lying around. So far it has cost around £100, most of this is the servo controller and bluetooth module. The servos were $3.60 when I bought them from Hobby City, they're now down to $2.99. 

Hopefully this will prove that these servos are adequate for walking robots, as most of the small ones I've seen use Hitec HS55s which are at least 3x the price.

My ultimate aim is to built a slightly larger hexapod which can carry it's brain (Windows Mobile smartphone) and use the sensors built into the phone (eg. GPS, accelerometer, compass, light sensor) to navigate autonomously.

 

Leg parts

Coxa joints

SD21

Lots of parts

 


 

Quick update, parts mostly put together. Still need to centre all servos.

 

Update, 1st June:
I got a Pololu Maestro 24 to improve the movements a bit. The SD21 and Picaxe combo just weren't fast enough to

update all the servos regularly enough for smooth movements. Another plus is that it's much smaller, so once I got all the servo cables tidied I was able to get the battery to fit in the body with room to spare.

 


I've been trying to get more and more things automated in the code, with a view to full autonomy at some point. My main function takes a speed, steplength, stepheight, pitch, roll, yaw, degrees to turn in each step, x, y, and z body shift, number of calculations to be done per step and gait type. Hopefully the 'AI' or navigation part of the code will just need to decide a speed and direction to walk in, and all the other parameter will be calculated from those.

 


 

Another update. I have the SD21 swapped out for the Maestro which works a lot better. It's walking much faster than it did previously. The limit is now flexing in the legs. Since the femur and tibia (the wooden leg parts) are only attached to the servo horn, there is some twisting going on. To counteract that, I'm modifying the HXT900s to add a pivot point opposite to the servo horn shaft. I'm glueing M2 nut inside the case with a hole for a bolt to go through. This will allow me to add a second femur part to the legs.

 

Here's a few pics of the hexapod as it is just now. I think I'll wait until after I strengthen the legs to post a video.

 

 

 


 

Update, 31/5/11;

 

Well I've been doing a bit more work, and got the walking smoothed out quite a bit! Video attached showing IK movements and walking with a couple a different gaits. Also I have added an autonomous behaviour, which is currently just wandering around using the sonar. It doesn't work all that well; I think the way I have it mounted or its position (quite close to the ground) might be interfering a bit and giving poor ranges. I am going to add a Sharp IR sensor and some whisker switched so it'll have a range of sensors to rely on. Once I have it avoiding objects reliably, I can start working on more interesting behaviours :) . Thanks for all the comments btw!

Code now added. Most of the interesting stuff is done by the classes in the hexapod namespace. It's pretty messy, there are a few classes which aren't used at all and it could definitely be organised better, hopefully it's useful to someone.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Hi Chench, Now I'm developing a Wiimote controlled Hexapod which is inspired by yours. Here is a link to the project: http://forum.pololu.com/viewtopic.php?f=2&t=4410 I'd really like to try your IK code in my situation (Maestro + mbed), but I don't know how to do. If you know that or have some hints, please advice. I'm newbie in programming. Thank you and sorry for my bad English. Toshi

I really like the way it moves.

Hi chench :)

A very cool robot ! I like the servos you use it prove that low cost servos could make good jobs !

Good luck with your projects.

MoX

Your hexapod looks so cool!

Can I ask you some questions?

The attachment is the source code for the app running in windows mobiles cellphone to control the Mini Maestro (which controls all 18 servos)? am i right?

Where is the cellphone in the video clip? is it hidden in the "tail" of the hexapod? Or you controlled the hexapod via bluetooth (i.e. you have to have an uC receiving the commands from the cellphone to control the Mini Maestro).

I'm a newbie in LMR. ^_^ 

Hey, thanks! 

Yeah the attached code runs on the phone. The phone wasn't on/in the robot in the video, although the bot doesn't have much trouble carrying it. The phone talks to the Maestro servo controller through a bluetooth link. There is no additional microcontroller needed to control the Maestro as it takes serial commands straight from the bluetooth module :)

Sorry if I bothered you. ^_^

Is the bluetooth module seperated from the Mini Maestro (Or it's an on-board module)? I read the manual of Maestro and just saw that it can communicate by TTL, and USB. Thanks. :-)

Not at all, I learned a lot from other peoples projects so I'm happy to answer questions! :)

Yeah it's a separate board (a Bluesmirf from Sparkfun). They are really easy to use if you have used serial devices before.

Your hexapod looks so cool!

Can I ask you some questions?

The attachment is the source code for the app running in windows mobiles cellphone to control the Mini Maestro (which controls all 18 servos)? am i right?

Where is the cellphone in the video clip? is it hidden in the "tail" of the hexapod? Or you controlled the hexapod via bluetooth (i.e. you have to have an uC receiving the commands from the cellphone to control the Mini Maestro).

I'm a newbie in LMR. ^_^ 

Strapped on a wireless camera, interfaced the project with the Roborealm API and got line following and object tracking working. A good morning's work methinks!

I found this nifty project not too long ago while I had some free time to kill. I was dismayed at the timestamp of the last update but I see there was nothing to worry about :)