chip updates: let's do this the smart way this time [updates]
Okay, attempt number 65 in getting Chip to do something useful (walk). This time we're going to start with the IMU and no CoG node. The CoG we were getting from the calculation we did was accurate enough for us to visualize how much swinging the legs changes the CoG, but not enough to allow the platform to walk about just knowing its own CoG so let's take a new strategy of incorporating the IMU to begin with. The IMU has one job and it is to always keep the platform level in our case, meaning the error will be with respect to the roll and pitch angles of the platform (which we can calculate and have before). The only difference will be in how we actually approach the IMU stabilization. What will we move to stabilize the platform. Last time we moved the Y, this time we will move all of X, Y, and Z to stabilize the platform.
So here's the attempt that's going to be made, a weird attempt but it might just work. In mode ONE, the robot will attempt to balance on two diagonal legs the front right and back left, and in mode TWO, the robot will attempt to balance on the other two diagonal legs. We do not know how well this will work of course. It will be based on PID control the KP will be high so any time the IMU senses a disturbance it will be corrected.
So the thing is right, what do we set? Well, we kind of need to switch axis to understand that one. We might end up using state space...
So if we rotate our coordinate frame. Just like in a self balancing robot we need to Keep the CoG on this line that's the axis of rotation of the robot frame. And that means to balance the system we need to move the feet in a direction PERPENDICULAR to that line.
The question becomes how do we move the feet in a direction perpendicular to that line and how do we get the angle of tilt? Instead of taking two axis of the IMU and trying to fuse the data into finding some angle on a third axis... here's what we will do. Why don't we take two individual PID loops one for the pitch and one for the roll.
What we will do is control the CMDS of the shoulder and hinge to achieve this. The RAW commands. And if the robot is leaning forward, we'll move the legs forward, if the robot is leaning side-to-side we'll move the legs towards where it is leaning. And we'll only move the legs the MODE says we CAN move. WE ONLY TOUCH SHOULDER AND HINGE COMMANDS THIS TIME AND IMU ONLY WORKS IN CERTAIN MODES. IN SIT STAND IT DOESN'T DO ANYTHING.
So all we did yesterday, was really get the IMU working with the platform so it's publishing the data. We're going to get to making the IMU actually stabilize the platform soon.