I’m happy to announce Gimpy’s somewhat spastic composure in his first few videos has been much mellowed by improvements in the controls code. Below you can see Gimpy scooting himself around Building 13 of the Artisan’s Asylum. Remember that Gimpy weighs about 400 lbs, and the battery cart strapped to him adds another 200 lbs.
The improved controls are the result of two major changes:
1. Better valve characterization. The valves we’re using have a very significant deadband. Deadband is where a change in the input (the electrical current to the valve) results in no change in the output (the hydraulic flow through the valve). Our valves allow no flow from 0mA input up to a certain minimum current, roughly 400mA, which varies between valves. Knowing that cracking current on the valves is of critical importance when trying to control the valves in low-flow regimes. On Gimpy, the valves are oversized for the application and we are only using the low-flow regimes, so characterizing the cracking currents is critical.
2. Addition of feedforward terms to the control. Previously we had been using only feedback control. Very roughly: Feedback looks at the difference between the desired position and the present position and calculates a control signal based on this difference (the “error”). Feedforward control doesn’t look at the present position of the system, only the desired position, and calculates the control signal based on an idealized model.
Hardware-level controls improvements are in the works. A possible source of many of our early controls problems has been identified and a fix is in the mail, but it is subtle enough to merit a seperate blog post. For our controls-minded friends out there: it has something to do with this deeply non-intuitive graph of flow vs. working pressure for our valves:
More later, thanks for reading!