chip updates: learning from OpenDog's R&D [updates]
Check this video out:
This video pretty much describes all the problems we are currently having. Not that I want to add load cells to this robot - that will make things more complicated and I think there might be a more clever way of determining if there's load on the feet (if needed), through reading the currents. But it describes why we have so much trouble getting this puppy to walk.
We need to shift the robot's mass so far into the triangle for it to stand, there is no way this will ever be a dynamic walk. And you know, I think I would try for the next few weeks to do this, or we can skip to what we're going to be doing soon anyways - the trot gate.
The trot gate involves picking up two legs at a time and placing them down. So the robot is balancing on any two feet at the same time. It also means that the robot can walk faster and more dynamically. We'll definitely need an IMU and robot model for this - and we are by no means there yet because to do all of that in our system we need to Jetson to be talking to the RIO - which hopefully should happen by the end of the day today. Then after that we can look at PID stability control with the IMU.
Maybe though, what we really want to do, is develop some sort of FULL-STATE-CONTROLLER that runs on the Jetson. What it would do is basically know where the feet are, where the IMU is, where the center of the robot is, where the CoG is, which legs are off the ground, and based on all of this, command legs to keep the robot stable.
So the EXCITING NEWS is that REVRobotics decided to put in a Current Output variable in their API. The reason this is amazing is because we can now figure out - really just YES or NO if the leg is LOADED or not. But higher-current means that the leg is loaded and if there's not much current going into the motor - the leg is not loaded. Basically - this would be comparing legs, and we'd need to do some testing to figure out currents and etc. The Jetson would take the TOTAL currents from the legs, look at the foot positions, and determine which legs are LOADED and which ones are not.
We're not looking at force-control yet, more just force-sensing, IS THE LEG ON THE GROUND? Current alone won't be able to tell us this (likely) but combined with other data it should be able to. Knowing this will also help us determine good standing positions. Transfer weight onto one leg until the currents become the same! Now I want to look into full-state control.
^Gonna watch a video on state-space now! It's a really good video - it won't give you a full understanding of state-space, frankly it didn't for me. But it's good in that it give you an idea of what StateSpace is. And maybe we can/can't use it. But do remember, there's nothing wrong with PID!