I always wanted to build a walking robot. A few years ago i did experiment with artificial muscles driven by pressurized air. This is an interesting approach, but making and controlling the air flow requires big and heavy equipmet. That time I also had not the necessary tools to build the mechanics.
After having bought a metal mill and a few years later I give it another try. This time I am using electrical servos. The goal is to build a 6-leged robot capable to climb the stairs in our house.
From my understanding I need at least 3DOF legs and a tilt mechanism for the legs to stay perpendicular to the ground while walking up or down. I also want to implement touch down sensors for rough terrain, and identifying the steps of the stairs.
The plan is:
- start with a 3DOF leg to test servo communication, touch down handling and inverse kinematic.
- build a segment with two legs and the tilt mechanics.
- build the platform with the six legs and the basic movement features.
- think about orientation and path planning.
Servos: I am using Dynamixel servos. At the moment I am testing AX-12A and MX-28 servos. At least the Fremur joint is a MX-28 because of the required torque.
Controller: For the tests I use an Arduino Mega 2560. I am planning that each segment gets a custom made board with an AVR ATmega2560 of it’s own. There will be an additional controller for the overall gait coordination.
Touch-Down Sensor: A single force sensor connected to the leg tip. It will be mounted inside the tibia tube.
Software: Handwoven C code.
The Walker will have six legs. Each leg has 3 degrees of freedom (DOF) made by 3 joints: coxa, femur and tibia. The naming resembles the joints of mammal legs but are not exactly the same. There is an additional DOF for each pair of legs: the tilt of the leg assembly.
To climb stairs the clearance between body and floor has to be at least 230 mm. This takes into account a 45° grade and tilted feet perpendicular to the floor. That results in a length of 107.3 mm for the Femur and 199.7 mm for the tibia. The coxa should be as short as possible, it’s length depends on the geometry of the servos.
- Double vs Integer
- How to Spend Rainy Holidays
- It Moves!
- Stripping Arduino from the Arduino
- Walker Test Leg
- Milling Joints