Let's Make Robots!


Holonomic move, remote controlled with a RC transmitter.
IMG_8489.JPG90.05 KB
IMG_8488.JPG87.68 KB
IMG_8490.JPG73.53 KB

This is a hexapod robot based on OpenSCB, an open source servo controller. All code and schematics will be provided under an open source license. It's still a work in progress but a lot of internal code has been done already.

The hardware is based on a MSR-µBug, which is a tiny hexapod structure from Micromagic Systems + 18x Mystery SD90 servos which are the cheapest servo I have seen so far. When the first prototype works correctly, I may move to something more robust, probably custom-built. Fitting the SD90 servos in the MSR-µBug wasn't an easy task. The frame is not designed for these cheap servos, so I had to shorten some plastic pieces with my dremel. The SD90 are wearing out pretty quickly, already 4 of them had their gears broken, so they are probably a bit too cheap for an hexapod.


The board is running realtime translation and rotation matrix for body orientation, and a 3 DoF inverse kinematic algorithm on each leg, all of them implemented with efficient fixed point arithmetic. The board receives commands from a RC receiver, which had been hacked to get the PPM signal. Four channels are mixed together to drive the hexapod, I can alternate between several modes with a switch on the radio.

When it moves around, it uses a dynamic "tripod gait" algorithm, each tripod is translated and rotated for every step corresponding to channels mixing. In the end, the IK does the magic and place each leg at the correct position.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Great Stuff Julien,

Is this your project, could you describe it more?  Like, what motivated you to do it? What do you hope to accomplish with it?

That's actually a two people project, I promise I'll add up some details whenever I find the time.

I've been thinking about building an hexapod for some times already, but I was very disapointed by the available commercial solution for driving servos (like SSC32, pololu maestro, ...). From what I've seen they are quite closed (in term of software) and a bit expensive.

So I talked about it with a friend who is quite a genius in electronics design. And we started to design a board and software that would provide a good framework for any sort of project involving servo control. Obviously the best way to test and design the board we could think about was to build an hexapod as it involves a lot of complex control. So in the same idea that we are designing OpenSCB, we want to opensource all code and design we make for the hexapod, hence the name OpenHexapod (I guess we lack inspiration on name).

As our servo controller as a great little mcu. I hope we'll have real time inverse kinematic on all legs. I'm planning to remote control the hexapod with a RC transmitter, and mix moves (forward/backward + left/right) so it is able to move in all directions.


If your interested at some point we might collaborate.  I have been working on a open source project called MyRobotLab - which is a Java application which talks to micro-controllers and hooks into a large variety of other Services (OpenCV, Sphinx voice recognition, etc)  Some projects which have started to take shape is the Soccer Game & MoMo

I'm also interested in reverse kinematics.  There are a variety of graphics & simulator applications which have physics & reverse kinematics (Blender, Sketchup, Stage & Player) it would be interesting to have these applications provide data for your board.  Maybe MyRobotLab could be the glue?  

A Service could be constructed for your board which would allow easy control of the hexapod with abstractions such as turn, run stop, do funky dance, etc...  Likewise the hexapod could benefit from communication with all the other services. Allow for sensor processing, integration of remote data, etc, etc...

Just an idea... 

Your project looks very impressive, I guess an interface with your soft would be awesome but I still need to do a lot of progress on the hexapod! Anyway, my goal is to make a very open and flexible software, so I hope adding new interfaces shouldn't be too hard.

Your controller seems pretty good. I am not an expert but building quadbot myself now using Arduino. I just burned 3 servos last week but problem seems solved by using switch regulator for power suppply. Now the hardest task is IK programming. Even I build a hexapod before but it's all "play by the book" and have no idea how did I finish that. I looked into the phoenix programming and don't know what the hell is that all about. So, I decide to start everything from 0 by myself and ask around. For sure I will keep my eyes on your openscb :D

The phoenix looks great, but I'm afraid it's out of my league in terms of budget :(

I hope someday the openscb controller will join the components list on this site! But there are still a lot to do :D

Is this gonna be 6 legs or 8 legs? Looks pretty cool but wondering these mini servo would be able to left up the weight when you complete?

It's gonna be a 6 legs robot. That's my first hexapod so I'm not completely sure if the servos are gonna be ok.

They seem pretty strong for their price, but I'll try to keep the robot lightweight. I'll let you know!