前言
上一篇详细介绍了模型预测控制的算法原理,以及其在多旋翼无人机运动规划中的应用。 本篇将针对配备稀疏点云传感器(如红外、超声波、毫米波雷达、激光雷达等 )的无人机避障问题(本文中的无人机代指多旋翼无人机 )展开详细的讨论。 无人机的避障问题 在前几篇文章中,我们介绍了运动规划问题的常规解法:
- 前端采用A */RRT *等算法
- 后端轨迹优化采用MPC/JerkLimitedTrajectory/MinimumSnap/MinumumJerk 等算法
前端路径搜索算法得到的轨迹往往是不考虑研究对象的动力学特性的,然而,由于路径搜索算法在迭代的过程中考虑了障碍物约束,由此得到的轨迹是collision-free 的,即无人机若按该轨迹飞行,在不考虑控制器超调,较大的外界扰动等因素的前提下,无人机是不会撞上障碍物的。 那么本文为何又要单独开启一个章节讨论无人机的避障问题呢? 原因在于:为了得到满足无人机动力学约束的轨迹,我们针对前端路径搜索算法得到的路径进行了轨迹优化,该轨迹往往不再满足避障约束 。如下图所示,黑色为前端路径搜索得到的轨迹,红色为轨迹优化后得到的轨迹,从图中易知,当无人机处于障碍物密集的环境时,其规划轨迹较大概率不再符合避障约束(如图2中的红色与蓝色 物体均为障碍物 ,轨迹优化生成的轨迹穿越了障碍物,导致该轨迹不可执行)。于是,我们不得不重新考虑避障这个重要的问题。
针对稀疏点云传感器/组合传感器的避障规划器
对于配备稀疏点云传感器(如红外、超声波、激光雷达、毫米波雷达 等)或组合传感器(如红外组合双目视觉 等)的无人机而言,我们能够设计出一套相对较为完备的局部避障规划方案,以此达到无人机避障的目的。 以上文提到的MinimumSnap 算法为例: 当轨迹优化生成的轨迹经过障碍物时,我们可以采取在该段轨迹前后Waypoint 之间的中间位置插入一个新的Waypoint ,然后对其重新进行轨迹优化。那么,最坏的情况下,轨迹优化的结果会出现趋近于前端路径搜索得到的轨迹,尽管,该轨迹在动力学上并不是最优的,但这条轨迹一定是collision-free 的(如图3所示),这能够满足基本的作业安全要求。
- MinimumSnap/MinimumJerk
该算法是在对无人机动力学模型进行建模的基础上,将轨迹进行参数化,简化为多项式形式,进而,通过设计优化函数,同时,根据Waypoint 的状态信息进行约束条件设计,如微分约束、连续性约束等等。在一系列约束条件下进行凸优化问题的求解,从而得到最优轨迹。
- 模型预测控制(MPC)
- JerkLimitedTrajectory(JLT)
JLT 是一种典型TPBVP (两点边界值问题)的求解器,与前两种方法相比,JLT能够在有限的算力和存储资源情况下,完成轨迹优化并得到其解析解。因此,其经常用于低算力的机载芯片,如无人机飞控处理器等,具体实现方式可参考我的相关文章。
- VFF
- VFH
VFH 又称向量区间柱图法,该算法根据不同方向的行进代价,可以直观的用一个柱状图表示。横坐标为0-360度的方向,纵坐标是该角度下的行进代价。柱状图越高,表示向该方向行进的代价越高,也表明越不可能通过。 理论上,这个柱状图低的区域是便于行进的,但可能会偏离目标方向,因此,需要一个平衡函数来平衡行进代价和目标方向。最终,会选择一个相对最适宜的方向行进。于是这个函数便是整个算法的核心。
- DWA
中采样多组速度,并模拟这些速度在一定时间内的运动轨迹,再通过一个评价函数对这些轨迹打分,最优的速度被选择出来发送给无人机执行。
总结
本文针对基于稀疏点云传感器的无人机避障问题进行了阐述,同时简介了几种主流的局部避障规划器,针对配备不同传感器的无人机系统,我们总能够在其中找到一种适用的方案。 下一篇将着重针对配备单点测距传感器的无人机避障方案实现进行展开讨论,并给出可行的轨迹求解器。
作者简介: 一个被Coding耽误的无人机算法工程师,控制、导航略懂一二,热衷技术,喜欢乒乓、音乐、电影,欢迎交流。