基于双粒子群算法的矿井搜救机器人路径规划

封硕,谢廷船,康靖,李建良

(长安大学 工程机械学院, 陕西 西安 710064)

摘要针对在复杂地形中标准的粒子群算法用于矿井搜救机器人路径规划存在迭代速度慢和求解精度低的问题,提出了一种基于双粒子群算法的矿井搜救机器人路径规划方法。首先将障碍物膨胀化处理为规则化多边形,以此建立环境模型,再以改进双粒子群算法作为路径寻优算法,当传感器检测到搜救机器人正前方一定距离内有障碍物时,开始运行双改进粒子群算法:改进学习因子的粒子群算法(CPSO)粒子步长大,适用于相对开阔地带寻找路径,而添加动态速度权重的粒子群算法(PPSO)粒子步长小,擅长在障碍物形状复杂多变地带寻找路径;然后评估2种粒子群算法得到的路径是否符合避障条件,若均符合避障条件,则选取最短路径作为最终路径;最后得到矿井搜救机器人在整个路况模型中的最优行驶路径。仿真结果表明,通过改进学习因子和添加动态速度权重提高了粒子群算法的收敛速度,降低了最优解波动幅度,改进的双粒子群算法能够与路径规划模型有效结合,在复杂路段能够寻找到最优路径,提高了路径规划成功率,缩短了路径长度。

关键词矿井搜救机器人; 机器人避障; 双粒子群算法; 路径规划模型; 改进学习因子; 动态速度权重

0 引言

矿井发生事故后,往往受灾现场情况复杂,盲目下井救援可能会造成二次伤亡,而且在狭窄环境下也很难找到被困人员[1]。利用机器人救灾为矿井救援带来了新方向。矿井搜救机器人能够探测现场温度、有毒气体和烟雾浓度等,能把环境数据传送给外界,以供救援人员参考,制定合理的援救方案[2]。为了使矿井搜救机器人可以在复杂地形中及时避障并完成环境探测,效率高、距离短的路径规划至关重要[3]

目前,国内外学者所研制的矿井搜救机器人都具备一定的避障能力,已经将传统的进化算法,如蚁群算法、遗传算法等应用于矿井搜救机器人路径规划中[4-5]。相比这些算法,粒子群算法收敛更快、资源更节省。但是在障碍物复杂多变的矿井里,传统的粒子群算法应用于路径规划还存在一些不足,如易陷入局部最优、迭代后期个体最优解易波动,导致求解精度低、算法前期收敛速度慢等问题,严重影响了矿井搜救机器人路径规划的效率和可靠性[6]。吴高超[7]采用等分可行空间逐段求解的方法建立了矿井搜救机器人避障模型,以步长作圆,以粒子的位置来表示运动角度,再利用粒子群算法对粒子位置进行优化,进而获得更有利的避障角度。但是在障碍物繁多的环境下,该方法成功率较低,未能发挥出粒子群算法搜索能力强的特点。为了解决上述粒子群算法存在前期收敛速度慢、后期求解精度低的问题,本文引入添加非线性学习因子和动态速度权重的方法对粒子群算法加以改进。针对矿井搜救机器人在复杂路况下路径规划成功率低的问题,提出了一种新的路径规划算法,首先将障碍物膨胀化处理为规则化多边形,建立环境模型,再以双改进粒子群算法作为路径寻优算法,当传感器检测到矿井搜救机器人正前方一定距离内有障碍物时,开始运行双改进粒子群算法,然后评估2种粒子群算法得到的路径是否符合避障条件,若均符合避障条件,则选取最短路径作为最终路径,最后得到矿井搜救机器人在整个路况模型中的最优行驶路径。

1 改进粒子群算法

1.1 标准粒子群算法

粒子群优化算法(Particle Swarm Optimization,PSO)是一种模拟鸟群觅食行为的仿生智能优化算法。PSO算法用随机解初始化一群随机粒子,通过迭代找到最优解,在每一次迭代中,每个粒子通过跟踪个体极值和全局极值来更新自己。种群迭代过程中,个体粒子不断更新其在解空间中的速度,以控制个体的飞行方向及距离,不断向个体极值和全局极值方向迭代[8]

粒子群算法常规的数学模型有速度和位置更新模型,表达式分别为

