chip updates: trying to find a walking algorithm [updates]
So today we're going to likely spend most of the day, not in VS Code. In fact, we'll spend our time in excel trying to get a walking sequence. So here's the thing, leaning the robot left and right or front and back isn't going to do anything for us and here's why.
For a robot with legs to be able to stand, the theory is as follow. Any robot with four legs on its perimeter can stand because the CoG (center of gravity) is fully supported, in that the CoG is fully-contained inside the points that support it.
The point is, that the center of gravity must be within the polygon connecting the supporting points (the feet). So now that we have a model of where the CoG is based on our excel sheet and based on where we place the feet, we can tell if the robot will fall or not.
This is an example in which the robot will fall. The CoG is outside the polygon (or triangle) made by the last foot being lifted. The robot will then fall over.
But there's another caveat, when we pick up and move the foot forward, the CoG will change as well. So we need to just be sure that any set of foot positions we choose will do that.
step one: being able to lift the front feet
So we're going to start by trying to figure out how to life the front feet up. We played by plugging numbers into this diagram and this is what we got.
Notice, at foot positions indicated in the diagram above, lifting the front feet would (assuming the model is accurate), definitely allow the robot to stand.
We also tried taking the front left leg, moving it up and then forward and here is that result:
So the robot would still be able to stand as we move the foot forward. There is a problem here though.
What we really want to find is a set of feet positions which will make it possible for the robot to pick up any of its feet. To me, this is one of the ideal standing positions for the robot, a position where it can lift any of its four feet because we don't know what maneuver we will ask it to perform. We cannot say for certain, we will ask it to lift the FLL first, so why only make it available for it to do that.
So let's look at these foot positions, (-0.1, 0.45) in the front and (-0.05, 0.5) in the back.
So even at first glance if it looks like we can pick up all four legs, we can't, we can only pick up the front two. So it seems there are many configurations where we can only pick up the front legs, I want to find one where we even can pick up the back legs.
Okay so given all of this, we're using this to come up with a walking trajectory to move the robot forward one step. Stand by. Trajectory will be posted.
experimental walking trajectory
Here is the experimental waking trajectory we came up with using the excel sheet.
So now that we've created it, it's time to go program it into the robot! We'll write a function called STEP which steps the robot once.