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实现良好的控制性运行,精确的动态模型是关键。为了保持实时操作,嵌入系统中使用的动态模型仅限于简单的一原则模型,这些模型在很大程度上限制了其代表性。与这些简单模型相比,机器学习方法,特别是神经网络,被证明能够精确地模拟甚至复杂的动态效应,但其庞大的计算复杂性阻碍了与快速实时迭接环的组合。通过这项工作,我们提出了实时Neural MPC,这是一个将大型、复杂的神经网络结构有效整合成动态模型的框架。我们实验是在模拟中进行的,实际世界在高度灵活的二次模型平台上进行,展示了上述系统使用基于梯度的在线优化巨型模型的能力。与以前在在线优化MPC中实施的神经网络模型相比,我们可以利用超过4000倍的大型准神经网络结构结构模型,在50-预设控制管管管管管管管管管管管管线上,而我们通过一个不使用实际错误定位平台进一步展示我们82个实际定位的可行性。