vk+1(i,d)=ωvk(i,d)+c1r1[qk(i,d)-

xk(i,d)]+c2r2[gk(i,d)-xk(i,d)]

(1)

xk+1(i,d)=xk(i,d)+vk+1(i,d)

(2)

式中:vk(i,d),qk(i,d),xk(i,d)和gk(i,d)分别表示算法第k次迭代时粒子i的飞行速度矢量、个体极值、个体值及全局极值的第d维分量;ω为惯性因子,反映粒子的运动习惯,代表粒子有维持先前运动的趋势;c1c2为学习因子,也称加速因子,c1值越大,代表该粒子向个体极值逼近趋势越强,c2值越大,代表粒子向全局极值逼近趋势越强;r1r2为[0,1]范围内的随机数[9]

1.2 改进的粒子群算法

1.2.1 非线性学习因子法(CPSO)

式(1)中的c1c2分别表示粒子向个体极值和全局极值的加速能力,过大或过小的学习因子都不利于粒子群算法迭代。本文提出一种随着迭代次数变化而做非线性变化的学习因子。

(3)

(4)

式中:c1max,c1minc1的最大值和最小值;c2max,c2minc2的最大值和最小值;n为当前时刻迭代代数;M为总迭代代数。

1.2.2 速度权重法(PPSO)

由式(2)可看出,标准粒子群算法中粒子位置只与前一时刻的位置和当前时刻的速度有关,若算法后期某次迭代速度过快,个体极值则会过度偏离全局极值,结果波动较大,导致求解精度低。本文提出了一种加入速度权重的方法,粒子位置更新公式为

xk+1(i,d)=xk(i,d)+pvk+1(i,d)

(5)

(6)

式中:p为速度权重;pvk+1(i,d)为粒子ik+1次迭代的有效迭代速度;分别为多维坐标系下的当前时刻粒子个体极值、当前时刻种群全局极值、前一时刻种群全局极值。

1.3 算法性能

算法针对不同难易程度的适应度函数得出的数据结果能够直观反映该算法的性能优劣。为了比较2种改进算法在简单和复杂地形下的性能优劣,选用了2种拥有不同复杂度地形的适应度函数(也称为测试函数)做仿真实验[10]

首先实验利用粒子群算法求取2个函数的最小值,再通过比较求解精度和速度得出算法性能优劣。实验分别以Sphere、Rosenbrock函数作为适应度函数,分别对应f1f2

(7)

(8)

(x1,x2,…,xn)为n维坐标系下的点坐标。f1是一个单峰函数,只有一个峰顶,在坐标为(0,0,…,0)处取得最小值0;f2函数在坐标为(1,1,…,1)处取得最小值0,其最小值位置隐藏在一个平滑、狭长的抛物线形山谷地形内,使得算法很难求取该位置[11-13]

算法种群规模为50,迭代次数为25。每个适应度函数均用标准PSO,CPSO,PPSO三种算法进行实验,仿真结果如图1、图2所示。

图1 Sphere函数寻优实验

Fig.1 Sphere function optimization experiment

设定当迭代过程中算法适应度值在[0,0.01]范围时称为收敛阶段,适应度值在(0.01,+∞)范围时称为初始阶段,初次进入收敛阶段的迭代代数设为z,其对应的适应度值为f。提取图1、图2中zf的值(表1),并用z值大小表示迭代速度的快慢。

图2 Rosenbrock函数寻优实验

Fig.2 Rosenbrock function optimization experiment

表1 算法初次进入收敛阶段数据

Table 1 Data of algorithm enters the convergence phase at first time

测试函数算法(z,f)SpherePSO(11,0.003882)CPSO(8,0.000716)PPSO(7,0.000148)RosenbrockPSO(18,0.006415)CPSO(15,0.007254)PPSO(19,0.002657)

比较表1中数据可知,针对测试函数Sphere,PPSO收敛速度最快,其次是CPSO,PSO收敛速度最慢;针对测试函数Rosenbrock,收敛速度最快的是CPSO,其次是PSO,而PPSO收敛速度最慢。

针对每个测试函数,使用PSO,CPSO,PPSO算法做30次仿真实验,每种算法运行结束后得到的最终适应度值作为一次仿真实验结果。每个算法在以Sphere,Rosenbrock为适应度函数下均能得出30个实验结果,对这些结果求最大值、最小值、平均值、标准差,结果见表2、表3。

