Accelerating the Solution of Nonlinear MPC for Robotic Systems by Reducing the Function Evaluation Complexity
摘要
NonlinearNonlinear model predictive control (NMPC) hinges on the solutionSolution of an optimalOptimal control problem (OCP). This is typically achieved by two computationally demanding processes: evaluating complex functions and their derivatives, and updating the solution iterate—usually by solving systems of linearLinear equations or optimization subproblems. This chapter investigates the reduction of the computational complexityComputational complexity of NMPC for roboticRobotic systems by focusing on the function evaluationEvaluation step. The three major strategies we will delve into include (i) common subexpression elimination in expression graphs representing functions, (ii) efficientEfficient analyticalAnalytical derivatives of robot dynamicsDynamic and kinematics, and (iii) parallel evaluationEvaluation of complex functions in the objective and constraintsConstraint of the OCP. We show that such techniques significantly decrease the total solutionSolution time of the OCP by 76.8 and \(41.6\%\) when using first- and second-order optimization solversSolver, respectively, during model-in-the-loop simulations of a path-following taskTask with a 7-DoF robotRobotic manipulator. The presented advances help bridge the gap between advanced optimization-based controllersController and complex robotic applications, and are consolidated within the open-source optimization frameworkFramework CasADi, for which details of how to use them are presented.