Dear friends, since the release of this code base we got feedback on various aspects. A revised MPC controller is developed at CMU REX Lab Github. Please try the revised version. I will continue the development there.
in convex MPC, an astonishing fact is - the actual value of inertia does not matter because when you tune the Q and R matrices, they implicitly account for the scale of the inertia.
the short horizon is due to a rudimentary usage of osqp. I initialize osqp solver within each control loop so it causes additional memory allocations which are not necessary. In our new implementation (new code), the problem is solved by a better osqp initialization logic. So we can use 0.05s as di and solve for 30 steps within 5ms.
I tried using the predicted contact sequence in the new implementation as well. No visble difference. The robot can run faster indeed in simulation. But I do not think about how to quantify how much improvement this can bring too the system.
I'm curious about how you made it possible to solve 30 steps within 5ms (what kind of hardware are you using?). But that repo is currently not available. If it's still open-source, can you provide a new link?
Hi, Shuo Yang,
Thank you so much for this awesome repo!
I noticed both in README and in another issue (https://github.com/ShuoYangRobotics/A1-QP-MPC-Controller/issues/22) you mentioned a newer implementation
I'm curious about how you made it possible to solve 30 steps within 5ms (what kind of hardware are you using?). But that repo is currently not available. If it's still open-source, can you provide a new link?
Thanks again!