chip updates: next steps, but not actually steps [updates]
Yes so, we're going to list out what we're going to do next for chip now that standing and sitting is very acceptable. For development (for now), I'm going to write a new launch file that doesn't launch the camera node because that takes up a lot of energy, but that's separate.
That's just so we can stop bouncing nonsense packets around the net when we aren't using webviz and the camera and etc. For now we aren't relying on those things we're doing the basics.
No the next step after standing and sitting is this: transitions. And what I mean by that is, it says, what if the feet are here, and I want them to be here? Like what if I've just stood up, and I want to move just one of the legs to a different position without sliding it along the ground? Like what if, I want one foot of the robot to perform the cha cha or something.
So what would the steps to this be (not the dance steps)? But the steps to basically move a single foot.
the following: (1) take weight off the foot in question, by reading where the other feet are, doing CoG motion analysis to figure out where the CoG is, and moving the CoG within the frame of the other feet. (1a) we'd also need to ensure that moving the un-weighted leg around will not move the CoG outside the frame of support. (2) then we'd move the leg to the location we want to.
Now here's a better idea to make this thing a little more dynamic. What we do is take the weight off the leg very slightly, so we don't need to wait for the whole robot frame to traverse to a location where we can take the weight of fully and move the leg wherever, that's not efficient.
Take the weight off very slightly, and then as we move the leg, we move the other three as well a proportional distance to keep the CoG in the frame. This is how we use CoG motion analysis to make the dog walk without an IMU without a lot of things! So pictorially, it's like this:
Basically, what we'd do is figure out how much of a "Theta 1" the upper leg needs, and then we feed it into the CMA model so CMA(theta1-theta1_0), and we get the expected motion of the CoG, and we move all the other legs in the x-direction a distance we expect the CoG to move, so we know that it's always supported.
Since we made the assumption the CoG doesn't move in the z-direction. Any time the legs move in the z-direction we can assume that the CoG stays the same so "b" in the above diagram = 0 for small values of z-movement. So we're going to try this out.