After I restructured my control laws to take advantage of high rate force feedback for the pronking experiments, I haven’t actually managed to port the walking gait yet. Now that I have a brand new robot, it seemed like a good time!
This gait is basically the same thing as I ran on the quad A0 in principle. The opposing feet are picked up according to a rigid schedule, and moved to a point opposite their “idle” position based on the current movement speed. Any feet that are completely placed on the ground just move with the inverse of the robot’s velocity.
What differs now is that the leg positions and forces are controlled in 3D at a high rate, 400Hz for now. At each time step, the position and velocity of all 12 joints is measured. The gait algorithm calculates a desired 3D position, velocity, and force. Feedforward force is currently only used to control the weight supporting legs. Then, those 3D parameters are transformed into a joint position, velocity, and force based on the current joint position, and the command is sent out.
While not conceptually too different, just controlling the system in 3D at a high rate gives significantly improved results for a range of walking parameters. There is still a lot left to do, but it is a good start!
(also, a limited number of the qdd100 servos are now open for sale to beta testers at mjbots.com, https://mjbots.com/products/qdd100-beta-developer-kit/)