[文献阅读]机器人地磁导航路线规划优化启发式算法和随机搜索算法
论文信息
论文题目:Heuristic and random search algorithm in optimization of route planning for Robot’s geomagnetic navigation原文链接
Yan Xu1, Guofei Guan1, Qingwu Song1, Chao Jiang1, Lihui Wang2
Received 10 January 2020, Revised 4 February 2020, Accepted 15 February 2020, Available online 17 February 2020, Version of Record 22 February 2020.
Abstract
背景:为了提高路径规划的效率和准确性,本文提出了一种新的组合算法,综合考虑了水下地磁匹配导航区域和环境约束的分布。
改进方案:
- 首先,利用地磁导航匹配区域,通过Dijkstra算法获取初步的路径点。
- 其次,建立并规范化环境约束模型,同时构建路径规划的环境约束成本模型。
- 然后,根据环境约束成本模型中的时间、函数关系、约束条件和变量之间的关系,引入粒子群优化算法。以初步路径点为基础,将路径规划问题转化为路径优化问题。
- 最后,将初步路径点作为粒子群优化算法的初始输入,改进了粒子群的惯性权重选择方法和粒子编码方式,从而实现了Dijkstra算法与粒子群优化算法的最优路径规划。
改进效果:仿真结果表明,该算法能够有效缩小搜索空间的粒子规模,优化搜索范围,并显著提高搜索效率。该组合算法在保证全局最优的同时实现了局部最优,有效避免了非匹配导航区域,实现了高效的路径规划功能。
Introduction
以下是对Introduction部分内容的分点总结:
研究背景:
- 水下地磁导航原理:
- 基于包含丰富地磁特征信息的地磁图。
- 通过结合惯性导航系统(INS)和磁力计,利用地磁特征匹配算法实现精确定位。
- 路径规划的重要性:
- 路径规划是水下导航系统中的核心问题,其目标是高效规划出穿越适配区域的最短路径。
存在问题:
- 复杂性:
- 路径规划问题通常被认为是一个NP难(非确定性多项式时间)求解问题,其为包含不确定多项式的复杂函数。
- NP难意指“至少与任何NP问题一样难”,但实际上可能更加复杂。
- 在求解NP难问题时,当前的多项式时间方法无法获得最优解。通常需要使用不同的优化算法来求得可能的最优解。
- 现有算法的局限:
- 优化算法(如启发式算法、随机算法)存在收敛速度慢、易陷入局部最优等不足。
- 单一算法难以同时兼顾全局优化和局部优化需求。
相关研究:
-
传统方法:
- A*算法:全方向扩展搜索,但存在冗余扩展节点,效率较低。
- 稀疏A*算法:改进了扩展范围,结合约束信息以减少无效搜索点。
- Voronoi图算法:通过空间分割实现几何信息建模,但在动态环境中灵活性有限。
-
地磁导航路径规划中的关键问题:
- 需综合考虑空间建模、约束条件、算法性能和导航精度。
- 不同地磁地图特性对算法的适用性影响较大。
改进内容:
- 提出了一种基于Dijkstra算法和改进粒子群优化(PSO)算法的路径组合规划方法。
- Dijkstra算法用于初步路径点的离线规划,满足地磁特征约束。
- 将初步路径点作为PSO的初始输入,改进了PSO的编码方式和收敛性能。
- 方法创新点:
- 将时间信息视为空间中的“粒子”,提高算法的收敛效率和全局优化能力。
- 实验验证:
- 与标准PSO算法对比,组合方法表现出更好的收敛性和全局优化性能。
Analysis and modeling of underwater environmental constraints
传统的路径规划方法通常是一种一次性的离线规划。然而,即使航行器在匹配区域内工作,也需要考虑多个因素,包括各种障碍物、转向角度以及时间约束等。
路径规划的目标是通过算法设计出一条满足导航、机动性能、威胁规避等边界条件的最短路径。
水下航行器路径规划已被证明是一个具有三维运动学和动力学约束的不确定性多项式问题。由于水下环境的复杂性,解决路径规划问题容易导致搜索算法收敛过慢或陷入局部收敛。此外,在平坦海域中难以使用地形辅助导航技术。在障碍物和先验知识的约束下,二维平面路径规划方法更适用于水下地磁导航的实际应用背景。
在分析和建模水下环境约束时,需要考虑以下关键特性:地磁强度、坡度、转向角度、障碍物以及航程长度。由于函数参数存在不确定性,它们之间并没有明确的关系。为了简化计算,通常采用简化的路径函数方法。在考虑不同函数权重的情况下,建立路径评估函数模型,其公式如下:
公式 (1) 讲解
min f it ( x i , y i ) = ω 1 J terrain ( x i , y i ) + ω 2 J slope ( x i , y i ) + ω 3 J angle ( x i , y i ) + ω 4 J mon ( x i , y i ) + ω 5 J length \text{min} \ f_{\text{it}}(x_i, y_i) = \omega_1 J_{\text{terrain}}(x_i, y_i) + \omega_2 J_{\text{slope}}(x_i, y_i) + \omega_3 J_{\text{angle}}(x_i, y_i) + \omega_4 J_{\text{mon}}(x_i, y_i) + \omega_5 J_{\text{length}} min fit(xi,yi)=ω1Jterrain(xi,yi)+ω2Jslope(xi,yi)+ω3Jangle(xi,yi)+ω4Jmon(xi,yi)+ω5Jlength
-
目标函数:
- f it ( x i , y i ) f_{\text{it}}(x_i, y_i) fit(xi,yi):路径规划的评估函数,用于衡量某条路径的优劣。
- 通过对多个约束因素的加权求和,得出路径的总成本值。目标是最小化该值。
-
权重参数:
- ω 1 , ω 2 , ω 3 , ω 4 , ω 5 \omega_1, \omega_2, \omega_3, \omega_4, \omega_5 ω1,ω2,ω3,ω4,ω5:权重因子,分别对应各约束项的影响权重,满足以下条件:
- 0 < ω k < 1 0 < \omega_k < 1 0<ωk<1( k = 1 , 2 , 3 , 4 , 5 k=1,2,3,4,5 k=1,2,3,4,5),表示权重范围。
- ω 1 + ω 2 + ω 3 + ω 4 + ω 5 = 1 \omega_1 + \omega_2 + \omega_3 + \omega_4 + \omega_5 = 1 ω1+ω2+ω3+ω4+ω5=1,表示权重总和为1,确保各约束因素的权重合理分配。
- ω 1 , ω 2 , ω 3 , ω 4 , ω 5 \omega_1, \omega_2, \omega_3, \omega_4, \omega_5 ω1,ω2,ω3,ω4,ω5:权重因子,分别对应各约束项的影响权重,满足以下条件:
-
路径约束项:
- J terrain ( x i , y i ) J_{\text{terrain}}(x_i, y_i) Jterrain(xi,yi):归一化的地磁强度,反映路径所处地磁环境的适配性。
- J slope ( x i , y i ) J_{\text{slope}}(x_i, y_i) Jslope(xi,yi):归一化的坡度约束,衡量路径通过陡坡区域的难度。
- J angle ( x i , y i ) J_{\text{angle}}(x_i, y_i) Jangle(xi,yi):归一化的转向角约束,表示路径的转弯角度是否符合规定的限制。
- J mon ( x i , y i ) J_{\text{mon}}(x_i, y_i) Jmon(xi,yi):归一化的障碍物约束,反映路径是否避开了障碍物和危险区域。
- J length J_{\text{length}} Jlength:归一化的路径长度,表示路径的总航程。
-
意义:
- 该模型通过综合考虑多种环境约束和路径特性,为路径规划提供了量化依据。
- 最小化目标函数值,可以找到一条同时满足安全性、适配性和效率需求的最优路径。
- 公式 (1) 的核心思想是将路径规划问题转化为一个优化问题,通过权重控制各因素的影响,找到最优路径,从而实现高效的路径规划。
Geomagnetic constraint
水下航行器的工作深度是有限的。为了满足安全要求,导航区域内的叠加地磁强度函数表示如下:
公式 (2) 解析
J terrain = { f safe if f mission < f safe f mission otherwise J_{\text{terrain}} = \begin{cases} f_{\text{safe}} & \text{if } f_{\text{mission}} < f_{\text{safe}} \\ f_{\text{mission}} & \text{otherwise} \end{cases} Jterrain={ fsafefmissionif fmission<fsafeotherwise
-
变量定义:
- J terrain J_{\text{terrain}} Jterrain:叠加地磁强度函数,用于评估航行器在当前深度下的地磁适配性。
- f safe f_{\text{safe}} fsafe:最低安全航行深度,确保航行器在危险区域下方或障碍物之上运行。
- f mission f_{\text{mission}} fmission:航行器与海底之间的深度,表示当前任务的工作深度。
-
条件逻辑:
- 当 f mission < f safe f_{\text{mission}} < f_{\text{safe}} fmission<fsafe 时,航行器的工作深度低于安全深度,为避免危险,强制将地磁强度设置为 f safe f_{\text{safe}} fsafe。
- 否则,直接使用 f mission f_{\text{mission}} fmission 的值作为地磁强度。
-
公式目的:
- 通过引入 f safe f_{\text{safe}} fsafe 作为底线,确保航行器不会因深度过浅而遇到潜在风险。
- 同时,保证在符合安全要求的情况下,航行器可以根据任务深度 f mission f_{\text{mission}} fmission 执行操作。
-
公式意义:
- 安全性:通过限制航行器的最小深度,避免碰撞海底或进入不安全区域。
- 适应性:该公式结合任务需求和安全条件动态调整地磁强度评估,增强了路径规划的实用性。
- 总结来说,公式 (2) 是确保水下航行器在安全范围内运行的核心约束条件,通过动态调整地磁强度函数,平衡了任务需求和安全限制。
随着磁梯度的增加,水下航行器沿规划路径行驶的难度会加大。当坡度超过最大角度时,行驶将受到限制。采用S函数来建模跟随概率 P ( i , j ) P(i, j) P(i,j)。
公式 (3) 解析
P ( i , j ) = 1 1 + exp [ − k ⋅ f ( i , j ) − μ ϕ s ] P(i, j) = \frac{1}{1 + \exp\left[-k \cdot \frac{f(i, j) - \mu}{\phi_s}\right]} P(i,j)=1+exp[−k⋅ϕsf(i,j)−μ]1
-
变量定义:
- P ( i , j ) P(i, j) P(i,j):航行器在节点 ( i , j ) (i, j) (i,j) 处的路径跟随概率,值范围为 ( 0 , 1 ) (0, 1) (0,1)。
- f ( i , j ) f(i, j) f(i,j):节点 ( i , j ) (i, j) (i,j) 处的地磁强度值。
- μ \mu μ:地磁梯度的阈值,表示航行器可以安全行驶的临界值。
- ϕ s \phi_s ϕs:S 函数的尺度参数,控制地磁强度变化的敏感性。
- k k k:S 函数的增益参数,用于调节函数斜率的陡峭程度。
-
公式功能:
- 该公式采用 S 函数(逻辑函数)建模地磁强度梯度对路径跟随能力的影响。
- 当地磁强度梯度 f ( i , j ) f(i, j) f(i,j) 接近或低于阈值 μ \mu μ 时,跟随概率 P ( i , j ) P(i, j) P(i,j) 接近 1,表示航行器可以顺利沿路径行驶。
- 当梯度 f ( i , j ) f(i, j) f(i,j) 显著超过 μ \mu μ 时, P ( i , j ) P(i, j) P(i,j) 接近 0,表示航行器难以沿路径行驶。
-
物理意义:
- 安全性:通过引入阈值 μ \mu μ,确保航行器只在合理的地磁梯度范围内运行。
- 灵敏度:参数 ϕ s \phi_s ϕs 和 k k k 控制模型对梯度变化的敏感度,适应不同的环境复杂性。
-
优势:
- 非线性特性:S 函数在阈值附近具有陡峭变化的特性,能够准确描述航行器在不同地磁梯度下的行驶能力。
- 连续性:公式生成的 P ( i , j ) P(i, j) P(i,j) 是连续函数,可用于优化路径规划中的平滑评估。
公式 (4) 解析
J slope = 1 − P ( i , j ) J_{\text{slope}} = 1 - P(i, j) Jslope=1−P(i,j)
-
变量定义:
- J slope J_{\text{slope}} Jslope:航行器的跟随概率函数,值范围为 [ 0 , 1 ] [0, 1] [0,1],用于表示当前节点 ( i , j ) (i, j) (i,j) 处的坡度影响。
- P ( i , j ) P(i, j) P(i,j):节点 ( i , j ) (i, j) (i,j) 的路径跟随概率,由公式 (3) 计算。
-
公式功能:
- P ( i , j ) P(i, j) P(i,j) 表示航行器在特定坡度下成功沿路径行驶的概率,值越接近 1,表示坡度对路径影响越小。
- J slope J_{\text{slope}} Jslope 是 P ( i , j ) P(i, j) P(i,j) 的补值,表示坡度对路径行驶的阻碍程度。值越接近 1,表示坡度对路径影响越大。
-
逻辑解释:
- 当坡度较小时,航行器容易沿路径行驶,此时 P ( i , j ) P(i, j) P(i,j) 较大,导致 J slope J_{\text{slope}} Jslope 较小,表明坡度约束对路径影响较弱。
- 当坡度较大时,航行器难以沿路径行驶,此时 P ( i , j ) P(i, j) P(i,j) 较小,导致 J slope J_{\text{slope}} Jslope 较大,表明坡度约束对路径影响显著。
-
意义:
- 安全性:通过 J slope J_{\text{slope}} Jslope 量化坡度对路径规划的影响,避免航行器进入高坡度区域,降低行驶风险。
- 动态适应性:结合公式 (3) 的 S 函数模型, J slope J_{\text{slope}} Jslope 可以动态适应不同地形的变化,提升路径规划的灵活性。
Maximum steering angle constraint
为避免因急转弯导致的碰撞风险,最大转向角限制将轨迹限制在最大转向角之内或等于最大转向角。假设航行器的最大转向角为 θ max \theta_{\text{max}} θmax,则航行器必须满足水平角度约束。最大转向角约束定义如下:
公式 (5) 解析
J angle = { 0 , if θ ≤ θ max θ − θ max , if θ > θ max J_{\text{angle}} = \begin{cases} 0, & \text{if } \theta \leq \theta_{\text{max}} \\ \theta - \theta_{\text{max}}, & \text{if } \theta > \theta_{\text{max}} \end{cases} Jangle={ 0,θ−θmax,if θ≤θmaxif θ>θmax
-
变量定义:
- J angle J_{\text{angle}} Jangle:转向角约束函数,用于量化当前转向角是否满足限制条件。
- θ \theta θ:当前航行器的转向角,通过路径节点计算得出。
- θ max \theta_{\text{max}} θmax:航行器的最大允许转向角。
-
公式功能:
- 当当前转向角 θ \theta θ 小于或等于最大转向角 θ max \theta_{\text{max}} θmax 时,约束函数 J angle = 0 J_{\text{angle}} = 0 Jangle=0,表示转向角对路径规划没有额外限制。
- 当转向角 θ \theta θ 超过最大转向角 θ max \theta_{\text{max}} θmax 时,约束函数 J angle = θ − θ max J_{\text{angle}} = \theta - \theta_{\text{max}} Jangle=θ−θmax,表示超出限制的部分需要作为约束条件加以惩罚。
-
逻辑解释:
- 公式通过分段函数的形式,动态调整转向角的约束条件:
- θ ≤ θ max \theta \leq \theta_{\text{max}} θ≤θmax:满足转向角限制,无需额外调整。
- θ > θ max \theta > \theta_{\text{max}} θ>θmax:超出转向角限制,需要额外惩罚以优化轨迹。
- 公式通过分段函数的形式,动态调整转向角的约束条件:
-
物理意义:
- 安全性:避免因过大的转向角导致的航行器不稳定或碰撞风险。
- 灵活性:允许在有限范围内调整转向角,从而优化路径规划的可行性和适用性。
-
优点:
- 动态调控:结合转向角的实际情况,动态调整约束条件以平衡轨迹规划的灵活性与安全性。
- 惩罚机制:通过对超出部分进行惩罚,引导路径优化算法选择更符合限制条件的路径。
其中, θ \theta θ 是航行器的当前转向角,可通过三个相邻的路径节点 ( x i − 1 , y