{"ID":3083870,"CreatedAt":"2026-06-05T06:46:15.197025399Z","UpdatedAt":"2026-06-07T08:11:50.851276085Z","DeletedAt":null,"paper_url":"https://arxiv.org/abs/2606.05840","arxiv_id":"2606.05840","title":"Amortized Nonlinear Model Predictive Control","abstract":"Nonlinear Model Predictive Control requires solving a constrained nonlinear program (NLP) in real-time at every sampling instant, a computational bottleneck that limits deployment on resource-constrained hardware or at high sampling rates. We address this challenge for the broad class of input-affine nonlinear systems to show that the optimal control move can be approximated by a state-dependent quadratic program (QP) whose cost parameters depend on the current state and reference. We propose a single-network residual-corrector architecture: a state-dependent analytic baseline provides initial QP parameters, and the network learns only the corrections needed to match the full NLP solution; the QP is solved by a differentiable interior-point layer, guaranteeing constraint satisfaction for the first control action. The network is trained offline on data generated by an NLP solver using a hybrid loss that combines supervised imitation and KKT-residual penalties. We validate the approach on a three-link planar robotic arm with Cartesian end-effector tracking, demonstrating orders-of-magnitude speedup over the NLP solver while maintaining comparable tracking performance.","short_abstract":"Nonlinear Model Predictive Control requires solving a constrained nonlinear program (NLP) in real-time at every sampling instant, a computational bottleneck that limits deployment on resource-constrained hardware or at high sampling rates. We address this challenge for the broad class of input-affine nonlinear systems...","url_abs":"https://arxiv.org/abs/2606.05840","url_pdf":"https://arxiv.org/pdf/2606.05840v1","authors":"[\"Francesco Pillitteri\",\"Alberto Bemporad\"]","published":"2026-06-04T08:15:23Z","proceeding":"eess.SY","tasks":"[\"eess.SY\",\"cs.RO\"]","methods":"[]","has_code":false}
