chip updates: testing the IK for reals on the platform [updates]
So today we’re going to try something fun. We’ve seen a lot of videos of range-of-motion tests for robot dogs online right, we’re going to do one of our own today. Here’s an example of a RoM test:
This is just one example with a small servo robot dog but let’s do something similar with our platform today. Let’s start by taking a look at the simulation we produced earlier and examining range of motion inside that simulation. We know this simulation needs to work on it’s pitch control and roll control but the yaw control, x, y, and z control are working well and that’s what we’re interested in testing today.
Here’s a little video of our own on how the robot has been behaving in simulation and how we hope it will behave in real-life when we run this test on the platform itself.
So the next step is to get onto the actual platform and test it out of course. We ran a short test yesterday moving the legs in only the z-direction. Now we want to try both "z" and "yaw" because those could be fun. We just want to check to ensure we set the correct angles. Too high and angle will cause injury to the platform. We may also need to remove the joint limits here.
Before we get there though, we have a problem. The front right leg's hinge joint doesn't seem to be locking like it's supposed to. We're going to have to diagnose this first because we don't seem to have any control over it. It's probably the encoder wire being ripped out again. --> it was, let's fix it.
Now let's test this IK thing on the stand first to see if the system overcurrents, we need to further current limit it, and etc.
Here's the test for the z-axis (sorry we forgot that the stand isn't exactly balanced and he'd fall right off if we didn't grab it halfway through).
And here's the yaw test which is kinda cute (ignore the music in the background)! We want to put this on the floor and try it next after we try out a standing routine. Right now the stand/sit is slightly an issue but we'll fix that this afternoon and then get to the standing kinematics tests. The platform is of course a little slow because of the motors and the weight but let's see what happens when we put it on the floor.
NOTE: that we can't use the original trajectories for stand and sit because they rely on the OLD IK methods which are no longer implemented. So we can play with the simulator or the real platform to find waypoints that work for this. Note we're still using trajectory runner for everything because it prevents sudden direction switches that cause over-currenting issue.
I'm also starting to suspect the IK model is a little "bigger" than the actual robot or that the "zero" is lower than we think because a z-command of around 0.7 now is the same as the 0.5 height we had last time in reality. But we'll figure this out later. We also may need to model the joints better in the simulator, they lock immediately which is what we want but isn't possible on the actual platform because of the amount of slop on the robot.
It works! But there's a few things we need to change. First is the fact that the "heights" and the distances seem to be very wrong on this platform compared to the last one and we want to fix that by taking a look at the driver between converting the "theta" command to actual commands. The other things:
The feet keep falling off which is really annoying and bad for grip so we're going to fix that before moving forward.
The next steps are as follows:
First, for now it might be a good idea to take the motors and the actuation controller box off of the platform and comment out that part of the code from the arduino. It's added weight we don't need right now.
Second, we want to attach the feet in a way that they won't come off or design new feet.
Third, we want to fix the inverse kinematics so that the heights aren't behaving strangely.
Figure out the sit/stand trajectory because this one isn't working. We can try this in the simulator before doing anything else.
Removing the actuation controller + the extra motors: