chip updates: standddd on two legs? [updates]
The idea here is yea, to stand on two legs. Because if we can get the robot to use PID control to stand on two legs then we can get it to walk. The reason it's that simple is if we can get it to stand on two legs (or we can start with three), then we can pick up the other legs and move them. You know, let's start with three legs.
We've programmed in a very similar PID method to what we did last time. The only difference is we're directly controlling the COMMAND to the shoulder and hinge to counter the fall of the robot instead of controlling the x and z foot positions. The response is much more dynamic this way.
So what we're going to do is try to tune this PID so that if we lift any one of the legs the robot remains standing. Let's see how this goes.
This is at KP = 25.0
We'll get back to this very shortly including actually placing the robot on the floor and testing.
ONE NOTE OF CAUTION: SOMETHING ELSE WE NOTICED IS THAT IF WE ASK THE MOTORS TO SWITCH DIRECTION TOO SUDDENLY THE SYSTEM CAN OVER CURRENT SO OUR CONTROL STRATEGY SHOULD NOT DO THAT.
So that's the Python code for the stabilizing node. We're using the simple PID python library to transfer the error in the IMU to commands to the motors. Remember we're just changing the commands being published instead of the XYZ positions which makes this slightly easier. We're using PID because we don't have a good enough state-space model (and I don't know state-space well enough at any rate).