分析表2、表3可得,针对拥有复杂地形的Rosenbrock函数,PPSO得到的最大值、最小值、平均值以及标准差均最小,表明其求得的最优解精度最高、波动最小,寻优效果比PSO和CPSO更好。针对呈单峰地形的Sphere函数,CPSO算法求得的最优解精度最高、波动最小,效果最优,PPSO次之,并且差距较小,标准PSO寻优效果最差。综合来看,CPSO收敛速度快于PSO,PPSO的寻优效果优于PSO。

表2 Sphere函数对3种算法的测试数据

Table 2 Test data of Sphere function for three algorithms

算法最大值最小值平均值标准差PSO2.991×10-37.766×10-61.885×10-45.592×10-4CPSO5.785×10-51.568×10-81.821×10-65.954×10-6PPSO7.115×10-54.457×10-87.691×10-61.390×10-5

表3 Rosenbrock函数对3种算法的测试数据

Table 3 Test data of Rosenbrock function for three algorithms

算法最大值最小值平均值标准差PSO2.337×10-21.523×10-52.426×10-34.275×10-3CPSO4.676×10-31.359×10-56.700×10-41.070×10-3PPSO1.737×10-31.459×10-63.301×10-44.072×10-4

具体分析如下:

CPSO中,随着迭代代数的增加,式(3)中c1逐渐减小且下降速率增大,式(4)中c2逐渐减小且增长速率减小。算法前期c1值长久保持在较大值,而c2值较小,促进了粒子向当前个体极值迭代,使得粒子能够发散出去。而到算法后期,c1c2值与前面情况相反,促进了粒子向当前全局极值迭代,使得粒子更快地向最优值逼近。以上2种情况都能够加快算法迭代速度[14]

PPSO中,由式(5)和式(6)可知,粒子当前个体极值与前一时刻全局极值偏离程度越小,当前全局极值与前一时刻全局极值偏离程度越大,的值越大,p值越小,vk+1(i,d)在xk+1(i,d)中所占比重就会减小,进而又反过来阻碍这2种偏离趋势。由此可得,在迭代过程中,PPSO会根据个体极值与全局极值偏离程度来自动调节有效迭代速度,使得迭代后期粒子“步幅”减小,个体极值波动幅度减小,进一步保证结果的稳定性和精确性。

2 障碍物模型建立及路径规划

2.1 障碍物模型建立

在解决矿井搜救机器人路径规划问题中,正确的环境建模对于路径规划和搜救机器人能否完成避障具有关键性的作用[15]。在实际应用中,采用基于激光雷达的同时定位与地图构建(Simultaneous Localization and Mapping, SLAM)技术构建环境地图。图3(a)是扫描出的二维栅格障碍物,图3(b)是将图3(a)中栅格进行膨胀化后得到的规则障碍物。

(a) 栅格化障碍物

(b) 膨胀化障碍物

图3 障碍物模型

Fig.3 Obstacles model

2.2 路径规划

建立好路况地图后,矿井搜救机器人的路径规划还面临一个难题,就是在相对空旷路段机器人单步行驶距离(步长)大则效率高,在狭窄路段步长小则路径规划成功率高。针对上述问题,提出了基于2个改进粒子群算法(CPSO+PPSO)相结合的路径规划方法。机器人单次避障模型如图4所示。

路径规划步骤如下:

(1) 如图4(a)所示,在t时刻机器人位置处Pt建立坐标系,PtEx轴正方向夹角为αt。当传感器未检测到PtE方向上有障碍物时,机器人沿着PtE方向行驶。

(2) 当传感器检测到PtE方向上有障碍物时,在极坐标系下建立以步长h为半径的圆(图4(b)),种群中每个个体的值代表着路径的走向。运行CPSO算法,首先初始化种群中的个体值,根据式(1)不断更新个体值,某次更新后的预估位置为K点,当前位置为O点,然后判断OK是否穿过障碍物边界,若没有穿过边界,根据适应度函数f3取小原则选择出粒子群个体极值和全局极值,否则重新分配粒子位置,最终得出避障最优角u。判断最优角u对应的OK路径和障碍物边界是否相交,若不相交,结束当前算法,得出K点的f3,否则赋值Kf3=10 000。CPSO算法适应度函数为

