chip updates: finding the CoG, manually/best place for legs [updates]
The thing is, there is a major design flaw in chip, and that's the motors, being part of the legs, are really heavy and have a lot of inertia. This is a problem because the CoG of chip changes a whole lot based on how the leg (mostly the upper leg) moves. So we're going to do the math to find the CoG, and figure out how best to place the legs/what the weight distribution is in certain locations.
WHY? BECAUSE RIGHT NOW, THERE'S WAY TOO MUCH WEIGHT ON THE BACK LEGS ALL THE TIME. That makes it impossible to learn to walk if you always need the back legs.
So we made a spreadsheet that has the following math:
There is a link to the spreadsheet is also accounts for the theta angles of the legs!
Assumptions we made:
(1) spark maxes all could be abstracted to the center of the frame as weight
(2) weight of the frame was negligible
(3) weight of and location of the lower legs were negligible
(4) the z-position of the leg was so close to zero it was negligible
(5) wires did not add any weight not did other misc hardware
All in all, this seems to be a relatively accurate assumptions when the data was tested with the finger test (balance the platform on fingers):
This will help us determine feet positions when we start running walking algorithms from the Jetson. It will also help us determine the way to take weight off of whatever foot is on the ground.
So the last thing we did, was add the foot positions and a function getTHETA that performs inverse kinematics to get the THETA1s based on the foot position. So now what this sheet does, is if we input the XY positions of the feet, we will get the COG, positions of the feet, and if the COG is within the triangle created by the positions of the feet.
We do not need to lean and do all that kind of stuff if we can program this model in. Knowing where the CoG of the robot is and the feet is will help the robot understand where to put its feet so it may be able to stand on three legs and stuff.
now some small analysis from this:
What positions do the feet need to be in to get the weight off the robot? Setting the feet to these positions while standing will allow us to lean in the correct directions to get the robot walking.
So we're going to keep trying this until we get correct positions.