MPC应用于无人机的运动规划
一、应用背景
随着无人机技术的不断发展,无人机的应用越来越广泛,如无人机航拍、在事故发生时提供急救或除颤器、无人机巡航、基础设施检查等。无人机的运动规划是无人机应用的重要组成部分,其在无人机给定起点和目标点后,通过控制无人机的姿态和推力,使其安全到达目标点或沿着预定路径运动的过程。在复杂环境下,无人机运动规划需要考虑到多种因素,如地形、静、动态障碍物、风等,为此需要一个高效的运动规划算法。
基于预测控制的运动规划方法(Model Predictive Control,MPC)是一种非线性控制方法,具有高精度、鲁棒性强、适应性好等优点,在无人机的运动规划中具有广泛的应用前景。MPC可以对无人机的未来运动状态进行预测,通过优化未来的控制策略,以达到更好的控制效果。此外,MPC还能够考虑无人机的动态约束和运动限制,以保证无人机在复杂环境下的安全性和稳定性。
二、相关工作
目前对于无人机运动规划的工作,主要可以分为两个模块,一是无人机的路径规划,而是针对路径规划的路线进行二次优化,来满足初始路径规划对无人机运动不友好的问题。对于路径规划,普遍的方式是基于A*算法。其是一种基于图搜索的启发式算法,通过定义代价函数有目的对节点的搜索,最后从终点反向遍历路径。A*算法对于简单环境搜索速度快,得到的路径为最优,但是其计算量大,时间消耗多,对于复杂环境会出现找不到解的情况。路径规划还有一种常见的方式是RRT(快速随机探索树)及其演变的算法。这是一种基于采样的方法,类似于树生长的过程,将起点作为根节点对环境进行随机取样,获得一个与父节点最近的采样节点,以一定步长将其连接,以此循环直到找到目标点,这个过程中包含一个障碍物检查,如果节点与父节点相连会碰到障碍物将会放弃该次采样节点。该方法能够快速得到一条可行的路径,但是得到的路径并非最优,而且会出现某段路径非常靠近障碍物的安全问题。
轨迹优化又称轨迹的二次优化,为什么要进行轨迹优化?其原因是路径规划得到的轨迹为一段段折线轨迹不适合无人机的运动,无人机转弯的时候也不能停下来,而且进行轨迹优化可以节约能源,得到的路径更加安全。常见的优化方法有Minimum Snap(最小化加加加速度)、基于Bernstein多项式轨迹优化、基于B-spline轨迹优化。这些方法通过构造成本函数(需要优化的函数)、制定约束条件、定义障碍物、轨迹的分段(通过时间缩放、空间缩放得到最优的分段)、添加安全走廊、应用相关曲线的平滑性等方式得到一条安全、平滑、动态可行的最优路径。以上的工作对于静态障碍物的环境下运动规划完全可以达到任务要求,但是对于动态障碍物的环境下这些工作往往不能有效处理,因为动态障碍物的位置和速度不断变化,需要及时跟踪并作出相应的反应。而MPC具有预测功能,它能对动态障碍物的运动进行预测,以便在避免碰撞的同时尽可能避免不必要的延迟或停滞。而且MPC能够适应不同的环境和任务,通过调整控制参数和目标函数,实现更好的适应性。此外,MPC算法具有快速响应和实时性好的特点,能够在短时间内做出决策。但是MPC计算复杂度高需要建立较为复杂的模型,需要大量的计算资源,应该给予更佳计算资源;其参数也难调整,所以在能确保良好性能的前提下,应该尽量减小其参数。
三、方法
MPC方法的基本思想是通过对未来控制时刻的状态和输入变量进行优化来得到最优的控制策略。MPC主要分为三部分,系统建模和问题建模;通过参数空间、状态空间、输入空间对未来运动进行预测;最后选择最优的控制策略。控制目标完成相应的行为。在无人机的运动规划中可具体划分为4个步骤:
①建立动态模型:MPC算法需要建立无人机的动态模型,包括位置、速度、加速度等状态变量,以及控制输入变量,如姿态角度和推力。
②设置目标函数:MPC算法需要设置目标函数,以评估无人机的运动轨迹,通常包括到达目标点的时间、能量消耗、航迹长度等。
③预测无人机的运动轨迹:根据建立的动态模型和设置的目标函数,MPC算法预测无人机的运动轨迹,并生成一组控制信号。
④执行控制信号:无人机根据MPC算法生成的控制信号执行姿态调整和推力控制,使其沿着预测的轨迹运动。
在进行运动规划时,需要注意模型的准确性,MPC方法的核心是基于系统模型进行预测和优化控制,因此系统模型的准确性对MPC控制效果至关重要。在无人机运动规划中,模型准确性涉及到无人机的动力学模型、传感器模型、环境模型等多个方面,需要进行精细的建模和参数调整,确保模型与实际场景相符合,以提高MPC控制的精度和鲁棒性。时间和计算资源的限制:MPC方法需要在每个控制周期内对系统进行预测和优化控制,因此需要对计算资源进行有效分配,以保证控制周期内的计算任务能够及时完成。同时,由于MPC方法需要进行多次迭代计算,因此也需要考虑计算时间的限制,避免超时的问题。控制器稳定性:MPC方法在对系统进行预测和优化控制时,需要考虑到系统动态特性的变化和不确定性,以保证控制器的稳定性和鲁棒性。
通过查阅资料对上诉方法在MATLAB进行仿真运行,运行了两个相关的仿真。其中一个是MPC应用到地面移动小车的运动规划、轨迹的跟踪以及对障碍物的避障。通过上述方法进行模型的建立、优化函数的构造、约束条件的建立、误差的计算。


通过仿真结果可以得到,小车能够很好的跟踪预测的轨迹,并避开路途中的障碍物,最后到达目标点完成任务。仿真结果如下图:


另外一个是基于MPC无人机轨迹跟踪的仿真,通过对无人机运动模型(位置、速度、加速度)的建模,然后对其采用时间的离散化得到一系列时间帧的位置、速度、加速度方程。接着对预测模型进行构建,以线性矩阵的形式来表达。最后构造优化目标得到平滑的轨迹以及经过预测的节点,将其投入到优化求解器,得到一个最优的控制。从仿真结果可以看出,无人机具有很好的跟踪性能,在初始的时候误差比较大,可能是由于当前位置状态、还未准确的加入MPC中,但是运行一段时间后,轨迹跟踪误差极小,表现出良好的跟踪性能。


四、展望未来
尽管MPC方法已经在无人机运动规划中取得了良好的应用效果,但是在实际应用中仍然存在一些问题和挑战。未来,可以从以下几个方面对MPC方法进行改进和创新:
(1)多模型融合:在MPC中,模型误差会对优化过程产生影响,因此可以尝试将多个模型进行融合,减小误差对优化的影响。例如,可以使用集成学习方法将多个不同的模型进行组合,提高预测的准确性。
(2)增量式MPC:传统的MPC方法需要一次性计算出整个轨迹,计算量较大,且对于实时性要求较高的应用场景可能无法满足要求。因此可以探索增量式MPC,即只计算下一个时刻的决策,然后根据实际情况进行调整,可以有效提高实时性。
(3)深度学习与MPC的结合:深度学习在图像识别、语音识别等领域取得了重大进展,可以尝试将深度学习与MPC结合,通过深度学习学习环境中的规律性,提高MPC的效率和准确性。
总得来说,MPC作为一种优秀的无人机运动规划算法,有着广泛的应用前景和研究价值。