(a) 未检测到障碍物

(b) CPSO算法路径

(c) PPSO算法路径

图4 机器人单次避障模型

Fig.4 Single obstacle avoidance model of robot

f3=h+D1

(9)

式中D1为粒子更新后的位置对应的K点到终点E的距离。

(3) CPSO算法结束后,运行PPSO算法。PPSO算法路径如图4(c)所示,在极坐标系中,将机器人运动分解为10步,步长为h/10。具体迭代过程和步骤(2)中CPSO算法相似,不同的是每次更新的是10个个体值,且算法运行一次求出的是10个全局极值。10个全局极值对应10段路径角度,分别为e(1),e(2),…,e(10),其中,e(1)对应着矿井搜救机器人O-A行驶路线,e(10)对应着I-J路线。则该算法得到的最优路径为OABCDEFGHIJ。若该路径与障碍物边界不相交,得出J点的f4,否则赋值Jf4=10 000。PPSO适应度函数为

f4=L+D2

(10)

(11)

式中:L为粒子i更新后的位置对应的10段路径长度之和;D2J点到终点E的距离;θ为粒子i前后2个维度值之差,是一个角度差,θ=x(i,j)-x(i,j-1)。

(4) 比较CPSO和PPSO算法结果对应的适应度值f3f4,选择适应度值小的路径作为矿井搜救机器人的最终路径。

3 仿真结果与分析

建立井下障碍物地图,对改进的双粒子群算法进行仿真实验。算法程序中参数设置如下:

矿井搜救机器人运动起点为S(60,60),终点为E(250,250),步长h=4 dm。

CPSO算法:种群规模为30,迭代代数为20,粒子迭代速度范围为运动角度范围为P,P∈[-π,π],最大学习因子c1max=c2max=2.5,最小学习因子c1min=c2min=0.5,固定惯性因子ω=0.7。

PPSO算法:迭代代数为30,其他参数均与CPSO算法相同。

为了便于分析和观察CPSO和PPSO算法结合的过程,给出了矿井搜救机器人的路径规划仿真以及2个位置路径选取细节,如图5—图7所示。

图5 路径规划仿真结果

Fig.5 Path planning simulation results

图6中2种算法均完整运行3次,最终矿井搜救机器人路径为ACDE,路径选取流程如下:

(1) CPSO和PPSO分别得出2条路径,即虚线AC和折线AB,由式(9)计算出C点处的f3,由式(10)得出B点处的f4,且f3<f4,所以,取虚线AC段作为最终路径。

图6 图5中第1处路径

Fig.6 The first path in figure 5

图7 图5中第2处路径

Fig.7 The second path in figure 5

(2) CPSO和PPSO分别得出虚线CF和折线CD,由于虚线CF与障碍物边界相交,所以Ff3=10 000,Df4小于f3,取折线CD作为最终路径。

(3) CPSO和PPSO分别得出虚线DG和折线DEEf3小于Gf4,取折线DE作为最终路径。

图7中,地形较为开阔,CPSO和PPSO各运行了6次,实取路径均是CPSO计算生成的虚线线段,机器人行走的路线为ABCDEFG

根据此次仿真数据得出,矿井搜救机器人按照2.2节步骤(1)走了56步,CPSO和PPSO算法均运行了24次。算法得出的终点为(248.19,248.18),由于到E点的距离小于机器人步长,因此最后一步是直达E点。所以,理论路径长度为

L1|dm=(56+24)×4+

(12)

按照Matlab仿真的数据计算出路径长度为325.41 dm,耗时223.35 s。算法中粒子每走一步,需要将粒子极坐标系下坐标转换成直角坐标系下坐标,再加上Matlab数据有效位有限和距离公式误差等原因,导致理论路径长度和仿真计算长度不等,本文均以仿真数据计算的路径长度为准。

分别采用PSO,PSO+PSO和CPSO+PPSO算法进行路径规划仿真,仿真次数为50,测试数据见表4。从表4可知,CPSO+PPSO的最优路径最短、成功率最高、平均路径长度最短,运行时间虽然最长,但是与其他2种算法差距较小。实验结果表明,改进的双粒子群算法和路径规划模型的有效结合,提高了路径规划成功率,缩短了路径长度。

