Inquiry on Evaluating Optimality of Solutions in MuJoCo MPC
Opened this issue · 1 comments
I am reaching out with a question regarding the evaluation of the optimality of solutions computed by the MuJoCo MPC framework. Specifically, I am interested in understanding the following:
-
Are there built-in tools or diagnostics in the framework to assess the quality or optimality of the solutions relative to the problem formulation?
-
What methodologies or metrics do you recommend for evaluating how close the solutions are to optimal, especially when computational constraints may affect accuracy?
-
Are there established practices or benchmarks for validating the performance and robustness of the MPC solutions in dynamic or contact-rich environments?
I would greatly appreciate any insights, references, or guidance you can provide on these aspects. Thank you for your time and for developing such a valuable tool for the robotics and control community.
Looking forward to your response.
The short answer is "no" 🙂
-----------------------
The longer answer is that this is near impossible, for anything but the simplest task. Optimality w.r.t what? MPC optimizes a surrogate problem, right? The finite-horizon receding horizon problem is not the infinite horizon problem. You optimize the former, assuming that this will also give you a reasonable solution for the latter, but there is no way to know this other than looking at the solution.
The only thing you can do is assess the optimality of the receding horizon problem itself. To do that, the only thing you have available is to give the planner more time to plan. If it finds a better solution then solution you had earlier definitely wasn't optimal. If it does not then maybe the solution was optimal. And this is all qualified by the fact that there could always be a different local solution in a distant basin of attraction that your planner will never ever find because it is doing local optimization...
You can watch my talk in the MIT Robotics colloquium (featured on MJPC's homepage), for an argument on why "optimality" is the wrong thing to care about anyway 🙂