2020年EAAI SCI1区TOP,基于ORPFOA算法的多无人机在线变化任务路径规划,深度解析+性能实测
目录
- 1.摘要
- 2.问题描述
- 3.基于改进FOA算法的路径规划
- 4.结果展示
- 5.参考文献
- 6.代码获取
- 7.算法辅导·应用定制·读者交流
1.摘要
无人机(UAV)是一种新型油田巡检工具,具有灵活性高、成本低、效率高的特点。在基于无人机的油田巡检技术中,路径规划是不可或缺的关键环节,其任务是为无人机寻找一条最优飞行路径,以便顺利完成巡检工作。与其他研究相比,本文聚焦于两个具有挑战性问题:多架无人机在三维环境中遍历一定数量的任务点并在规定时间内完成巡检任务的路径规划;面对任务动态变化时的最优飞行路径优化求解。本文提出了一种新型任务分配方法,包括初始任务分配和任务变化后的再分配,以确定各无人机的初始任务序列,并在任务发生变化后快速重新规划任务序列。同时,提出了一种改进果蝇优化算法(ORPFOA),用于解决初始任务序列和任务变化后的新任务序列的路径规划问题,该算法通过引入最优参考点和距离代价矩阵,实现了更快的求解速度和更高的路径优化精度。
2.问题描述
在无人机油田巡检中,抽油井、油罐、水罐、树木和信号塔等被视为需要避开的障碍物。为便于建模,这些障碍物被简化为不同尺度的长方体,并在其三维尺寸上引入安全阈值RsR_sRs,以避免无人机碰撞。
在任务分配方面,研究分为初始任务分配与任务动态变化下的实时分配两个环节。初始任务分配通过根据任务点的到达时间要求,将任务划分为不同优先级集合,并同步确定最优无人机数量,从而在保证效率的同时降低巡检成本。动态任务分配则针对巡检过程中出现的新任务点提出快速重分配方法。通过计算各无人机任务序列的总飞行距离,并不断在最长与最短序列之间转移任务,实现任务负载的均衡。当各序列差异收敛至阈值内时,完成优化。
初始路径生成
在完成任务分配后,每架无人机需从统一起点 SSS出发,依次遍历任务序列中的所有任务点,并确保路径不与障碍物相交。路径生成过程为:首先确定下一个任务点的方向,逐步生成新的路径点,要求其避开障碍物;当路径点与目标任务点的距离小于人工设定阈值RRR时,无人机到达该任务点;重复上述步骤,直至完成全部任务点的遍历,从而形成完整的初始路径。
{xi=xi±ax(DR2)rand()yi=yi±ay(DR2)rand()zi=zi±az(DR2)rand()\begin{cases} x_i=x_i\pm a_x(\frac{D}{R^2})\mathrm{rand()} \\ y_i=y_i\pm a_y(\frac{D}{R^2})\mathrm{rand()} \\ z_i=z_i\pm a_z(\frac{D}{R^2})\mathrm{rand()} & \end{cases} ⎩⎨⎧xi=xi±ax(R2D)rand()yi=yi±ay(R2D)rand()zi=zi±az(R2D)rand()
代价函数
本文建立了适用于多无人机路径规划的代价函数体系,涵盖初始阶段与任务变化后的两类场景。通过定义无人机任务序列、已完成与未完成任务点、优先级完成时间及新增任务点等变量,实现对路径规划结果的有效评估与优化。
3.基于改进FOA算法的路径规划
本文提出ORPFOA算法旨在实现多无人机动态任务路径规划的快速求解,其将候选解视为飞行轨迹中的路径点,并以连续三个路径点中的首尾作为飞行段的起点和终点,通过其中点生成方向来确定下一个路径点。引入距离代价矩阵PPP用来比较新旧路径点优劣:若新路径点更优,则予以保留并更新矩阵,否则延用原路径点。路径点的更新公式:
{Xi,FOAm(t+1)=Xim(t)+1t(Xmidm(t)−Xim(t))∗bx∗rand()Yi,FOAm(t+1)=Yim(t)+1t(Ymidm(t)−Yim(t))∗by∗rand()Zi,FOAm(t+1)=Zim(t)+1t(Zmidm(t)−Zim(t))∗bz∗rand()\begin{cases} X_{i,FOA}^m(t+1)=X_i^m(t)+\frac{1}{t}(X_{mid}^m(t)-X_i^m(t))*b_x*rand() \\ Y_{i,FOA}^m(t+1)=Y_i^m(t)+\frac{1}{t}(Y_{mid}^m(t)-Y_i^m(t))*b_y*rand() \\ Z_{i,FOA}^m(t+1)=Z_i^m(t)+\frac{1}{t}(Z_{mid}^m(t)-Z_i^m(t))*b_z*rand() & \end{cases} ⎩⎨⎧Xi,FOAm(t+1)=Xim(t)+t1(Xmidm(t)−Xim(t))∗bx∗rand()Yi,FOAm(t+1)=Yim(t)+t1(Ymidm(t)−Yim(t))∗by∗rand()Zi,FOAm(t+1)=Zim(t)+t1(Zmidm(t)−Zim(t))∗bz∗rand()
{Xmidm(t)=Xi−1m(t)+Xi+1m(t))2Ymidm(t)=(Yi−1m(t)+Yi+1m(t))2Zmidm(t)=(Zi−1m(t)+Zi+1m(t))2\begin{cases} X_{mid}^m(t)=\frac{X_{i-1}^m(t)+X_{i+1}^m(t))}{2} \\ Y_{mid}^m(t)=\frac{(Y_{i-1}^m(t)+Y_{i+1}^m(t))}{2} \\ Z_{mid}^m(t)=\frac{(Z_{i-1}^m(t)+Z_{i+1}^m(t))}{2} & \end{cases} ⎩⎨⎧Xmidm(t)=2Xi−1m(t)+Xi+1m(t))Ymidm(t)=2(Yi−1m(t)+Yi+1m(t))Zmidm(t)=2(Zi−1m(t)+Zi+1m(t))
ORPFOA 算法通过建立三维油田环境模型并设定任务优先级,在完成无人机数量与任务序列确定后生成初始路径,随后利用距离代价矩阵与代价函数不断更新和筛选路径点以获得最优解,并在任务发生变化时快速重分配任务并重复优化,最终实现多无人机动态任务下的高效路径规划。
4.结果展示
5.参考文献
[1] Li K, Ge F, Han Y, et al. Path planning of multiple UAVs with online changing tasks by an ORPFOA algorithm[J]. Engineering Applications of Artificial Intelligence, 2020, 94: 103807.
6.代码获取
xx
7.算法辅导·应用定制·读者交流
xx