洪 增,张玉军,汤华军
(解放军69240部队,新疆 乌鲁木齐 830011)
目前,中国无人机的发展非常迅猛,在民用无人机领域,截止2017年,中国无人机占据全球无人机约70%的市场份额;军用领域,中国的无人机正在逐步缩小与美军的差距。随着我国北斗通信导航系统在无人机领域的使用越来越广泛,在未来,将有越来越多的无人机将担负全球性的任务,这些任务的特点是航程远、航时长、飞行环境复杂、各种不确定因素多。因此,对无人机航迹实时规划研究具有非常重要的现实意义。
关于路径规划算法有很多种,比如随机路标图(PRM)[1]算法,这种算法能够挑出代价最低的路径,还有基于势场函数[2]的路径规划方法和功能导航函数[3-4]以及模型预测控制技术[5],但是以上方法涉及大量的计算,对计算力有着较高的要求。
本文提出一种基于航迹修正的自适应航迹规划算法,这种算法发挥了航迹修正良好的曲线航迹跟踪特性,能够实现对障碍物的规避(如图1所示),且实现简单,对计算力要求不高。
从图2看,在无人机不得不引导到现有航迹的地方。点O为无人机现在所处的位置,可以画一个圆弧与现有航迹相交,交点为参考点P,圆弧OP的半径为R,L1为连接无人机中心O与参考点P的线段。无人机速度矢量与线段L1之间的夹角为η,侧向加速度al使得无人机沿着圆弧到达参考点P,al由下式表示:
图1 基于北斗通信系统的规避模型
(1)
图2 航迹修正示意图
(2)
由表达式(2)可以看出,加速度的方向取决于η角方向的变化。举个例子,如果参考点在无人机速度矢量方向的右边,那么无人机向右边加速,并且,最终无人机往往会根据L1的方向来调整速度矢量。如果无人机距离期望的航迹很远,L1的方向将与期望的航迹之间有一个很大的夹角,航迹修正算法在期望的航迹上选择一个参考点,并使无人机旋转其速度方向,以大角度飞向期望的航迹;如果飞机接近期望的航迹,L1的方向将与期望的航迹之间夹角很小,该航迹修正算法在期望航迹选择一个参考点,使飞机旋转其速度方向,以小角度飞向期望的航迹。
从沿圆形航迹跟踪来讲,这种控制方法非常有效,尤其特别适合无人机飞圆形航迹。根据al=sinη×2V2/L1,实际上,速度矢量V已经考虑了由于风的影响而导致速度发生变化的情况,并且能够根据这种情况自适应调整。另外L1的选择也很重要。如图3所示,对于小角度η,制导公式可以近似地用航迹误差y表示如下:
(3)
图3 L1的选择
式(3)表明航迹修正算法相当于一个脉冲多普勒(PD)控制器,控制器控制着无人机的速度与距离L1之间的比值。这个比值是一个重要的参数,它表现为控制器的增益。L1越小,控制器增益越大,反之亦然。但是控制增益不是无限的,它被无人机倾斜的滚转角内环控制带宽(2~3 rad/s)所限制。理想情况下,假如飞行速度大约为25 m/s,L1的距离选择为150 m。当然了,因为它没有任何积分控制环节,所以就要求给航迹修正提供精确的侧向加速度测量和无偏的倾斜角估计,这也是它的不足之处。
无人机在起飞之前,规划好的路径就已经存储在自动驾驶仪系统中,路径规划系统通过一个处于无人机前方且长度为RLA的“虚拟的检测线”来确定一个突然出现的障碍物是否会干扰已经规划好的路径。如图4所示,RLA的长度定义为所谓的“提前量”。如果探测线的任何一部分穿过了一个障碍物,则立即启动规避行为。
图4 接近障碍物时,提前量RLA的定义
因为一个复杂形状的障碍物可以由多种不同的圆形障碍物近似来表示,结合侧向航迹修正算法,本文将障碍物的形状建模为一个圆形,并且不考虑垂直限制。
RLA选取一个最有价值的值是非常重要的,它将决定无人机是否还有充足的时间来远离障碍物或者而不用冒险穿越它。那么在什么情况下选取RLA值是最合适的呢?本文认为要符合2个条件:一是无人机将要飞行的弧形航迹恰好处在障碍物的边缘;二是无人机开始做出规避行为的时机要尽可能晚一些。RLA的大小取决于3个方面的因素,分别是圆形障碍物的半径Rc、无人机的地速V、无人机最大的倾斜角φmax。根据这些参数,假如无人机想要飞行转弯很协调,其最小的转弯半径R由下面公式决定:
(4)
在障碍物半径无限大的情况下,无人机将不得不做一个90°的转弯,在这种情况下RLAmin=Rmin。对于任何一个半径无限大的障碍物来说,无人机不得不转弯至少90°才能避开它。
为了得到最终的RLA值,必须对无人机开始转弯直到最大的倾斜角φmax所需的延迟做出补偿。假定无人机开始转弯时仍然保持水平飞行,一旦转到最大倾斜角φmax时,转弯半径最小,所花的时间为τroll,最终的提前量RLA为:
RLA=RLA,min+V·τroll
(5)
正如前面所提到的,航迹修正算法在无人机的前面释放出一个探测线。首先,要计算出从无人机到障碍物中心的距离Dc:
Dc≤Rc+RLA
(6)
如果满足了式(6)的条件,那么意味着无人机处于障碍物范围之内。在这种情况下,算法程序就要进一步检查探测线是否接触到障碍物。
根据无人机的飞行方向,有2种可能的情况。如图4和图5所示,已知h、RLA、α,y和a通过下面公式很容易计算出来:
y=hsinα
(7)
a=hcosα
(8)
对于式(7),需要考虑2种情况,如图5和图6所示。
(1) 如图5所示,如果a≤RLA,当a边与障碍物相切时,将发生极限的情况。因此,y的值将和Rc值相等。如果y≤Rc,则障碍物与探测线接触。
图5 障碍物探测算法框图(接触)
图6 障碍物探测算法框图(未接触)
当且仅当α≤90°时,检查情况1或者情况2,如果α≥90°,那么障碍物则位于无人机的后方,此时无人机是安全的,无需做规避动作。
如图7所示,制导系统将引导无人机到达P点,P点位于半径为R1的圆上且与无人机的距离为L1,β为线段L1与Dc之间的夹角,为了确保产生的圆形路径适合无人机飞行并且能够绕过障碍物,R1的取值为:R1=max(Rmin,Rc+Rsafe),其中Rsafe表示安全值。参考点P的坐标计算如下:
图7 规避模型图
(1) 如果无人机从右边方向规避障碍物,则ψavoid=φc+β。
(2) 如果无人机从左边方向规避障碍物,则ψavoid=φc-β。
最后,P点的坐标表示如下:
(9)
(10)
图7中,无人机规避障碍物按以下步骤进行:
(1) 规避边的选择,P1的确定:制导算法选择朝左走还是朝右走是由无人机速度矢量方向决定的。如果无人机的速度矢量指向障碍物的右边,那么无人机将从右侧绕过障碍物。如果无人机的速度矢量指向障碍物的左边,那么无人机将从左侧绕过障碍物。圆形的障碍物使得制导算法很容易做出这样的判断。
(2) 向参考路径过渡,P2的确定:一旦无人机开始做规避动作时,它会一直转弯来改变航向直到无人机的速度矢量方向与圆形障碍物的边缘相切,或者指向障碍物的外部。从T2点开始,制导算法将引导无人机沿着参考路径飞行。
(3)过渡到正常的路径点,P4的确定:一旦无人机沿着参考路径做规避飞行的时候,它会一直飞直到它的瞄准线指向下一个路径点P3,而这个路径点P3在障碍物范围之内且被障碍物妨碍。于是飞向P4点处,制导系统从规避模型转换为引导无人机飞行到下一个路径点P4,一旦到达了P4点,那么制导系统将恢复常态。在进行规避飞行过程中,制导系统分析路径点列表,在规避飞行之前,检查P3是否仍然是可到达的点。若该点是可到达的,必须满足障碍物的中心到P3点的距离DcT>R1;如果P3点不可达,制导系统就选择路径点列表中下一个路径点进行检查,以此类推。简单判断P4点出现的准则是监测角度χ,它是无人机中心与下一个可达路径点之间的连线与无人机中心点与障碍物之间连线的夹角。只要|χ|>π/2,就有一个清晰的直线路径指向P4。
根据航迹修正算法并结合障碍物探测与规避,提出自适应航迹规划模型,这种模型可以引导无人机绕过任何障碍物,而且这种规避方法简单实用,能够引导无人机到达距离障碍物边缘较近的路径点。
无人机自适应航迹规划算法流程如图8所示,其主要的步骤为:
(1) 无人机飞行参数初始化配置,航迹规划算法进行初始路径装载。
(2) 无人机出现故障或者初始路径中出现障碍物,无人机感知系统启动并传递参数,航迹规划算法根据变化自动重新规划路径,并选择尽可能晚的时机开始做规避动作,这种时机的把握不但可以将不可到达的路径点的数目减少到最小,而且无人机一旦安全地绕过障碍物之后就立刻飞向下一个路径点,通过这种方式使得返回最初路径所需要的飞行距离和时间最小。
(3) 规避动作完成,回到初始路径,直到遇到下一个障碍物。
算法流程如图8所示。
图8 算法流程
在自适应航迹规划算法下,无人机的实际轨迹如图9所示。这种规避模型的关键就是在线产生一个绕着障碍物的圆弧作为参考路径,如图9中虚线所示。这样的一个路径是无人机规避障碍物所飞行的最短路径。而且,在文章的开始就看到航迹修正算法在跟踪这样一条路径时是非常有效的。选择圆形路径作为参考路径使得规避路径模型很容易地由障碍物的大小得到。实际上,它由障碍物的中心和一个路径的半径R1来定义,R1很简单,由障碍物半径加上一个安全的距离。无人机沿着这条路径飞,直到它能够飞向下一个路径点,而这个路径点和无人机在一条直线上不和障碍物接触。
图9 规避路径模型
一旦规避机动完成了,探测线的端点将位于障碍物的外部。如果下一个路径点仍然被障碍物所阻挡,那么制导系统引导无人机围绕着障碍物飞行,直到有一条清晰的直视路径通向下一个路径点。
本文设计了2种情况下的仿真实例,以演示和验证上述算法的正确性和可操作性,其仿真结果分析如下:
当无人机最大倾斜角为30°时,仿真结果如图10所示,开始时无人机沿着正常路径由南向北飞,正常路径被一障碍物阻挡。从图中可以看到在无人机绕过障碍物回到正常路径之前,无人机偏离了正常路径朝东飞。
图10 倾斜角为30°情况
当无人机最大倾斜角为15°时,仿真结果如图11所示。图11中,制导系统根据倾斜角变化的信息以及φmax和τroll更新后的参数重新设置RLA的值,倾斜角越小,RLA越大。因此,飞机选择开始规避动作的时机要比前面的情况早。不管飞机倾斜角变大变小,无人机都会规避障碍物并以一个大半径绕着障碍物作孤线飞行。在这种情况下,飞机要想碰到障碍物并绕着它飞行就要比前面2种情况飞更远距离才行。
由上述结果可知,在2种情况下,初始航迹出现障碍物时,无人机均能够自己重新完成航线规划,并选择合适的时机来规避障碍物,说明算法是正确的。
图11 倾斜角为15°的情况情况
文章提出一种新的制导算法,这种算法结构非常简单,并且能够引导飞机规避障碍物;更重要的是,该算法在无人机最大倾斜角发生变化的情况下,能够进行自适应调整,而且不需要复杂的逻辑运算,计算效率高。