一类新算法研究智能飞行器航迹规划问题

一类新算法研究智能飞行器航迹规划问题

人工智能技术与咨询 2022-03-11 18:29

来源:《 应用数学进展》 ,作者傅维晨等

关键词: 航迹规划;多约束;改进的A*算法;时空复杂度;

摘要: 智能飞行器航迹规划问题是一个大范围多目标多约束的三维规划问题,这类问题可以归属于路径规划问题,在满足相应条件的同时要求在较短的时间内以较短的路程到达目的地。本文把航迹的约束条件转化到实际问题中,通过对A*算法的改进,建立起符合飞行器航迹规划的两种算法模型。通过两种方案算法的比较,在两种情况下,算法程序实现得到航迹规划结果表和路径图。算法的有效性和复杂度分析结果表明,给出的求解算法是十分有效的。

1. 引言

智能飞行器飞行操作的多约束环境下的航迹快速规划优化技术,是研究智能飞行器控制的一个重要问题。但是由于系统结构的设置产生的限制,这类飞行器的定位系统,对自身进行精准定位无法进行,定位误差如果累计到一定程度,就可能导致整体任务失败。所以在飞行过程中对定位误差进行校正,是智能飞行器航迹规划中一项重要步骤 [1]。本文研究智能飞行器在系统定位精度限制下的航迹快速规划问题,即如何在轨迹规划的过程中,将定位误差限制在可接受范围内,保证任务的顺利完成。

假定飞行器的出发点为A点,目的地为B点。其航迹约束如下:

(1) 飞行器在空间飞行过程中需要实时定位,其定位误差包括垂直误差和水平误差。飞行器每飞行1m,垂直误差和水平误差将各增加 δδ 个专用单位,,以下简称单位。到达终点时垂直误差和水平误差均应小于个单位,并且为简化问题,假设当垂直误差和水平误差均小于 θθ 个单位时,飞行器仍能够按照规划路径飞行。

(2) 飞行器在飞行过程中需要对定位误差进行校正。飞行区域中存在一些安全位置(称之为校正点)可用于误差校正,当飞行器到达校正点即能够根据该位置的误差校正类型进行误差校正。校正垂直和水平误差的位置可根据地形在航迹规划前确定。可校正的飞行区域分布位置依赖于地形,无统一规律。若垂直误差、水平误差都能得到及时校正,则飞行器可以按照预定航线飞行,通过若干个校正点进行误差校正后最终到达目的地。

(3) 在出发地A点,飞行器的垂直和水平误差均为0。

(4) 飞行器在垂直误差校正点进行垂直误差校正后,其垂直误差将变为0,水平误差保持不变。

(5) 飞行器在水平误差校正点进行水平误差校正后,其水平误差将变为0,垂直误差保持不变。

(6) 当飞行器的垂直误差不大于 α1α1 个单位,水平误差不大于 α2α2 个单位时才能进行垂直误差校正。

(7) 当飞行器的垂直误差不大于 β1β1 个单位,水平误差不大于 β2β2 个单位时才能进行水平误差校正。

(8) 飞行器在转弯时受到结构和控制系统的限制,无法完成即时转弯(飞行器前进方向无法突然改变),假设飞行器的最小转弯半径为200 m。

围绕在上述轨迹约束条件下,本文为智能飞行器建立航迹规划一般模型和算法。本文针对参考文献 [1] 中的数据,规划分别满足约束条件(1)~(7)和(1)~(8)时,飞行器运行的最优航迹。另外,飞行器的飞行环境可能随时间动态变化,虽然校正点在飞行前已经确定,但飞行器在部分校正点进行误差校正时存在无法达到理想校正的情况(即将某个误差精确校正为0),例如天气等不可控因素导致飞行器到达校正点也无法进行理想的误差校正。若假设飞行器在部分校正点(文献 [1] 中附件1和附件2中F列标记为“1”的数据)能够成功将某个误差校正为0的概率是80%,如果校正失败,则校正后的剩余误差为min (error, 5)个单位(其中error为校正前误差,min为取小函数),本文针对此情况重新规划航迹。

2. 飞行器航迹规划模型

