本发明属于无人机避撞技术领域,具体涉及一种基于滚动窗口的无人机自动避撞方法。
背景技术:
随着无人机相关技术的成熟以及人们日益增加的兴趣,无人机在军事、工作、生活中的使用日趋广泛。然而,无人机数量的迅猛增长也导致了安全事故的增加。欧洲航空安全局(easa)2010-2016年统计报告显示,欧洲范围内的无人机碰撞飞机或险些碰撞事件近1000起,其中有3起已确认为无人机碰撞的事件,并造成不同程度的飞机结构损伤和经济损失。如何防止无人机与有人机之间以及无人机相互之间发生碰撞,已到了刻不容缓的地步。因此,有效的感知与规避技术是当前无人机研究的热点。
在无人机避撞方面的研究,现有的基于最优常值导引指令求解的无人机自动避撞方法求解过程简单且完成了较为准确的避撞时间在线估计,但所求解的导引指令仅为基于初始飞行状态信息的最优常值导引指令,无法随飞行信息的变化而自我修正,且因为在避撞过程中导引指令无法改变,无法对突现障碍物进行自主避撞。
技术实现要素:
针对现有技术中存在的上述技术问题,本发明提出了一种基于滚动窗口的无人机自动避撞方法,设计合理,克服了现有技术的不足,具有良好的效果。
为了实现上述目的,本发明采用如下技术方案:
一种基于滚动窗口的无人机自动避撞方法,包括以下步骤:
步骤1:设定滚动窗口的时间长度;
设定滚动时间窗口的时间节点为t0,t1,t2,...,ti,...,则时间窗口长度
避撞机以滚动窗口的形式对导引指令进行在线更新,设定每个时间窗口的初始计算时间为
其中,tci为计算时间终止时间节点,且
步骤2:基于二分法与遗传算法估计避撞时间t;避撞时间t包括t1和t2两部分;
在每个滚动时间窗口初始计算时间内,首先进行无人机碰撞检测,当检测到两无人机将要发生碰撞时,进行避撞时间估计;避撞机避撞的过程由两个部分组成:第一部分使避撞机在寻优的导引指令引导下滚转以改变航向角,使两无人机的相对速度vrel(t)追踪到碰撞锥的边界,这段时间称为t1;第二部分为避撞机不再滚转而进入平飞模式,沿着碰撞锥边界追踪避撞点的过程,这段时间称为t2;
步骤3:通过遗传算法求解使得所建立目标函数取最小值的导引指令;
建立包括飞行路径、避撞机滚转时间和导引指令指标的目标函数,利用遗传算法,在每个时间窗口的初始计算时间内根据机载传感器得到的飞行信息,对建立的目标函数寻优求解最小值j,则j对应的导引指令值即为当前时间窗口的最优导引指令,并应用于当前时间窗口和下一个时间窗口的计算阶段,直到下一个时间窗口计算结束;
步骤4:时间窗口滚动判断;
在每个滚动窗口结束时,判断避撞是否完成;
若:判断结果是避撞未完成,则返回步骤2进行下一个时间窗口的计算,实现导引指令滚动寻优;
或判断结果是避撞完成,即避撞机在当前时间窗口内已到达避撞点,则避撞机进入正常飞行模式并飞向目标点,时间窗口停止。
优选地,在步骤2中,具体包括如下步骤:
步骤2.1:采用二分法估计避撞时间t1;具体包括如下步骤:
步骤2.1.1:计算有解区间端点处的适应度函数值;
利用机载传感器获得此时避撞机和障碍侵入机的飞行状态信息,飞行状态信息包括避撞机初始位置(x0,y0)、飞行速度v和航向角ψ(t),侵入机的位置(xob,yob)、速度vob和航向角ψob;
取适应度函数:
f(t)=|ε(t)-θ(t)|(3);
其中,ε(t)为相对速度方位角ψrel(t)和视线角λ(t)的差值;两无人机相对速度vrel(t)为:
vrel(t)=vcos(ψrel-ψ(t))+vobcos(π+ψob-ψrel(t))(4);
相对速度方位角ψrel(t)可由式(5)获得:
两无人机视线角λ(t)为:
θ(t)为碰撞锥的半顶角,可由式(7)获得:
给定有解区间[a,b],分别计算f(t)在有解区间端点处的值,f(a)和f(b);
步骤2.1.2:对有解区间进行二分;
计算f(t)在区间中点
如果
否则进行判断,若
步骤2.1.3:解的搜寻;
每次二分后,将取得到的有解区间[ak,bk]的中点
则有误差范围:
|x*-xk|≤σ(8);
反复执行步骤2.1.2,直到区间[ak,bk]长度缩小到允许的误差范围之内,此时区间的中点
步骤2.2:采用遗传算法估计避撞时间t2
避撞机与侵入机的相对速度方向在t1时刻已跟踪到碰撞锥的边界,避撞机维持当前的航向角继续追踪避撞点,此时导引指令为0;避撞机沿着碰撞锥的边界平飞直至到达避撞点这段时间t2利用遗传算法求解;具体包括如下步骤:
步骤2.2.1:染色体种群初始化
初始化初始染色体变量,对种群个数m、交叉概率px、变异概率pm及最大迭代次数maxgen初始化;根据估计过程获得初始条件,主要包括t1时刻的避撞机的位置(x(t1),y(t1))、避撞机航向角ψ(t1)、侵入(xso,yso)机的位置(xob(t1),yob(t1))以及侵入机航向角;
步骤2.2.2:计算每个染色体的适应度
取目标函数:
其中,xt1(t)和yt1(t)为t1时刻后避撞机的位置,
根据目标函数计算种群内每个个体的目标函数值f1,f2,...,fi,...,fm;
适应度函数:
根据适应度函数将每个个体的目标函数值按降序排列,每个个体的适应度值根据它在排序种群中的位置pos计算出来,最终目标函数值越小的个体适应度值越大;
步骤2.2.3:选择、交叉、变异并生成下一代染色体群体
选择方法采用轮盘赌博法,根据种群中每个染色体的适应度情况确定该染色体被选择的概率,每个个体被选择的概率与其适应度函数值大小成正比,选择概率公式为:
对于选择操作生成的中间群体,从中随机的选择两个个体,以交叉概率px判断是否需要进行交叉操作,交叉操作会在个体串中随机生成一个“一点交叉”的交叉位,对交叉位后的基因进行交叉计算,重复这一过程直到中间群体中的所有个体都被选择过;
变异运算是以很小的概率将个体编码串中的某些基因值用其他基因值代替,形成新的个体,对交叉后的中间个体以变异概率pm随机指定某一位基因的值进行变异运算,生成子代群体;
步骤2.2.4:染色体种群更新
对生成的子代群体进行适应度评估,如果子代群体中的最优个体适应度值高于总的最优个体适应度值,则用子代群体中的最优个体替换总的最优个体;若运行到规定最大遗传迭代代数maxgen或者适应度达到预定的阈值,则算法终止;将此时得到的总的最优染色体编码解码,得到避撞机避撞时间t2。
优选地,在步骤3中,具体包括如下步骤:
步骤3.1:建立包括飞行路径、避撞机滚转时间和导引指令的目标函数:
式中:
避撞机飞行路径由式(15)获得:
其中,α,β,χ为惯性权重,其和为1;以0.1s为采样时间间隔,对避撞机航迹进行离散化,m为离散航迹点之和;导引指令a越大,避撞机滚转时间t1越小,避撞机滚转路径越短,平飞路径越长;
步骤3.2:利用遗传算法,在每个时间窗口初始时根据机载传感器得到的飞行信息,对建立的目标函数寻优求解最小值j:
则j对应的导引指令值即为当前时间窗口的最优导引指令,并应用于当前时间窗口和下一个时间窗口的寻优计算阶段,直到下一个时间窗口计算结束。
以突现固定障碍物为例,滚动时间窗口的存在可有效针对此类突现障碍进行导引指令的修正,确保无人机安全地实现避撞。在t=tk时刻在避撞机的避撞路径中加入固定障碍物(xso,yso),使避撞机进入对固定障碍物的避撞。利用机载传感器获得飞行状态信息包括避撞机位置(x(tk),y(tk))、飞行速度v和航向角ψ(tk),根据飞行状态信息得出无人机与固定障碍物的相对距离rt-so(t)为:
其中,rso避撞机与固定障碍物的安全距离。在滚动窗口的初始计算时间内,当检测到避撞机与固定障碍物会碰撞时,进行避撞时间估计,并利用遗传算法对所建立的目标函数进行寻优,获得最优导引指令,并应用于当前时间窗口和下一个时间窗口的寻优计算阶段。由于滚动时间窗口的存在,使避撞机随着时间窗口的滚动针对固定障碍物不断更新导引指令,直到完成对固定障碍物的避碰,避撞机继续对侵入机进行避撞,并在时间窗口的滚动中不断更新和修正最优导引指令。
本发明所带来的有益技术效果:
本发明提出的在滚动窗口下的无人机自主避撞方法,利用二分法和遗传算法准确的完成避撞时间估计,求解速度较快且计算方法简单;利用遗传算法对所建立的目标函数进行寻优,在得到最优解的前提下可进一步缩短计算时间;以滚动时间窗口的形式在避撞过程中对最优导引指令进行滚动寻优,通过飞行信息的不断更新,在滚动中实现导引指令优化与修正的结合;以突现固定障碍物为例,滚动时间窗口的存在可有效针对此类突现障碍进行导引指令的修正,确保无人机安全地实现避撞。
附图说明
图1为用于基于滚动窗口的无人机自动避撞方法的流程图。
图2为导引指令滚动寻优示意图。
图3为最优导引指令滚动寻优的避撞机避撞仿真图。
图4为避撞机避撞固定障碍物仿真图。
图5为避撞机导引指令变化曲线图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
结合图1至图5,本发明提出了一种基于滚动窗口的无人机自动避撞方法。首先确定滚动时间窗口,在初始时间窗口开始时采集飞行状态信息,根据无人机的飞行状态信息进行碰撞检测,利用二分法和遗传算法进行避撞时间的估计。采用滚动时间窗口优化策略,在时间窗口初始时通过遗传算法对建立的目标函数寻优求解最优导引指令,且在下一时间窗口开始时根据飞行状态信息的更新再次寻优,实现导引指令的滚动寻优。在对侵入机的避撞过程中,避撞机的避撞路径加入突现固定障碍物,避撞机根据传感器获得的目标信息通过滚动窗口更新最优导引指令完成对突现固定障碍物的避碰,避碰完成后通过滚动窗口更新导引指令继续完成对侵入机的避撞。
一种基于滚动窗口的无人机自动避撞方法,其流程如图1所示,具体包括以下步骤:
步骤1:设定滚动窗口的时间长度;
设定滚动时间窗口的时间节点为t0,t1,t2,...,ti,...,则时间窗口长度
避撞机以滚动窗口的形式对导引指令进行在线更新。设定每个时间窗口的初始计算时间为
其中tci为计算时间终止时间节点,且
步骤2:基于二分法与遗传算法估计避撞时间;
在每个滚动时间窗口初始计算时间内,首先进行无人机碰撞检测,当检测到两无人机将要发生碰撞时,进行避撞时间估计。避撞机避撞的过程由两个部分组成:第一部分使避撞机在寻优的导引指令引导下滚转以改变航向角,使两无人机的相对速度vrel(t)追踪到碰撞锥的边界,这段时间称为t1;第二部分为避撞机不再滚转而进入平飞模式,沿着碰撞锥边界追踪避撞点的过程,这段时间称为t2。
因此总的避撞时间t包括两部分;分别采用二分法与遗传算法对两部分避撞时间进行求解。
步骤2.1:基于二分法的避撞时间t1求解;
步骤2.1.1:计算有解区间端点处的适应度函数值
利用机载传感器获得此时避撞机和障碍(侵入机)的飞行状态信息,飞行状态信息包括避撞机初始位置(x0,y0)、飞行速度v和航向角ψ(t),侵入机的位置(xob,yob)、速度vob和航向角ψob。
取适应度函数:
f(t)=|ε(t)-θ(t)|(3);
其中,ε(t)为相对速度方位角ψrel(t)和视线角λ(t)的差值;两无人机相对速度vrel(t)为:
vrel(t)=vcos(ψrel-ψ(t))+vobcos(π+ψob-ψrel(t))(4);
相对速度方位角ψrel(t)可由式(5)获得。
两无人机视线角λ(t)为:
θ(t)为碰撞锥的半顶角,可由式(7)获得。
给定有解区间[a,b],分别计算f(t)在有解区间端点处的值,f(a)和f(b)。
步骤2.1.2:对有解区间进行二分
计算f(t)在区间中点
如果
步骤2.1.3:解的搜寻
每次二分后,取得到的有解区间[ak,bk]的中点
则有误差范围:
|x*-xk|≤σ(8);
反复执行步骤2.1.2,直到区间[ak,bk]长度缩小到允许的误差范围之内,此时区间的中点
步骤2.2:基于遗传算法估计避撞时间t2
避撞机与侵入机的相对速度方向在间t1时刻已跟踪到碰撞锥的边界,避撞机维持当前的航向角继续追踪避撞点,此时导引指令为0。避撞机沿着碰撞锥的边界平飞直至到达避撞点这段时间t2利用遗传算法求解。
步骤2.2.1:染色体种群初始化
初始化初始染色体变量,对种群个数m、交叉概率px、变异概率pm,及最大迭代次数maxgen初始化。根据估计过程获得初始条件。主要包括t1时刻的避撞机的位置(x(t1),y(t1))、避撞机航向角ψ(t1)、侵入(xso,yso)机的位置(xob(t1),yob(t1))、侵入机航向角等。
步骤2.2.2:计算每个染色体的适应度
取目标函数:
其中,xt1(t)和yt1(t)为t1时刻后避撞机的位置,
根据目标函数计算种群内每个个体的目标函数值f1,f2,...,fi,...,fm。
适应度函数:
根据适应度函数将每个个体的目标函数值按降序排列,每个个体的适应度值根据它在排序种群中的位置pos计算出来,最终目标函数值越小的个体适应度值越大。
步骤2.2.3:选择、交叉、变异并生成下一代染色体群体
选择方法采用轮盘赌博法,根据种群中每个染色体的适应度情况确定该染色体被选择的概率。每个个体被选择的概率与其适应度函数值大小成正比。选择概率公式为:
对于选择操作生成的中间群体,从中随机的选择两个个体,以交叉概率px判断是否需要进行交叉操作。交叉操作会在个体串中随机生成一个“一点交叉”的交叉位,对交叉位后的基因进行交叉计算,重复这一过程直到中间群体中的所有个体都被选择过。
变异运算是以很小的概率将个体编码串中的某些基因值用其他基因值代替,形成新的个体。对交叉后的中间个体以变异概率pm随机指定某一位基因的值进行变异运算,生成子代群体。
步骤2.2.4:染色体种群更新
对生成的子代群体进行适应度评估,如果子代群体中的最优个体适应度值高于总的最优个体适应度值,则用子代群体中的最好优个体替换总的最优个体。若运行到规定最大遗传(迭代)代数maxgen或者适应度达到预定的阈值,则算法终止。将此时得到的总的最优染色体编码解码,得到避撞机避撞时间t2。
步骤3:通过遗传算法求解使得所建立目标函数取最小值的导引指令;具体包括如下步骤:
步骤3.1:建立包括飞行路径、避撞机滚转时间和导引指令的目标函数:
式中:
避撞机飞行路径由式(15)获得:
其中,α,β,χ为惯性权重,其和为1;以0.1s为采样时间间隔,对避撞机航迹进行离散化,m为离散航迹点之和;导引指令a越大,避撞机滚转时间t1越小,避撞机滚转路径越短,平飞路径越长;
步骤3.2:利用遗传算法,在每个时间窗口初始时根据机载传感器得到的飞行信息,对建立的目标函数寻优求解最小值j:
则j对应的导引指令值即为当前时间窗口的最优导引指令,并应用于当前时间窗口和下一个时间窗口的寻优计算阶段,直到下一个时间窗口计算结束。
以突现固定障碍物为例,滚动时间窗口的存在可有效针对此类突现障碍进行导引指令的修正,确保无人机安全地实现避撞。在t=tk时刻在避撞机的避撞路径中加入固定障碍物(xso,yso),使避撞机进入对固定障碍物的避撞。利用机载传感器获得飞行状态信息包括避撞机位置(x(tk),y(tk))、飞行速度v和航向角ψ(tk),根据飞行状态信息得出无人机与固定障碍物的相对距离rt-so(t)为:
其中,rso为避撞机与固定障碍物的安全距离。在滚动窗口的初始计算时间内,当检测到避撞机与固定障碍物会碰撞时,进行避撞时间估计,并利用遗传算法对所建立的目标函数进行寻优,获得最优导引指令,并应用于当前时间窗口和下一个时间窗口的寻优计算阶段。由于滚动时间窗口的存在,使避撞机随着时间窗口的滚动针对固定障碍物不断更新导引指令,直到完成对固定障碍物的避碰,避撞机继续对侵入机进行避撞,并在时间窗口的滚动中不断更新和修正最优导引指令。
步骤4:时间窗口滚动判断;
在每个滚动窗口结束时进行判断。若避撞未完成,则返回步骤2进行下一个时间窗口的计算,实现导引指令滚动寻优。若避撞完成,即避撞机在当前时间窗口内已到达避撞点,避撞机进入正常飞行模式并飞向目标点,时间窗口停止。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。