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 方法进行比较而展示了我们框架在实际问题上的可行性,通过将定位跟踪误差与没有神经网络动态的状态下的 MPC 方法相比,降低了高达82%。