Untitled Hexapod
Six-Legged Walking Robot (2024)
I've wanted to build a walking robot for an extremely long time. I've tried in the past (2019) but never managed to finish it. However, in spring 2024, I took my university's Intro to Robotics class, where I learned the right way to program inverse kinematics. Between that and hundred of hours of video game programming experience, I figured I could finally check this project off the list.
Mechanical Design
Mechanically, the frame would be assembled from 3D printed frame components. These frame components would be attached to the servo horns on one side, with the other side supported by a bearing and shoulder screw (5mm dia). I've seen other small walking robots skip this step, but I wanted to give these servos the best shot at accuracy. Speaking of servos, I'm designing the whole robot around the ubiquitous 9g micro servo. Typically translucent blue, these servos cost only a couple dollars each, and weigh about 9 grams. They aren't especially powerful, but there are higher torque variants that usually come at the cost of weight. Each leg would be 3 Degrees of Freedom, meaning that it has three powered axes that define the movement of the foot. While I could have use 2 degrees of freedom, I wanted to play with more articulation.
Electrical Design
The electrical setup is based around a Pimoroni Servo 2040. This is functionally identical to a Raspberry Pi Pico, except with all the hardware for driving 18 servos onboard. This meant that it would have exactly the number of servo slots necessary to drive all six legs. This means that I won't be able to add any additional servos later, but there are solutions to that if need be. I haven't selected a battery yet, but it will likely be a 2S lithium-Polymer Battery. For early tests I plan on reading the PWM output from a hobby radio transmitter, then selecting a gait and direction based on these signals.
Software Design
The software is yet to be written. I will be writing it in Python, as that is the most supported language on the Servo 2040. I'll need several components, including:
- an inverse kinematics function
- some sort of gait handling function
- Gait storage solution
- PWM reader
- 9g micro servo
- 5mm shoulder bolts
- 5mm bearings
- Pimoroni Servo 2040