在给定初始点A到终点B条件下,为确保测量飞机从A点通过校正点到达B点的全程距离最小 [2]。设 titi 时刻,飞行器当前位置与可达域校正点的距离为 A(ti)A(ti) [3],结合约束条件,建立飞行器航迹规划模型:

按照本文参数特点,本文采用水平、垂直误差交替校正的方式,为了将飞行器的误差控制在较小的范围内,应当先校正垂直误差,然后校正水平误差,之后依次轮流交替,直至到达终点B。

为求解最优航迹问题,我们设计了两套方案:

方案一:每次选择可达域中最近的校正点,此方案能在某误差得到校正的同时将另一误差控制在最小范围,使得各方向误差距离极限仍有较大空间(记为“误差余量”)能最大程度的保障飞行器抵达终点。但是由于每次选择最短距离前进,过于保守,航迹规划过程中会遇到某点S1可达域为空而无法继续的情况。实际上,前面的规划中若某些点能选择大一点的距离前进,校正相同次数后或能到达S2,而S2可达域非空,可以继续规划航迹,即也许可以避开S1。

方案二:考虑飞行器当前位置到可达域校正点的距离和可达域校正点到达终点的直线距离,计算两距离之和可得多个组合,假设各个校正点为当前位置,计算其是否存在可达域,去除不存在可达域的校正点对应的组合,在剩余组合中取最小组合。该方案属于A*算法的应用,既考虑了当前飞行距离也预估了后续飞行距离,从全局考虑了飞行路径,便于找到较优路径。但是可能遇到可达域为空的情况,此时无法继续规划路径,因而不能抵达终点。

加上约束条件(8)之后,在飞行器遇到障碍物时,并且正处于全局最优路径上的时候,采用局部A*路径规划算法 [4],将障碍物区域表示为一个球体 [5]。则半圆危险度表示为:

当飞行器未遇到障碍物时,危险度为0,飞行器的误差则与到障碍物中心的距离有关,距离越近越危险但误差相对小。(1)式中, RmaxRmax 是障碍物的最大半径, dvdv 是飞行器到障碍物中心的距离。

那么加上约束条件(8)之后,规划模型为:

本文中转弯带来的副作用仅是缩小了校正点的工作域,因此方案一、二的算法规划航迹适用两种情况。

另外,飞行器的飞行环境可能随时间动态变化,虽然校正点在飞行前已经确定,但飞行器在部分校正点进行误差校正时存在无法达到理想校正的情况(即将某个误差精确校正为0)。因此,部分校正点存在校正失效的可能,会增大该方向误差的值,进而减少其误差余量,将影响后续校正点的选择,会改变航迹甚至使得航迹规划失败。因校正失效的概率较低(只有20%),根据不同情况可以用两种方法处理失效的校正:

1) 每次校正后加上概率误差。

2) 极端情况,每次有可能校正失效时都按照校正失效处理,即必然失效。

3. 改进的A*算法

下面我们将在经典的A*算法 [6] - [12] 的基础上,提出了一种改进的A*算法,用于解决本文的飞行器航迹规划问题。

A*算法是一种启发式搜索算法。通过在搜索空间不断评估路径的估价函数值来启发式搜索节点来构造最优路径。通常A*算法的常用估价函数表示为

其中,n为当前节点, f(n)f(n) 是从初始点经由节点为n到目标点的估价函数, g(n)g(n) 是在状态空间中从初始节点到节点n的实际代价, h(n)h(n) 是从节点n到目标节点的估计代价。

A*搜索算法的搜索效率由搜索方向和搜索步长决定。为了提升搜索效率,需要从搜索方向、搜索节点确定改进。路径的优劣则主要依赖于估价函数的设计。所以我们从搜索节点和方向方面改进,结合本文要解决的问题,我们改进了校正点的选择,例如每次选择可达域中最近的校正点,并且本文需要加入水平、垂直的校正,在算法的搜索方向改进中,考虑如果当前校正了水平误差,则水平误差暂时无忧,能最快降低垂直误差的机会就是下一次校正,如此交替进行,这样就 能确保两个误差都尽可能小,所以改进后的算法的设计对极端情况承受能力较强,并将改进的算法的具体步骤设计在下文給出,除非另有说明,否则我们总是在本文中使用算法命名的符号。

第一方面,我们针对所有文献 

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值