自主避障方法种类很多,主要有人工势场法(artificial potential field)[4-5]、矢量场矩形法(vector field histogram)[6-8]、模糊逻辑避障方法(fuzzy obstacle avoidance)[9-10]及人工神经网络法(artificial neural network)[11-12]等。但这些方法都存在各自的缺陷而不适合用于无人直升机的三维避障,如人工势场法容易产生局部极值点即存在陷阱区域,而且对于不规则障碍物计算量会很大;矢量场矩形法在凹型障碍物容易被困,其根据传感器对障碍物的不完全探测来扩大障碍物轮廓并不可取,会导致障碍物外形失真影响避障效果;模糊逻辑避障方法则会因为规则库的丰富而计算量成几何级数急剧上升,无人直升机三维自主避障需要较多的模糊规则,因此该方法难以付诸实施;人工神经网络法则收敛速度慢,对计算机的要求较高,且无法较好地表达知识和运用已有经验。
本文开展无人直升机的三维自主避障方法的研究,提出一种新的三维避障方法,该方法基于激光雷达获取的障碍物信息实现无人直升机在未知环境下的自主避障飞行,具有可规避复杂障碍物、可通过狭窄通道和不易出现摆动等优点,且对计算机要求较低,避障效果好。并提出一种新的基于三维建模软件CATIA二次开发的三维避障仿真平台,平台融合三维避障方法来模拟仿真无人直升机的真实避障飞行过程,同时用来检验并优化自主避障方法性能。
1 避障模型与方法 1.1 避障模型
1.1.1 虚拟平台简介 本文选用小型无人直升机作为避障方法研究和验证的平台,将其碰撞模型在二维平面上简化成一个半径为1.2 m的圆,三维情况下则以半径1.2 m的球体模拟。与放大障碍物轮廓的矢量场矩形法[13]不同,避障过程中,笔者采用在直升机四周增加1.3 m间隔距离来保证飞行安全。因此,该无人直升机平台直飞的三维安全区间为宽、高均5 m的直方柱区。此外,平台拟采用一台激光雷达进行飞行环境探测,最大测量距离为30 m,水平探测角度范围为180°,俯仰探测角度为60°。由于避障飞行过程中机动较小,因此避障方法主要通过控制直升机前飞速度v、垂向速度w以及航向角ψ来实现导航避障飞行。
1.1.2 探测区域划分 避障首先需要对探测区域进行划分。图 1表示的是二维探测区域划分方法:将平面探测区域划分成3个等级的半圆形扇区,分别为F(远)、M(中)和N(近);再将这3个扇区进行基于一定角度δ均匀分布的直方区的细分,δ越小则精度越高,对计算机的要求也就越高。本文以δ=5°将3个180°扇区分别划分37个直方区,分别标记为F0, F1, …, F36;M0, M1, …, M36和N0, N1, …, N36。记直升机轴线左右d=5 m的区域为直飞安全区域,为了方便论述,将无人直升机正前方直方区F18、M18和N18分别记为A区、B区和C区。
图 1 二维探测区域扇区划分 Fig. 1 Sector division of 2D detection zone |
图选项 |
三维避障区域划分方法为:基于二维避障区间划分,将A区俯仰±30°(分辨率为5°)所形成的扇形柱区域划13个直方柱区,分别标记为A0, A1, …, A12。同时将原二维F、M和N扇区均增加的±2.5 m安全飞行高度来将原有二维扇区扩展成三维探测扇形柱区,原二维扇区上所对应的直方区也增加±2.5 m的安全飞行高度来扩展成直方柱区。图 2表示的是直升机三维避障区域划分,通过分析横纵向探测扇形柱区内的障碍物分布情况进行避障。
图 2 三维探测区域扇区划分 Fig. 2 Sector division of 3D detection zone |
图选项 |
1.2 避障方法
1.2.1 二维避障 无人直升机在飞行过程中进行实时的障碍物探测,飞控对传感器的数据信息进行处理,根据障碍物所处的直方区来确定障碍物的分布情况,并根据障碍物在直方区的分布信息,进行避障路径规划。
二维避障方法的实现流程如图 3所示。简要说明如下:如果A区无障碍物(状态1),由于无人直升机自主避障是在全局导航下的局部导航避障、并不是盲目地对障碍物进行规避,则继续搜寻F扇区内最靠近目标方向的无障碍物的直方区、并调整航向指向该方向进行飞行。避障状态1是避障飞行过程中的路径跟踪状态。
图 3 二维避障流程图 Fig. 3 Flowchart of 2D obstacle avoidance |
图选项 |
如果A区有障碍物而B区无障碍物(状态2),判断F扇区内其他直方区的障碍物分布情况,向最靠近目标方向的无障碍物的直方区方向调整航向。图 4是对状态2避障方法的示意图,当|γ1|<|γ2|,则直升机将进行左转(左转角度由β1决定)。如果F扇区所有直方区均有障碍物则保持直飞。
β1,β2—轴线与障碍物两侧边沿的角度;γ0—轴线与目标夹角;γ1,γ2—理想航向与障碍物两侧边沿的角度;α—β2的余角。 图 4 状态2避障示意图 Fig. 4 Schematic diagram of obstacle avoidance for state 2 |
图选项 |
如果B区有障碍物而C区无障碍物(状态3),则判断F、M扇区(不区分优先顺序)内其他直方区的障碍物分布情况,将航向朝最靠近目标方向的无障碍物的直方区方向调整,如果F、M扇区所有直方区均有障碍物,则沿当前航向直飞。
若C区有障碍物(状态4),则判断F、M以及N扇区内其他直方区的障碍物分布情况,使直升机航向往最靠近目标方向的无障碍物的直方区方向靠近,若F、M和N扇区所有直方区均有障碍物则说明进入死胡同,直升机顺时针调整航向。
1.2.2 三维避障 直升机具有垂直飞行的能力,因此在任务条件允许的情况下,无人直升机采用三维避障通常可以更好地进行障碍物规避以缩短飞行时间、减少燃料损耗等。三维避障是在二维避障方法中结合前方高度方向上的障碍物分布信息来增加高度方向上的避障飞行。三维避障流程如图 5所示。图中:He为保证飞行安全的飞行高度。
图 5 三维避障流程图 Fig. 5 Flowchart of 3D obstacle avoidance |
图选项 |
图 5中三维高度避障飞行的具体方法为:当直升机处于状态2或状态3时,对直方柱区按照A5, …, A1, A0顺序进行障碍物情况分析,当存在无障碍物直方区,则调整垂向速度w使直升机下降飞行(w以下降为正),w大小由式(1)决定。
(1) |
式中:i为无障碍物柱区编号所对应的下标。
同样,对直方柱区A7~A12按顺序进行障碍物情况分析,若存在无障碍物柱区,则调整垂向速度w来使直升机拔高来规避障碍物。这种情况下w的表达式为
(2) |
式中:j为无障碍物柱区编号所对应的下标。
此外,直升机根据j-6和6-i中较小的进行高度避障飞行,且当j-6=6-i时,优先考虑爬升飞行。图 6表示的是障碍物高度探测方法,A12柱区无障碍物,即j=12,所以将进行拔高飞行,且由式(2)可知,w=0.58 v。
图 6 障碍物高度探测 Fig. 6 Obstacle height detection |
图选项 |
而当直升机处于状态4时则依据其实际离地高度(相对高度H)来进行高度调整,需要通过C柱区障碍物情况进行调整,本文将He设定为2.5 m。此外,三维爬升飞行在前方无障碍物时(状态1),则根据任务执行的高度需求对飞行高度进行调整。
1.3 方法优化
1.3.1 避障飞行速度控制 直升机避障飞行过程中,为了在安全的前提下提高飞行速度,则需要根据障碍物的距离进行飞行速度调整。本文根据平台正前方直方区内障碍物最近距离d来进行速度控制,速度调整的前飞加速度为
(3) |
式中:dmin为当前状态区间内的最小距离;vmax-d为当前状态区间内最近距离d到达dmin时所允许的最大速度。各状态所对应的vmax-d与dmin值如表 1所示。
表 1 各状态区间内所对应的vmax-d与dmin Table 1 vmax-d and dmin of each state intervals
状态区间 | vmax-d/ (m·s-1) | dmin/m |
状态1 | 2.0 | 30.0 |
状态2 | 1.5 | 15.0 |
状态3 | 1.0 | 5.0 |
状态4 | 0 | 2.5 |
表选项
避障飞行速度控制是针对状态1以外的状态,状态1为A区无障碍物的情况,此时直升机前飞速度v≥2.0 m/s,所允许的最大偏航角速率也较小,所以如果当前航向与目标航向角度偏差较大时,直升机会进行较大半径的盘旋转弯,必然影响避障及导航效果,因此必须对状态1下的速度限制来改善避障飞行性能。本文设定,直升机处于状态1时,当导航角度偏差|γ0|≥20°,如果目标距离S≥5 m,若|γ0|≤|γ1|且|γ0|≤|γ2|时,vmax-d=2.0 m/s,否则令vmax-d=1.0 m/s;如果S < 5 m,则令vmax-d=0;当|γ0|<20°,vmax-d=2.0 m/s。此外,当直升机检测范围内无障碍物,即F扇区内无障碍物,则此时平台处于导航状态,则根据目标距离S设定最大前飞速度值vmax,如表 2所示。
表 2 无障碍物情况下不同S对应的vmax Table 2 vmax corresponding to different S in none obstacle circumstances
S/m | S>30 | 20<S≤30 | 10<S≤20 | 1<S≤10 | S≤1 |
无障碍物情况下不同S对应的vmax/(m·s-1) | 5.0 | 3.0 | 2.0 | 1.0 | S |
表选项
增加速度控制可以协调速度与避障及转弯效果,提高避障效率,在障碍物拐角处避免大半径盘旋转弯,增加避障飞行过程中的导航效果。
1.3.2 转弯优化 直升机的动特性不稳定,而且各个控制通道中存在严重的气动耦合。所以在执行避障飞行过程中航向角速率不该过大,否则会导致直升机失稳。因此,当飞机与目标点最近且无障碍物的直方区和飞机当前航向角相差较大时,使直升机向该直方区调整一定角度,而不是直接将航向大角度转动以立刻抵消该角度偏差,所需调整的角度大小与直升机当前飞行速度有关(本文设定的不同前飞速度所对应的最大偏航角速率rmax如表 3所示)。然而小角度会导致直升机在某些障碍物前面出现左右摆动的情况。作为补偿,笔者在方法中添加了如下优化方法:即在某一个状态下(除状态1外)直升机向右(或左)调整一定角度,则产生转弯记忆,若下一周期仍处在该状态,则保持向右(或左)调整角度,该角度由当前周期探测的角度β2(或β1)决定。状态改变或延续至3步会触发记忆清空。
表 3 不同v下最大偏转角速率值 Table 3 Maximum deflection angular rate at different v
v/(m·s-1) | v<0.5 | 0.5<v≤1.0 | 1.0<v≤1.5 | v>1.5 |
rmax/((°)·s-1) | 90 | 30 | 20 | 10 |
表选项
转弯机动优化可以使无人直升机在大型障碍物或某些特殊障碍物前避免震荡摇摆,使航迹更加平滑,提高了无人直升机避障性能。
1.3.3 U型障碍物规避优化 增加速度控制后的二维避障方法可以实现较好的障碍物规避,但对于现实环境中经常出现的U型障碍物(如房间、环绕式球场等),若目标在U型障碍物后方,而且障碍物尺寸比雷达的探测范围大时,与大多避障方法(如人工势场法等)一样,该方法也会使直升机在U型障碍物里回旋而无法回避。因此笔者添加了针对该类普遍存在的特殊障碍物模式的一种规避方法来优化方法。
经过多组仿真实验发现,直升机在U型障碍物里会出现2个拐点(如图 7(a)所示),即γ0先后等于180°(-180°)和-180°(180°)时的直升机位置点。若经过第2个拐点后直升机仍朝目标方向回旋飞行则说明将进入死循环而无法飞出障碍物。因此笔者在出现第2个拐点后的每个周期给系统添加一个临时目标,该目标始终处在直升机的右前方(或左前方),因此直升机便会沿着U型障碍物内壁进行飞行,当导航角度偏差γ0第1次减小到90°(或增大至-90°)时撤销临时目标,恢复原来目标点,即完成U型障碍物的规避,如图 7(b)所示。仿真实验表明,对于各种U型障碍物,该方法均能使直升机实现良好规避。
图 7 U型障碍物规避优化前后 Fig. 7 Obstacle avoidance without and with U-shaped optimization |
图选项 |
2 三维避障仿真 传统的仿真验证均采用MATLAB、C++[7, 14-15]等编程软件进行,缺乏实时观测性导致无法清楚观察避障效果是这类仿真方法的一大缺点,此外,三维避障飞行需要考虑传感器的角度分辨率、扫描范围以及障碍物的复杂程度等,用传统的仿真方法工作量很大,而且难以达到期望效果。
为了更好地验证该无人直升机三维避障方法, 本文基于三维建模软件CATIA二次开发技术自主设计出一套三维仿真平台来实现避障方法的仿真验证。该方法可建立飞行环境中未知障碍物模型,并通过模拟激光雷达扫描探测障碍物,结合避障方法进行无人直升机在其中的自主避障飞行仿真实验。
2.1 三维仿真平台 本文采用进程外脚本(在VB程序中嵌入CATIA访问程序)通过COM接口访问CATIA内部对象来实现对CATIA的二次开发的方法,结合VB程序中避障方法代码共同构建避障仿真平台。
如图 8所示,平台有3个窗口,分别是仿真创建窗口(左上)、数据显示窗口(右)以及实时观测窗口(左下)。仿真创建窗口可以实现避障环境、传感器模型建立、任务目标等的创建以及数据保存路径选择;数据显示窗口则是对避障数据实时显示,如各个柱区障碍物标识、飞行参数等;而实时观测窗口则是对仿真环境的俯视描绘,不同于通过CATIA直接观测,实时观测窗口包括探测到的障碍物点、直升机飞行路径等,可用于真实避障实验避障效果观测。
图 8 仿真窗口 Fig. 8 Simulation windows |
图选项 |
2.1.1 避障环境三维建模 避障环境由一个或若干障碍物模型组成,而障碍物模型(为曲面轮廓)均在CATIA创成式外形设计模块中进行直接设计构建或VB程序访问构建。直接设计构建方式可以任意设计自己所需要的避障环境,确保环境为一个整体的混合形状特征即可。
在图 8的仿真平台程序中,可以通过程序窗口上的“创建仿真平台”按钮直接创建简单的障碍物,也可以通过“打开仿真平台”按钮导入预先建立好的障碍物模型,由于障碍物均可以整合成单一曲面,所以障碍物模型的复杂程度和大小对仿真运算速度影响很小,因此该仿真平台可以实现高复杂度和仿真度的避障环境仿真试验。
2.1.2 传感器扫描模拟 避障的前提在于激光雷达对障碍物扫描探测,所以三维避障仿真对传感器扫描的建模尤为重要。本文利用绘制角度偏移直线模拟激光雷达激光束,如图 9所示,测量障碍物切割所获得直线的长度L,由偏移直线的方位角α和θ来计算出障碍物点O′基于直升机机体坐标系的坐标,如图 10所示,其计算公式为
(4) |
图 9 激光探测模拟 Fig. 9 Laser detection simulation |
图选项 |
图 10 切割扫描线获取障碍物点坐标 Fig. 10 Obtain coordinates of obstacle via splitting scanning lines |
图选项 |
根据以上探测的障碍物点坐标值判断该点所属直方柱区,结合避障方法实现避障仿真。
2.2 仿真验证
2.2.1 速度控制及转弯优化仿真 图 11为增加避障飞行速度控制和转弯优化前后飞行仿真效果图。从避障仿真结果可以看出,在避障飞行速度控制和转弯优化后,由于起始点速度为零时偏航角速率允许的值较大,因此可实现短时间内较大角度转弯,增加避障效率;在障碍物拐角处避免了大半径拐弯动作,缩短转弯时间,提高转弯效率;在无障碍物直飞情况下,避免小角度摆动;在快抵达目标点时,调整飞行速度,使其能够在到达目标点时悬停。此外,速度控制及转弯优化后,不仅增加了避障可行性和合理性,而且飞行时间相对优化前缩短近30%。
图 11 增加速度控制及转弯优化前后仿真效果图 Fig. 11 Simulation before and after speed control and turning optimization |
图选项 |
2.2.2 二维复杂环境避障仿真 如图 12所示为复杂环境下的二维避障飞行仿真,图示障碍物环境中不仅有简单零散的普通障碍物,还涉及街道、狭窄通道、门型障碍物和U型障碍物等。
图 12 二维避障仿真 Fig. 12 Simulation of 2D obstacle avoidance |
图选项 |
从仿真结果的避障路径可以看出,在目标点导航情况下,自由避障效果良好,实现了在复杂的未知环境中的避障飞行,避障路径优,对各种障碍物均实现较好规避,并到达指定目标点,实现了局部导航下的避障飞行,验证了二维避障方法的可行性。
2.2.3 三维综合避障仿真 为了验证三维避障方法,本文进行了三维复杂避障环境建模(以楼房街道为建模原型)仿真实验。避障仿真实验中,设定激光扫描横向180°,精度3°;纵向俯仰扫描度数为60°,精度5°;设定任务飞行高度为3 m。三维复杂环境的避障仿真效果图如图 13所示,图 14、图 15及图 16分别是避障仿真俯视图、避障飞行前飞速度和飞行高度对比。
图 13 3D复杂环境避障仿真 Fig. 13 3D obstacle avoidance simulation in complicated environment |
图选项 |
图 14 避障仿真俯视图 Fig. 14 Vertical view of obstacle avoidance simulation |
图选项 |
图 15 前飞速度对比 Fig. 15 Forward speed contrast |
图选项 |
图 16 飞行轨迹高度对比 Fig. 16 Height contrast of flight trajectory |
图选项 |
从仿真结果可以看出,在未知的飞行环境中,直升机实现了三维避障飞行,并最终达到指定目标点。从飞行高度对比图中可以看出,直升机基本保持离地3 m的任务飞行高度。从前飞行速度图可以看出,直升机平均飞行速度为2 m/s。避障效果良好,验证了三维避障方法的合理性和可行性。
3 结?论 仿真实验表明,该方法不仅能够规避复杂障碍物,而且能识别临近障碍物间的可行通道,能很好地实现T型街道转弯、U型障碍物规避等,避障路径光滑,拐弯机动性好,可以实现无人直升机在未知的复杂环境下的避障飞行。
此外,该三维仿真平台具有实时观测性,能及时发现方法漏洞,能够对障碍物实现高仿建模,提高仿真实验的真实性和可靠性。
参考文献
[1] | SCHERER S, SINGH S, CHAMBERLAIN L, et al.Flying fast and low among obstacles[C]//2007 IEEE International Conference on Robotics and Automation.Piscataway, NJ:IEEE Press, 2007:2023-2029. |
[2] | STENTZ A.Optimal and efficient path planning for partially known environments[C]//Proceedings of the 1994 IEEE International Conference on Robotics and Automation.Piscataway, NJ:IEEE Press, 1994, 4:3310-3317. |
[3] | GEYER M, JOHNSON E.3D obstacle avoidance in adversarial environments for unmanned aerial vehicles[C]//AIAA 2006-6542 AIAA Guidance, Navigation, and Control Conference and Exhibit.Reston:AIAA, 2006:1-12. |
[4] | RUCHTI J, SENKBEIL R, CARROLL J, et al. Unmanned aerial system collision avoidance using artificial potential fields[J].Journal of Aerospace Information Systems, 2014, 11(3): 140–144.DOI:10.2514/1.I010022 |
[5] | ZHANG H, YANG L, GAO Z, et al.The dynamic pathplanning research for mobile robot based on artificial potential field[C]//2011 International Conference on Consumer Electronics Communications and Networks(CECNET).Piscataway, NJ:IEEE Press, 2011:2736-2739. |
[6] | ULRICH I, BORENSTEIN J.VFH*:Local obstacle avoidance with look-ahead verification[C]//Proceedings of the 2000 IEEE International Conference on Robotics and Automation.Piscataway, NJ:IEEE Press, 2000:2505-2511. |
[7] | 许心德, 关胜晓. 未知环境下基于VFH*的机器人避障[J].计算机仿真, 2010, 27(3): 156–160.XU X D, GUAN S X. Obstacle avoidance for robots based on VFH* method in uncertain environment[J].Computer Simulation, 2010, 27(3): 156–160.(in Chinese) |
[8] | BORENSTEIN J, KOREN Y. The vector field histogram-fast obstacle avoidance for mobile robots[J].IEEE Transactions of Robotics and Automation, 1991, 3(7): 278–288. |
[9] | QI C, OZGUNER U.Real-time navigation for autonomous vehicles:A fuzzy obstacle avoidance and goal approach algorithm[C]//Proceedings of the 2005 American Control Conference.Piscataway, NJ:IEEE Press, 2005, 3:2153-2158. |
[10] | REN L, WANG W, DU Z.A new fuzzy intelligent obstacle avoidance control strategy for wheeled mobile robot[C]//2012 IEEE International Conference on Mechatronics and Automation.Piscataway, NJ:IEEE Press, 2012:1732-1737. |
[11] | LI H, YANG S, SETO M. Neural-network-based path planning for a multirobot system with moving obstacles[J].IEEE Transactions on Systems, Man, and Cybernetics Part C (Applications and Reviews), 2009, 39(4): 410–419.DOI:10.1109/TSMCC.2009.2020789 |
[12] | WAI R. Tracking control based on neural network stagy for robot manipulator[J].Neurocomputing, 2003, 51: 425–445.DOI:10.1016/S0925-2312(02)00626-4 |
[13] | ULRICH I, BORENSTEIN J.VFH+:Reliable obstacle avoidance for fast mobile robots[C]//Proceedings of 1998 IEEE International Conference on Robotics and Automation.Piscataway, NJ:IEEE Press, 1998, 2:1572-1577. |
[14] | DONG T, LIAO X, ZHANG R, et al.Path tracking and obstacle avoidance of UAVs-Fuzzy logic approach[C]//The 14th IEEE International Conference on Fuzzy Systems.Piscataway, NJ:IEEE Press, 2005:43-48. |
[15] | 刘玲, 王耀南, 况菲, 等. 基于神经网络和遗传算法的移动机器人路径规划[J].计算机应用研究, 2007, 24(2): 264–265.LIU L, WANG Y N, KUANG F, et al. Path planning of mobile robot based on neural network and genetic algorithm[J].Application Research of Computers, 2007, 24(2): 264–265.(in Chinese) |