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,能够运行具有前所未有强大建模能力的学习模型。相较于先前将神经网络应用于在线优化MPC的实现,我们在嵌入式平台上实现了以50Hz实时窗口运行的、参数容量超过4000倍量级的模型。此外,通过将位置跟踪误差较未使用神经网络动力学的先进MPC方法降低最高达82%的成果,证明了该框架在真实世界问题中的可行性。