表4 3种方案的测试数据

Table 4 Test data of three schemes

方案最优路径长度/dm成功次数平均长度/dm平均时间/sPSO330.5638345.38205.35PSO+PSO319.1545330.95219.59CPSO+PPSO311.4346321.34227.52

4 结论

(1) 针对矿井搜救机器人路径规划问题,提出了基于双粒子群算法的路径规划方法。利用基于激光雷达的SLAM技术建立栅格化障碍物模型,再经过膨胀化处理形成规则图形,并投影到二维坐标系中,构建井下环境模型。

(2) 通过改进学习因子和添加动态速度权重提高了粒子群算法的收敛速度,降低了最优解波动幅度。CPSO算法粒子步长大,适用于相对开阔地带寻找路径。PPSO算法粒子步长小,擅长在障碍物形状复杂多变地带寻找路径。2种算法共同寻找路径的方案提高了路径规划效率,在复杂路段中能够寻找到最优路径。

(3) 在构建的环境模型中进行3种算法的仿真实验,结果证明,CPSO和PPSO结合的双粒子群算法提高了路径规划成功率,缩短了路径长度。

参考文献(References):

[1] 秦玉鑫,张高峰,王裕清.矿井灾害环境下多目标路径规划方法[J].控制工程,2017,24(11):2337-2342.

QIN Yuxin,ZHANG Gaofeng,WANG Yuqing.Multi objective path planning under coal mine disaster environment[J].Control Engineering of China,2017,24(11):2337-2342.

[2] 姜媛媛,时美乐.基于多元信息评估的矿井火灾救援路径优化[J].工矿自化,2019,45(3):5-11.

JIANG Yuanyuan,SHI Meile.Optimization of mine fire rescue path based on multi-information evaluation[J].Industry and Mine Automation,2019,45(3):5-11.

[3] 周旺平,巩力源,王雅.化工灾害搜救机器人路径规划研究[J].计算机仿真,2016,33(9):392-395.

ZHOU Wangping,GONG Liyuan,WANG Ya.Chemical disaster rescue robot path planning[J].Computer Simulation,2016,33(9):392-395.

[4] 金祖进,程刚,郭锋,等.煤矿搜救机器人最优路径规划算法[J].工矿自动化,2018,44(10):24-28.

JIN Zujin,CHENG Gang,GUO Feng,et al.Optimal path planning algorithm for coal mine search and rescue robot[J].Industry and Mine Automation,2018,44(10):24-28.

[5] 房伟.多搜救机器人协作搜索及路径规划研究[D].武汉:武汉理工大学,2013.

FANG Wei.Research on multi-robot for search and rescue collaborative exploration and path planning [D].Wuhan:Wuhan University of Technology,2013.

[6] 张晓莉,王秦飞,冀汶莉.一种改进的自适应惯性权重的粒子群算法[J].微电子学与计算机,2019,36(3):66-70.

ZHANG Xiaoli,WANG Qinfei,JI Wenli.An improved particle swarm optimization algorithm for adaptive inertia weight[J].Microelectronics & Computer,2019,36(3):66-70.

[7] 吴高超.基于粒子群算法的路径规划问题研究[D].秦皇岛:燕山大学,2016.

WU Gaochao.The research on path planning based on particle swarm optimization algorithm [D].Qinhuangdao:Yanshan University,2016.

[8] GHEISARI S,MEYBODI M R.BNC-PSO:structure learning of Bayesian networks by particle swarm optimization [J].Information Sciences,2016,348:272-289.

[9] 张万绪,张向兰,李莹.基于改进粒子群算法的智能机器人路径规划[J].计算机应用,2014,34(2):510-513.

ZHANG Wanxu,ZHANG Xianglan,LI Ying.Path planning for intelligent robots based on improved particle swarm optimization algorithm[J].Journal of Computer Applications,2014,34(2):510-513.

[10] 杜江,袁中华,王景芹.动态改变惯性权重的新模式粒子群算法[J].安徽大学学报(自然科学版),2018,42(2):60-66.

DU Jiang,YUAN Zhonghua,WANG Jingqin.New model of particle swarm optimization algorithm with dynamically changing inertia weight[J].Journal of Anhui University(Natural Science Edition),2018,42(2):60-66.

