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(Real-time Neural MPC)框架,该框架能够在模型预测控制管道中高效集成大规模复杂神经网络架构作为动力学模型。我们在仿真环境中以及高度敏捷的四旋翼飞行器平台上开展的实机实验,验证了所述系统能够利用此前不可行的大规模建模容量的学习模型,通过基于梯度的在线优化MPC实现实时运行。相较于以往将神经网络集成至在线优化MPC的实现方案,我们能在嵌入式平台上以50Hz实时窗口频率,利用参数规模大4000倍以上的模型。此外,通过将位置跟踪误差较当前顶尖的无神经网络动力学MPC方法降低高达82%,我们证明了该框架在现实问题中的可行性。