2025年EAAI SCI1区TOP,贪婪策略粒子群算法GS-IPSO+无人机桥梁巡检覆盖路径规划,深度解析+性能实测
目录
- 1.摘要
- 2.无人机桥梁巡检模型
- 3.GS-IPSO算法
- 4.结果展示
- 5.参考文献
- 6.代码获取
- 7.算法辅导·应用定制·读者交流
1.摘要
为提升无人机在桥梁巡检中的效率,针对冗余视角和频繁急转导致的低效问题,本文提出了一种全新覆盖路径规划模型。针对视角冗余问题,提出协同贪婪邻域(CGN)算法,通过Voronoi图对桥梁模型进行预处理,并综合考虑相机视场与云台角度等约束条件,优化巡检视角的分布,显著减少冗余视点数量。在解决无人机路径规划问题时,综合考虑了无人机与桥梁之间的碰撞风险、路径长度、陡升陡降频率及急转弯次数等因素,提出了一种基于贪婪策略改进的粒子群优化算法(Greedy Strategy-Improved PSO, GS-IPSO),用来实现路径的全局优化。
2.无人机桥梁巡检模型
桥面处理
为了有效解决后续视角优化问题,首先需要对获取到的桥梁模型的外部表面进行合理预处理。本文采用Voronoi图法对桥梁的外部表面进行处理,将桥面划分为相对均匀的三角网格,该方法不仅能够保留桥梁的几何特征,还能提高计算精度和网格的均匀性。
设三角形集合为 S = { s 1 , s 2 , s 3 , . . . , s n } S=\{s_{1},s_{2},s_{3},...,s_{n}\} S={s1,s2,s3,...,sn},定义每个三角形的三个顶点为 { A n , B n , C n } \{A_n,B_n,C_n\} {An,Bn,Cn},定义三角形的法向向量:
N n → = A n B n → × A n C n → \overrightarrow{N_n}=\overrightarrow{A_nB_n}\times\overrightarrow{A_nC_n} Nn=AnBn×AnCn
视角生成
为获得最佳巡检效果并尽量减少因图像畸变或模糊导致的误差,必须确保每个巡检视角的朝向尽可能垂直于桥面。
为解决这一问题,本文将相机在特定高度下的视场定义为一个矩形区域,并通过公式判断桥面三角网格的中心是否落入该视场,从而确定其是否被有效覆盖。
min ∣ φ ∣ s . t . ∀ s ∈ S , p ∈ P , s ≺ p , φ = { ( x c , y c , z c ) } \begin{aligned} & \min|\varphi| \\ & s.t.\forall s\in S,p\in P,s\prec p,\varphi=\{(x_{c},y_{c},z_{c})\} \end{aligned} min∣φ∣s.t.∀s∈S,p∈P,s≺p,φ={(xc,yc,zc)}
在桥梁巡检任务中,无人机需规划一条最优路径,依次访问所有巡检视角点,并最终返回起始位置。正常距离代价:
e i j = { ( x j − x i ) 2 + ( y j − y i ) 2 + ( z j − z i ) 2 , if L i j = 1 ∞ , otherwise e_{ij} = \begin{cases} \sqrt{(x_j - x_i)^2 + (y_j - y_i)^2 + (z_j - z_i)^2}, & \text{if } L_{ij} = 1 \\ \infty, & \text{otherwise} \end{cases} eij={(xj−xi)2+(yj−yi)2+(zj−zi)2,∞,if Lij=1otherwise
在桥梁巡检飞行过程中,无人机频繁出现急转弯不仅会增加能耗,还会延长任务执行时间,影响整体效率。
{ θ = arccos ( ( p 3 − p 2 ) ⋅ ( p 2 − p 1 ) ∥ p 3 − p 2 ∥ ⋅ ∥ p 2 − p 1 ∥ ) a i = { 0 , if i = 1 , 2 or θ ≥ π 2 1 , otherwise N θ = ∑ i = 1 T − 2 a i \begin{cases} \theta = \arccos\left( \dfrac{(p_3 - p_2) \cdot (p_2 - p_1)}{\|p_3 - p_2\| \cdot \|p_2 - p_1\|} \right) \\[10pt] a_i = \begin{cases} 0, & \text{if } i = 1, 2 \text{ or } \theta \geq \dfrac{\pi}{2} \\ 1, & \text{otherwise} \end{cases} \\[10pt] N_\theta = \sum_{i=1}^{T-2} a_i \end{cases} ⎩ ⎨ ⎧θ=arccos(∥p3−p2∥⋅∥p2−p1∥(p3−p2)⋅(p2−p1))ai={0,1,if i=1,2 or θ≥2πotherwiseNθ=∑i=1T−2ai
为了提升无人机飞行的稳定性并降低能耗,需控制其在执行任务过程中出现的剧烈垂直高度变化。
{ h i = { 0 , if i = 1 or ∣ h i − h i − 1 ∣ ≤ 3 1 , otherwise N h = ∑ i = 1 T − 1 h i \begin{cases} h_i = \begin{cases} 0, & \text{if } i = 1 \text{ or } |h_i - h_{i-1}| \leq 3 \\ 1, & \text{otherwise} \end{cases} \\[10pt] N_h = \sum_{i=1}^{T-1} h_i \end{cases} ⎩ ⎨ ⎧hi={0,1,if i=1 or ∣hi−hi−1∣≤3otherwiseNh=∑i=1T−1hi
总目标函数定义为:
min J = κ 1 ∑ i = 1 e i , i + 1 + κ 2 ∑ i = 1 T − 2 a i + κ 3 ∑ i = 1 T − 1 h i s . t . ∀ i ∈ V , e i , i + 1 ∈ E v i s i t e d \begin{aligned} & \min J=\kappa_{1}\sum_{i=1}e_{i,i+1}+\kappa_{2}\sum_{i=1}^{T-2}a_{i}+\kappa_{3}\sum_{i=1}^{T-1}h_{i} \\ & s.t.\forall i\in\mathrm{V},\mathbf{e}_{i,i+1}\in\mathrm{E}_{\mathrm{visited}} \end{aligned} minJ=κ1i=1∑ei,i+1+κ2i=1∑T−2ai+κ3i=1∑T−1his.t.∀i∈V,ei,i+1∈Evisited
3.GS-IPSO算法
在 GS-IPSO 算法中,为提升粒子群的初始解质量,引入贪婪算法进行初始化。从候选点集合中随机选取一个起始点,并在每一步迭代中选择使路径代价函数最小的下一个点,逐步构建完整路径。每次选择后,所选点从候选集中剔除,直至所有点均被覆盖。
为提高算法在不同阶段的优化效果,GS-IPSO引入自适应因子动态调节粒子更新策略:
{ α 1 = 1 − t T early , if t ≤ T early α 2 = 1 − t − T early T n − T early , otherwise \begin{cases} \alpha_1 = 1 - \dfrac{t}{T_{\text{early}}}, & \text{if } t \leq T_{\text{early}} \\[10pt] \alpha_2 = 1 - \dfrac{t - T_{\text{early}}}{T_n - T_{\text{early}}}, & \text{otherwise} \end{cases} ⎩ ⎨ ⎧α1=1−Tearlyt,α2=1−Tn−Tearlyt−Tearly,if t≤Tearlyotherwise
为了进一步增强粒子的多样性,GS-IPSO允许以一定概率保留劣解,根据Metropolis准则,定义替换概率:
P ( J current → J new ) = { 1 , if J new ≤ J current exp ( J current − J new T temp ) , otherwise P(J_{\text{current}} \rightarrow J_{\text{new}}) = \begin{cases} 1, & \text{if } J_{\text{new}} \leq J_{\text{current}} \\[10pt] \exp\left( \dfrac{J_{\text{current}} - J_{\text{new}}}{T_{\text{temp}}} \right), & \text{otherwise} \end{cases} P(Jcurrent→Jnew)=⎩ ⎨ ⎧1,exp(TtempJcurrent−Jnew),if Jnew≤Jcurrentotherwise
在优化过程中,首先评估每个粒子的适应度 J ( k ) J(k) J(k),并根据设定的阈值 GP 将其划分为优质粒子集( k b e s t ) k_\mathrm{best}) kbest)与劣质粒子集( k p o o r k_\mathrm{poor} kpoor)。优质粒子将优先参与交叉与变异操作,以提高解的质量。
在循环交叉操作中,从优质粒子集中随机选取两个不同的粒子,交换其在随机区间 [ m 1 , m 2 ] [m_1,m_2] [m1,m2]内的基因片段,生成两个新粒子。随后检查新个体是否存在基因冲突。接着对新生成的粒子执行变异操作:在随机区间 [ b 1 , b 2 ] [b_1,b_2] [b1,b2]内对基因序列进行反转。若变异后
适应度提升,则保留该个体;否则丢弃。
最后,采用轮盘赌选择法进行粒子筛选。适应度越高的粒子被用于替换的概率越大,而适应
度较低的粒子则史有可能进入下一代,从而在保留优秀解的同时保持种群多样性。
4.结果展示
做了一个简单案例:
5.参考文献
[1] Li X, Chen Y, Chen Z, et al. Coverage path planning of bridge inspection with Unmanned aerial vehicle[J]. Engineering Applications of Artificial Intelligence, 2025, 156: 111253.
6.代码获取
xx