[11] 卢广华.基于智能算法的地下管网路径规划研究[D].天津:天津大学,2014.

LU Guanghua.Research of path planning for underground pipeline based on intelligent algorithm[D].Tianjin:Tianjin University,2014.

[12] 池越,周亚同.基于梯度搜索因子的粒子群改进算法研究[J].科技视界,2013(19):20-22.

CHI Yue,ZHOU Yatong.Research on improved particle swarm optimization algorithm based on gradient search factor[J].Science & Technology Vision,2013(19):20-22.

[13] 李俊,汪冲,李波,等.基于多策略协同作用的粒子群优化算法[J].计算机应用,2016,36(3):681-686.

LI Jun,WANG Chong,LI Bo,et al.Particle swarm optimization algorithm based on multi-strategy synergy[J].Journal of Computer Applications,2016,36(3):681-686.

[14] 李雅琼.基于粒子群算法的遗传算法优化研究[J].兰州文理学院学报(自然科学版),2017,31(1):55-60.

LI Yaqiong.Research on genetic algorithm optimization based on particle swarm optimization[J].Journal of Lanzhou University of Arts and Science(Natural Science Edition),2017,31(1):55-60.

[15] 曾辰.轮式移动机器人的路径规划[D].南昌:南昌航空大学,2015.

ZENG Chen.Path planning of wheeled mobile robot[D].Nanchang:Nanchang Hangkong University,2015.

Path planning of mine search and rescue robot based on two-particle swarm optimization algorithm

FENG Shuo,XIE Tingchuan,KANG Jing,LI Jianliang

(School of Construction Machinery, Chang'an University, Xi'an 710064, China)

Abstract:In view of problems of slow iterative speed and low solution accuracy of standard particle swarm optimization algorithm used in the path planning of mine search and rescue robot in complex terrain, a path planning method for mine search and rescue robot based on two-particle swarm optimization algorithm was proposed. Firstly, the obstacles are expanded into regular polygons to build an environment model, and then the improved two-particle swarm optimization algorithm is used as the path optimization algorithm. When the sensor detects obstacles within a certain distance in front of the search and rescue robot, it starts to run the improved two-particle swarm optimization algorithm: particle swarm optimization algorithm with improved learning factor (CPSO) grows in steps, which is suitable for finding paths in relatively open areas, while particle swarm optimization algorithm with dynamic velocity weight (PPSO) has small particle steps, which makes it good at finding paths in complex and variable areas of obstacle shapes. Then the algorithm evaluates the paths obtained by the two particle swarm optimization algorithms whether meet the obstacle avoidance requirements or not. If both meet the obstacle avoidance requirements, the shortest path is selected as the final path. Finally, the optimal driving path of the mine search and rescue robot in the whole road condition model is obtained. The simulation results show that the convergence speed of particle swarm optimization algorithm is improved by improving the learning factor and adding the dynamic velocity weight, and the optimal solution fluctuation range is reduced; the improved two-particle swarm optimization algorithm can be effectively combined with the path planning model, and the optimal path can be found in the complex road section, which improves the success rate of path planning and shortens the path length.

Key words:mine search and rescue robot; robot obstacle avoidance; two-particle swarm optimization algorithm; path planning model; improving the learning factor; dynamic velocity weight

中图分类号:TD67

文献标志码:A

文章编号1671-251X(2020)01-0065-07

DOI:10.13272/j.issn.1671-251x.2019050092

收稿日期:2019-05-27;修回日期:2019-09-26;责任编辑:张强。

基金项目:国家自然科学基金项目(61803038);陕西省自然科学基金项目(211425180248);中央高校基本科研业务费专项资金项目(300102258113)。

作者简介:封硕(1987-),男,陕西西安人,讲师,博士,研究方向为人工智能,E-mail:shuo_feng@yeah.net。

引用格式:封硕,谢廷船,康靖,等.基于双粒子群算法的矿井搜救机器人路径规划[J].工矿自动化,2020,46(1):65-71.

FENG Shuo,XIE Tingchuan,KANG Jing,et al.Path planning of mine search and rescue robot based on two-particle swarm optimization algorithm[J].Industry and Mine Automation,2020,46(1):65-71.