Nonlinear dynamical effects are crucial to the operation of many agile robotic systems. Koopman-based model learning methods can capture these nonlinear dynamical system effects in higher dimensional lifted bilinear models that are amenable to optimal control. However, standard methods that lift the system state using a fixed function dictionary before model learning result in high dimensional models that are intractable for real time control. This paper presents a novel method that jointly learns a function dictionary and lifted bilinear model purely from data by incorporating the Koopman model in a neural network architecture. Nonlinear MPC design utilizing the learned model can be performed readily. We experimentally realized this method on a multirotor drone for agile trajectory tracking at low altitudes where the aerodynamic ground effect influences the system's behavior. Experimental results demonstrate that the learning-based controller achieves similar performance as a nonlinear MPC based on a nominal dynamics model in medium altitude. However, our learning-based system can reliably track trajectories in near-ground flight regimes while the nominal controller crashes due to unmodeled dynamical effects that are captured by our method.
翻译:非线性动态效应对于许多灵活机器人系统的运作至关重要。 Koopman 的模型学习方法可以捕捉高维升起双线型模型中的非线性动态系统效应,这些模型可以进行最佳控制。然而,在模型学习之前使用固定功能字典提升系统状态的标准方法可以产生高维模型,对于实时控制来说是难于操作的。本文展示了一种新型方法,即通过将Koopman 模型纳入神经网络结构,完全从数据中学习功能词典和提升双线性模型。使用所学模型的非线性 MPC 设计可以随时进行。我们实验后在高空的多轨轨迹跟踪多轨道无人驾驶飞机上发现了这种方法,该方法对系统的行为产生影响。实验结果表明,基于学习的控制器根据中高度的标称动态模型,取得了类似非线性MPC的性能。然而,我们基于学习的系统可以可靠地跟踪近地飞行系统中的轨迹,而名义控制器碰撞则由于我们的方法所捕捉到的未建模的动态效应而得到。