Newer devicesStarburst TurretHow to build things like thisRobotAbout Me |
Walking HexapodI've implemented a simple walking controller for my hexapod. Basically, it tries to "fly" the body in the desired 3D movement direction by moving the grounded legs in the opposite direction. If it can't move the legs any farther, it lifts as many of the limiting and near-limiting legs as it can (while retaining balance), and moves them to new footholds. It evaluates footholds by finding flat spots on a 3D voxel map of the world, but currently it has no sensors other than joint torque, so it assumes the world is a flat plane. Once I add a depth sensor, it will choose its steps to only place its feet in good positions. (In other words, the code chooses each step based on the sensor map, rather than just playing back a preprogrammed gait, so it's adaptable.) There's a lot of work to make it better: the biggest thing is to mount a Kinect on it so it can see its environment. Also, I need to make the leg motion smoother and more efficient by directly controlling joint speed to smoothly glide the leg through its path. (My current code just sends sequential position commands to make the servos move to waypoints along the leg path, which is why the leg motion is jerky and slower than it could be.) |