Model Predictive Control (MPC) has become a popular framework in embedded control for high-performance autonomous systems. However, to achieve good control performance using MPC, an accurate dynamics model is key. To maintain real-time operation, the dynamics models used on embedded systems have been limited to simple first-principle models, which substantially limits their representative power. In contrast to such simple models, machine learning approaches, specifically neural networks, have been shown to accurately model even complex dynamic effects, but their large computational complexity hindered combination with fast real-time iteration loops. With this work, we present Real-time Neural MPC, a framework to efficiently integrate large, complex neural network architectures as dynamics models within a model-predictive control pipeline. Our experiments, performed in simulation and the real world onboard a highly agile quadrotor platform, demonstrate the capabilities of the described system to run learned models with, previously infeasible, large modeling capacity using gradient-based online optimization MPC. Compared to prior implementations of neural networks in online optimization MPC we can leverage models of over 4000 times larger parametric capacity in a 50Hz real-time window on an embedded platform. Further, we show the feasibility of our framework on real-world problems by reducing the positional tracking error by up to 82% when compared to state-of-the-art MPC approaches without neural network dynamics.
翻译:模型预测控制已成为高性能自主系统中嵌入式控制的热门框架。然而,要利用MPC实现优良的控制性能,精确的动力学模型至关重要。为维持实时运行,嵌入式系统所使用的动力学模型长期局限于简单的第一性原理模型,这极大限制了其表征能力。与这类简单模型不同,机器学习方法——特别是神经网络——已被证明能够精确建模乃至复杂的动力学效应,但其庞大的计算复杂度阻碍了与快速实时迭代循环的结合。本研究提出了实时神经MPC框架,该框架能高效地将大规模复杂神经网络架构作为动力学模型集成于模型预测控制流程中。我们在仿真环境及高度敏捷四旋翼平台的真实世界实验中证明,该系统能够通过基于梯度的在线优化MPC,运行以往不可行的大容量学习模型。与先前将神经网络应用于在线优化MPC的实现相比,我们能够在嵌入式平台上以50Hz实时窗口内,利用参数量超过4000倍的大容量模型。此外,通过将位置跟踪误差相较不含神经网络动力学的先进MPC方法降低高达82%,我们验证了该框架在真实问题中的可行性。