Thanks to 3D printing and cheap hobby servos, building you’re own small walking robot is not particularly difficult, but getting them to walk smoothly can be an entirely different story. Knowing this from experience, [Max.K] tackled the software side first by creating a virtual simulation of his ZeroBug hexapod, before building it.
Learning from his previous experience building a quadruped, ZeroBug started life in Processing as a simple stick figure, which gradually increased in complexity as [Max.K] figured out how to make it walk properly. He first developed the required movement sequence for the tip of each leg, and then added joints and calculated the actuator movements using reverse kinematics. Using the results of the simulations, he designed the mechanics and pulled it back into the simulation for final validation.
Each leg uses three micro servos which are controlled by an STM32F103 on a custom PCB, which handles all the motion calculations. It receives commands over UART from a python script running on a Raspberry Pi Zero. This allows for user control over a web interface using WiFi, or from a gamepad using a Bluetooth connection. [Max.K] also added a pincer to the front to allow it to interact with its environment. Video after the break.
The final product moves a lot smoother than most other servo-driven hexapods we’ve seen, and the entire project is well documented. The electronics and software are available on GitHub and the mechanics on Thingiverse.
9 thoughts on “ZeroBug: From Simulation To Smooth Walking”
This is really neat and a little creepy at the same time. It is interesting how the simulation was used to figure out the walking routines. Just so it doesn’t move fast or replicate and were all good.
I had no idea that Processing was capable of such things. Very cool!
That is a very smooth motion.
I’ve not built one of the servo type walking anything before, as the servo’s always seem the weak link, not really being able to take much load. I often wondered how much of the juddering was the walker pushing the servo’s holding power limits as the leverage changed and how much was the gait.
Actually designed a pneumatic and linear actuator hybrid design of similar scale that would probably be in my budget to build if I ever get the chance as it seemed better than this servo motor style – certainly much heavier than these servo styles, but should have been able to lift way more weight than itself and move quickly enough – as I wanted a useful walking robot platform, so climbing stairs is a must – and that needs more travel and lots of power in the rear and front legs as they end up supporting and moving a great deal of the weight.
This looks like a solid design on keeping the servo load small, which helps, but most of these walkers seem similar and don’t have such smooth motion, so seems I have my answer, its more in the quality of the gait than the motors limits (though these might also be higher power/quality servo too I suppose)…
These are 4€ hobby servos, so not exactly high-quality. With walking robots like this one, the gait software really makes a big difference.
Indeed, I’m impressed just how much better it is still on the budget end servo – I knew the normal walker state of play could be better, even on those motors with better motion control but didn’t expect quite such an impressive upgrade – if I had I’d probably have built one with servo myself (even though I know it would take much more pricey powerful servos to have a hope of doing with it what I want). Really shows how much the motors must be fighting each other on top of it just being a more primitive gait.
That’s just darn impressive.
The fine motor control make it look almost like a real creature.
Hey Peg, who’s the boss now??
1. Make a second bot.
2. Fight!, Fight!, Fight!
Please be kind and respectful to help make the comments section excellent. (Comment Policy)