Research on UAVs cloud-end collaborative navigation control algorithm
-
摘要: 针对无人机集群导航规划算法和策略问题开展研究,在分析传统航迹规划方法和经典粒子群算法基础上,提出了一种无人机集群云端协同导航控制算法. 对机上部分的粒子群智能导航算法进行优化,设计后台部分的混合群智能导航规划算法并进行优化改进. 仿真和实际测试验证表明:该方法正确可行,可提高无人机集群导航规划解的优质性. 对比其他导航规划方法,该方法在无人机集群导航方面具有明显优越性.Abstract: Conduct research on unmanned aerial vehicles (UAVs) navigation planning algorithms and strategies, based on the analysis of traditional path planning methods and classical particle swarm optimization (PSO), a UAVs cloud collaborative navigation control algorithm is proposed. The PSO in the UAV onboard part is improved, and the hybrid swarm intelligent algorithm in the cloud background part is designed and optimized. Simulation and actual test results show that the method is correct and feasible, and can improve the quality of UAVs navigation planning solution. Compared with other navigation planning methods, this method has obvious advantages in UAVs navigation.
-
0. 引 言
无人机集群导航规划是无人机协同执行任务的关键技术之一. 导航规划是指考虑地形、威胁等因素,在满足无人机自身性能约束和环境条件约束情况下,为无人机制定从初始点到目标点的最优飞行路径[1]. 而集群协同导航规划又不同于单个无人机导航规划,需要考虑的因素更加复杂,要解决飞行过程中无人机之间避碰问题以及同步时间到达等,并使整个集群飞行代价最小. 当前无人机集群导航规划解决的主要方式已逐渐由传统的后台控制导航规划飞行转变为机上自主感知与决策飞行[2-3],以满足导航决策规划的实时性,但仍存在机载算力要求过高、机上导航决策的可信程度不足等问题. 尤其在面临集群导航规划问题时,设计具有速度快、精度高、信息全等特点的导航规划算法和技术成为了关键[4]. 本文充分考虑无人机集群导航规划的应用要求与当前研究现状,提出一种机上群智能决策算法+云后台辅助导航的无人机智能导航规划算法. 经仿真验证,该算法能充分满足无人机集群导航规划各项要求,并提高了导航规划控制的有效性与实时性.
1. 集群云端协同导航控制算法
1.1 机载导航控制算法
机载导航控制算法主要解决无人机集群无后台通信链路下的机上自主导航决策问题,因此需要兼顾可信性与快速实时性的需求. 本文采用粒子群优化算法(particle swarm optimization, PSO)解决该问题.
在PSO中粒子的速度和位置更新如式(1)和式(2)所示 [5]:
$${v}_{i}^{t}=\omega {v}_{i}^{t-1}+{c}_{1}{r}_{1}\left({p_{\mathrm{b}\mathrm{e}\mathrm{s}\mathrm{t}}}_{i}-{x}_{i}^{t-1}\right) +{c}_{2}{r}_{2}\left(g_{\mathrm{b}\mathrm{e}\mathrm{s}\mathrm{t}}-{x}_{i}^{t-1}\right) $$ (1) $$ {x}_{i}^{t}={x}_{i}^{t-1}+{v}_{i}^{t-1} $$ (2) 式中:
$ {v}_{i}^{t} $ 为第$ i $ 个粒子在第$ t $ 次迭代后的速度;$ \omega $ 为惯性权重因子;$ {c}_{1} $ 和$ {c}_{2} $ 为学习因子;$ {p_{\rm{best}}}_{i} $ 为第$ i $ 个粒子自己的历史最优位置;$ g_{\mathrm{b}\mathrm{e}\mathrm{s}\mathrm{t}} $ 为整个种群的历史最优位置;$ {x}_{i}^{t} $ 为第$ i $ 个粒子在第$ t $ 次迭代后的位置. 通常用$ {N}_{s} $ 表示粒子数量,记$ f\left({x}_{i}\right) $ 为所优化问题的评价函数,粒子位置的优劣是依靠$ f\left({x}_{i}\right) $ 的值来决定的. 每个粒子都进行如下操作:在$ t-1 $ 次迭代得到粒子的位置$ {x}_{i}^{t-1} $ 后,可以求出对应的$ f\left({x}_{i}^{t-1}\right) $ . 根据式(1)和式(2)更新速度和位置,进行下一次迭代得到$ f\left({x}_{i}^{t}\right) $ ,反复执行直到$ f\left({x}_{i}\right) $ 满足要求或达到最大迭代次数为止[6].式(1)是标准粒子群算法速度更新和位置更新公式,其中涉及到的主要参数包括惯性权重
$ \omega $ 、学习因子$ {c}_{1} $ 和$ {c}_{2} $ ,以及起到约束作用的粒子种群规模$ {N}_{s} $ 和最大飞行速度$ {v}_{\mathrm{m}\mathrm{a}\mathrm{x}} $ . 在粒子群算法中,较小的惯性权重有利于算法的精细收缩,而较大的惯性权重则有利于算法的快速全局搜索,因此动态改变的惯性权重能够取得比固定值更好的寻优结果. 本研究的改进方式为$$ \omega =\left\{\begin{array}{c}{\omega }_{\mathrm{m}\mathrm{i}\mathrm{n}},\delta \geqslant {\lambda }_{1}\\ {\omega }_{\mathrm{m}\mathrm{a}\mathrm{x}},\delta \leqslant {\lambda }_{2}\end{array}\right. $$ (3) 式中,
$ \delta $ 为连续$ k $ 代更新后粒子的位置变化程度,若连续$ k $ 代更新后粒子的位置变化超过$ {\lambda }_{1} $ ,则判定算法处于快速全局搜索阶段,可以令$ \omega $ 取较小值$ {\omega }_{{\rm{min}}} $ ,减慢搜索速度,防止算法因搜索速度过快错过最优解;若连续$ k $ 代更新后粒子的位置变化不超过$ {\lambda }_{2} $ 则判定算法已经陷入局部最优,令$ \omega $ 取较大值$ {\omega }_{\mathrm{m}\mathrm{a}\mathrm{x}} $ ,可以加快算法搜索速度,使算法跳出局部最优.$ k $ 、$ {\lambda }_{1} $ 和$ {\lambda }_{2} $ 的取值是由无人机集群导航规划问题的复杂程度、要求的搜索速度和精度等因素共同决定的.仅依靠对粒子群算法公式原有的参数进行自适应调整还不能完全解决算法容易陷入局部最优的问题,需要对其粒子更新策略进行改进. 在粒子群算法中,粒子是通过跟踪个体极值
$ p_{\mathrm{b}\mathrm{e}\mathrm{s}\mathrm{t}} $ 和全局极值$ g_{\mathrm{b}\mathrm{e}\mathrm{s}\mathrm{t}} $ 来更新自己的速度和位置. 这样就使得粒子每次迭代都要受到个体的历史最优位置和当前群体的最优位置所吸引,导致在迭代后期,粒子的多样性变得很差. 若这两个位置都仅仅是局部最优甚至非优位置,则粒子将彻底无法搜索到全局最优解而过早的早熟结束. 因此,需要引入一种机制,使得粒子能够“跳出”局部最优[7].通过上文提到的方式判断,若粒子已经陷入局部最优,则令
$$ \left\{\begin{array}{c}{p_{\mathrm{b}\mathrm{e}\mathrm{s}\mathrm{t}}}{{'}}={\rm{ ran}}{{\rm{d}}}_{1}p_{{\rm{best}}}\\ {g_{\mathrm{b}\mathrm{e}\mathrm{s}\mathrm{t}}}{{'}}={\rm{ ran}}{{\rm{d}}}_{2}g_{{\rm{best}}}\end{array}\right. $$ (4) 式中,
$ {\rm{ ran}}{{\rm{d}}}_{1} $ 、$ {\rm{ ran}}{{\rm{d}}}_{2} $ 为取值范围在$ \left(\mathrm{0,1}\right) $ 的随机数. 通过这种对全局最优位置和局部最优位置的扰动方式使得算法可以跳出局部最优解.1.2 后台导航控制算法设计
与机上智能导航规划算法不同,后台导航控制算法设计可依托高算力平台,无需考虑机载算力平台限制,因此可以采用较为复杂的智能优化算法,但要考虑导航规划实时性的问题[8]. 同时要考虑通信链路的限制,若不具备与前端无人机的通信条件,则只能依靠无人机机载智能规划算法实现导航飞行. 因此本文后台导航控制算法采用自主模块+人工控制模块结合的方式,在具备前端到后端的通信链路时作为无人机集群导航规划的辅助决策. 在可满足导航规划实时性条件下,利用后台自主模块规划满足要求的合理航迹点并发送至前端无人机实施导航飞行;在环境较为复杂的情况下,利用人工控制模块直接人为发送航迹点至无人机实现导航.
自主模块算法采用改进粒子群算法结合禁忌搜索算法的混合群智能算法,通过禁忌表和候选解的设置,解决粒子群优化算法容易陷入局部最优的问题. 算法流程图如图1所示.
人工控制模块主要基于无人机平台前端和云后台端的上行和下行通信链路,通过Rviz实现无人机的环境信息展现和目标航迹点设置[9].
Rviz是一款三维可视化工具,兼容了各种基于ROS软件框架的机器人平台. 如图2所示,在Rviz中,可以通过图形化的方式,实时显示无人机传感器的信息、无人机的运动状态、周围环境的变化等.
1.3 集群导航规划设计
首先需要建立无人机集群导航规划状态空间,包括环境信息、威胁信息,以及无人机各项约束条件和优化指标等信息. 环境信息和威胁信息的建模包括基准地形模型、威胁区域以及障碍区域3部分. 基准地形建模设置飞行区域设为直角坐标区域;威胁区域一般指电磁干扰区域以及敌方探测区域[10-11]等,可采用半球形模型对威胁区域建模,其数学描述为
$$ \left\{\begin{array}{l}{W}_{i}(x,y,z)={\sum }_{i}(x-{x}_{i}{)}^{2}+(y-{y}_{i}{)}^{2}+{z}^{2}={r}_{i}^{2}\\ z\geqslant 0\end{array}\right. $$ (5) 式中:
$ ({x}_{i},{y}_{i},0) $ 为威胁区域的中心;$ {W}_{i}(x,y,z) $ 为第$ i $ 个威胁区域;$ {r}_{i} $ 为威胁区域半径. 障碍区域建模采用山峰模型,其数学描述为$$ {z}_{i}(x,y)={h}_{i}\mathrm{exp}\left[-\left(\frac{x-{y}_{i}}{{{\boldsymbol{x}}}_{{\rm{s}}i}}\right)^{2}-\left(\frac{y-{{{x}}}_{i}}{{{\boldsymbol{y}}}_{{\rm{s}}i}}\right)^{2}\right] $$ (6) 式中:
$ z(x,y) $ 为地形中每个点的高度;$ (x,y) $ 为地形中每个点投影到平面的点坐标;$ {h}_{i} $ 为第$ i $ 座山的高度;$ ({x}_{i},{y}_{i}) $ 为山峰的地理中心坐标;$ {{\boldsymbol{x}}}_{{\rm{s}}i},{{\boldsymbol{y}}}_{{\rm{s}}i} $ 分别为山峰在$ x $ 轴和$ y $ 轴方向的坡度向量.无人机约束条件包含自身物理性能约束和飞行任务约束,由此确定各项航迹评价函数的优化指标. 一般个体无人机执行飞行任务所考虑的优化指标包括以下几项:
1)航迹长度
$ {L}_{p} $ :无人机一次任务的总飞行路程.2)剩余飞行时间
$ {t}_{p} $ :无人机在执行任务过程中,最大飞行时间与已飞行时间的差值.3)最低飞行高度
$ h $ :无人机在飞行中与地形之间允许的最短距离,$ h $ 太小会增加无人机与地面碰撞的概率.由此得出的导航规划评价函数为
$$ f={{\sum_{i}}}({\varphi }_{1}{L}_{i}+{\varphi }_{2}{t}_{i}+{\varphi }_{3}{H}_{i}),i=1\cdots N $$ (7) 式中:
$ {L}_{i} $ 为第$ i $ 段节点间的距离约束;$ {t}_{i} $ 为到第$ i $ 个节点的剩余时间;$ {H}_{i} $ 为第$ i $ 个节点处的高度威胁值;$ {\varphi }_{1} $ 、$ {\varphi }_{2} $ 和$ {\varphi }_{3} $ 为权重系数,通过调整它们的大小来改变各项约束对导航规划评价函数的影响.$ N $ 为设定航迹规划的节点总数.本文考虑到无人机集群执行飞行任务的情形,为减小无人机机间碰撞概率,选择增加基于势函数的避碰函数作为优化指标. 一般斥力势函数公式为
$$ U= \left\{\begin{array}{l} \displaystyle\frac{1}{2} \eta \left(\frac{1}{\rho (q,q')}-\frac{1}{\rho_0}\right)^2, \rho(q,q')\leqslant\rho_0\\z \geqslant 0,\rho(q,q') <\rho_0 \end{array} \right.$$ (8) 式中:
$ \eta $ 为斥力增益系数;$ \rho (q,{q}{{'}}) $ 为一架无人机到相邻无人机的距离;$ {\rho }_{0} $ 为设定的机间最小避碰距离. 当邻居无人机进入本机安全距离后,势函数斥力开始作用,当两机达到最小避碰距离时,排斥力达到最大,并趋向于无穷. 将避碰势函数产生的斥力作为航迹优化指标的一项,与前面航迹规划函数的指标进行综合,最终保证无人机集群飞行过程避碰.2. 导航规划仿真与实际飞行实验
针对本文提出的无人机集群云端协同导航控制算法,利用MATLAB R2016b进行仿真对比实验和分析,并利用无人机平台和云后台端进行实际飞行实验.
无人机数量设为20,任务目标点个数设为10,分布在(2 000,200,300)、(2 000,400,600)、(2 000,500,500)、(2 000,650,380)、(2 000,800,430)、(2 000,1 000,580)、(2 000,1 350,680)、(2 000,1 500,300)、(2 000,1 800,650)、(2 000,2 000,580).
地形参数设置为:飞行区域2 000×2 000×1 000;障碍参数为(x,y,h):(500,1 500,400)、(500,500,200);威胁区域参数为(x,y,r):(1 000,1 000,400)、(500,500,200)、(500,1 200,200)、(1 500,500,200).
传统机上单一导航规划算法即标准粒子群算法按照航迹规划最通用方式设置,惯性权重
$ \omega =0.9 $ ,学习因子$ {c}_{1}={c}_{2}=2 $ ,本文所提改进算法的参数设置为:初始种群数量$ {N}_{s}=30 $ ,最大迭代次数$ T=50 $ ,粒子最小飞行速度$ {v}_{\mathrm{m}\mathrm{i}\mathrm{n}} $ ,最大飞行速度$ {v}_{\mathrm{m}\mathrm{a}\mathrm{x}} $ ;改进粒子群算法参数设置惯性权重$ \omega $ 选择策略中$ {\omega }_{\mathrm{m}\mathrm{a}\mathrm{x}} $ ,$ {\omega }_{\mathrm{m}\mathrm{i}\mathrm{n}} $ ,$ {\lambda }_{1}=0.3 $ ,$ {\lambda }_{2}=0.1 $ ,$ k=5. $ 测试步骤为
步骤一:启动MATLAB软件,选择无人机集群云端协同导航控制算法;
步骤二:设置环境条件和算法参数;
步骤三:设置任务目标点并进行分配;
步骤四:开始仿真;
步骤五:重复步骤一至步骤四,选择传统单一的机载标准粒子群导航规划算法模块,观察并记录两种算法的导航规划结果;
步骤六:绘制两种算法的迭代次数和评价函数曲线图并进行对比分析;
步骤七:完成本项实验.
传统单一机上导航规划结果与无人机集群云端协同导航控制结果如图3所示.
由图3可以直观看出,本文提出的无人机集群云端协同导航控制算法与传统单一机上导航规划相比,导航规划的航迹更加平滑,且各架无人机的航迹长度更短.
为了评估本文提出算法的性能,将两种算法迭代次数与目标函数值的关系对比如图4所示.
由图4可知,本文所提算法目标函数值总体更小,比标准PSO算法收敛时的目标函数值约下降41%,表明本文的无人机集群云端协同导航控制算法应用在集群导航规划时可以取得更好的效果.
仿真算法的主程序运行时间如图5所示,可以看出在主程序运行150次中,算法所用时间绝大数不超过0.05 s,最大所用时间也不超过0.09 s,证明算法是快速可行的,能够保障在线航迹规划的实现.
利用装载云端协同无人机集群智能导航规划算法嵌入式软件的Jetson TX2模块的无人机平台以及Dell Inspiron 15-1745云后台电脑进行室内环境低速实际飞行测试,并在Rviz界面进行效果展现. 飞行测试结果如图6所示,可以看出个体无人机较好的完成了导航与避障飞行任务.
开展3次飞行测试试验,分别记录算法程序完成1次航迹规划的平均时间,如表1所示.
表 1 实际飞行测试算法运行时间s 试验次数 机载算法平均运行时间 云后台算法平均运行时间 1 0.022 0.047 2 0.028 0.039 3 0.017 0.041 由表1可知,在无人机低速飞行条件下,该算法可完全满足导航规划避障飞行的时效性需求.
3. 结束语
本文提出了一种无人机集群云端协同导航控制算法,将机上智能导航决策算法与后台智能导航规划算法相结合,对机上粒子群智能导航决策算法进行惯性权重的优化改进并进行仿真分析,设计自主模块+人工控制模块的后台辅助导航规划算法,并对混合群智能导航规划算法和人工控制的导航规划避障进行实验分析.
通过多无人机仿真实验和单无人机实际飞行实验,表明该算法可以满足集群导航规划要求,对比传统单一机载粒子群导航规划方法收敛时目标函数值约降低41%,表明算法的寻优能力得到显著改进,同时实际无人机飞行测试可满足避障导航需求,验证了所提算法的可行性和优越性.
该算法策略可以很好地满足无人机集群导航规划对于高精度和实时性的需求,但仍存在一些不足之处,比如在线规划时采用集中式计算负担过大可能会导致算法强度过高进而影响航迹规划的效率等. 后续将在降低算法强度方面寻求突破,重点关注分布式算法架构的建立,完善本文所提出的无人机集群导航规划策略.
-
表 1 实际飞行测试算法运行时间
s 试验次数 机载算法平均运行时间 云后台算法平均运行时间 1 0.022 0.047 2 0.028 0.039 3 0.017 0.041 -
[1] 刘逸. 粒子群优化算法的改进及应用研究[D]. 西安: 西安电子科技大学, 2012: 6-9. [2] 方群, 徐青. 基于改进粒子群算法的无人机三维航迹规划[J]. 西北工业大学学报, 2017, 35(1): 66-73. [3] 秦赟. 基于改进粒子群算法的无人机航迹规划[D]. 成都: 电子科技大学, 2011: 37-38. [4] 刘畅, 谢文俊, 张鹏, 等. 多基地多无人机航迹避障任务规划[J]. 计算机工程, 2019(11): 275-280. [5] 欧阳志宏, 李修和. 基于任务区分的无人机航路规划方法[J]. 弹箭与制导学报, 2017, 37(3): 114-118. DOI: 10.15892/j.cnki.djzdxb.2017.03.029 [6] CHEN Y B, LUO G C, MEI Y S, et al. UAV path planning using artificial potential field method updated by optimal control theory[J]. International journal of systems science, 2016, 47(6): 1407-1420. DOI: 10.1080/00207721.2014.929191
[7] LIN Y C, SARIPALLI S. Sampling-based path planning for UAV collision avoidance[J]. IEEE transactions on intelligent transportation systems, 2017, 18(11): 3179-3192. DOI: 10.1109/TITS.2017.2673778
[8] 熊超, 解武杰, 董文瀚. 基于碰撞锥改进人工势场的无人机避障航路规划[J]. 计算机工程, 2018, 44(9): 314-320. [9] 朱杰, 鲁艺, 张辉明. 突发威胁情况下的无人机航迹重规划[J]. 计算机工程与应用, 2018, 54(8): 255-259. [10] GIACOMIN P A S, HEMERLY E M. Reconfiguration between longitudinal and circular formations for multi-UAV systems by using segments[J]. Journal of intelligent & robotic systems, 2014, 78(2): 339-355. DOI: 10.1007/s10846-014-0063-4
[11] WEN N F, SU X H, MA P J, et al. Online UAV path planning in uncertain and hostile environments[J]. International journal of machine learning and cybernetics, 2017, 8(2): 469-487. DOI: 10.1007/s13042-015-0339-4
-
期刊类型引用(0)
其他类型引用(1)