CN110471419B - 一种基于差分进化烟花算法的多机器人协同路径规划方法 - Google Patents

一种基于差分进化烟花算法的多机器人协同路径规划方法 Download PDF

Info

Publication number
CN110471419B
CN110471419B CN201910784067.1A CN201910784067A CN110471419B CN 110471419 B CN110471419 B CN 110471419B CN 201910784067 A CN201910784067 A CN 201910784067A CN 110471419 B CN110471419 B CN 110471419B
Authority
CN
China
Prior art keywords
fireworks
path
robot
firework
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910784067.1A
Other languages
English (en)
Other versions
CN110471419A (zh
Inventor
张祥银
夏爽
李秀智
薛裕颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201910784067.1A priority Critical patent/CN110471419B/zh
Publication of CN110471419A publication Critical patent/CN110471419A/zh
Application granted granted Critical
Publication of CN110471419B publication Critical patent/CN110471419B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Numerical Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于差分进化烟花算法的多机器人协同路径规划方法,属于机器人导航与控制技术领域,目的在于提供一种有效的多机器人协同路径规划方法,可以较快地为多个机器人计算出性能较优的运动路径,保障多机器人安全的运行到各自的目标点。本发明在基本烟花算法的基础上增加差分进化火花,选取父代中多个烟花进行组合、变异操作生成新的火花,从而得到了多样性较高的个体以提高烟花群体的多样性,以此来使得算法具有了更好的搜索能力,且能够有效的避免陷入局部最小值。改进算法相比于基本的烟花算法,表现出了更好的优化性能,改进算法收敛速度更快、收敛精度更高,且规划出的路径更短、更平滑。

Description

一种基于差分进化烟花算法的多机器人协同路径规划方法
技术领域
本发明是一种基于差分进化烟花算法的多机器人协同路径规划方法,属于机器人导航与控制技术领域。
背景技术
路径规划是机器人导航技术的一个重要研究方向。多机器人路径规划要求在同一个空间环境内为每一个机器人规划一条起始点到目标点的安全路径。其需要解决的主要问题包括:(1)寻找最优的路径;(2)解决机器人与障碍物的碰撞问题;(3)协调多个机器人的运动,确保机器人之间不发生碰撞。因此进行规划时不仅要考虑路径长度、路径平滑度、路径安全还要考虑机器人间的避障问题。多机器的路径规划是以单个机器人进行路径规划为基础,需要解决多机器人之间协调问题,以确保机器人之间不发生碰撞以及绕开障碍物。多机器人的协作策略是多机器人系统执行任务的前提。
烟花算法由北大谭营教授、朱元春于2010年在国际群体智能大会上首次提出。其模拟烟花爆炸产生火花这一现象,属于非生物群体的智能优化方法,具有自适应性强、鲁棒性强等优点。烟花算法的基本思想在于:由多个个体(火花)组成群体,通过个体之间的相互协同使个体对环境的适应性变得越来越好,从而逼近最优解。在整个解空间中,烟花可以作为最优化问题的一个可行解,爆炸产生火花的过程类似于搜索其所在的局部区域。为了平衡局部搜索能力和全局探索能力,在烟花算法中,较好的烟花会在更小的爆炸范围内分配到更多的搜索资源,而较差的烟花则在更大的爆炸范围内分配到更少的搜索资源,这样较好的烟花负责在好的区域进行更好的局部搜索,而较差的烟花因为其更大的爆炸范围负责全局搜索,两者的协同搜索就是该算法所表现出的群体智能。
差分进化算法是由Storn和Price于1995年首次提出的一种基于群体进化的启发式算法。其具有简单高效、收敛速度快、鲁棒性好等优点,并在优化问题上有出色的表现。差分进化算法从原始种群开始,通过变异、交叉和选择操作来生成新种群,是一种随机的并行全局搜索算法,具有记忆个体最优解和种群内信息共享的特点,即通过种群内个体间的合作与竞争来实现对优化问题的求解。其基本思想在于:按照进化规则生成新一代群体,并通过计算函数适应度值判断个体的好坏,保留优秀的个体(适应度值较好)、淘汰较差的个体(适应度值较差)来引导个体向最优解逼近。
发明内容
本发明提出了一种基于差分进化烟花算法的多机器人协同路径规划方法。其目的在于提供一种有效的多机器人协同路径规划方法,可以较快地为多个机器人计算出性能较优的运动路径,保障多机器人安全的运行到各自的目标点。
具体技术方案如下:
本发明提出的差分进化烟花算法具有收敛速度快、优化效果好等特点,能够有效地解决多机器人系统的协同路径规划问题,该方法的具体应用步骤如下:
准备工作:机器人的起始点S、目标点T、各个障碍物在环境中的位置均为已知。设机器人个数为R,环境中存在的障碍物个数为H,规划空间的上下边界为max、min,算法的最大迭代次数为iter。
步骤一:建立以ST为X'轴的旋转坐标系X'-S-Y',将起始点、目标点和障碍物的位置坐标转换到旋转坐标系中,其中机器人的起始点S、目标点T、各个障碍物在环境中的位置均为已知,环境中存在的障碍物个数为H,机器人规划出的路径为path={P0,P1,P2,…,PD,PD+1},其中P0、PD+1分别表示起始点PS和目标点PT,Pi表示第i个路径点;
步骤二:运用D条平行直线簇L1,L2,…,LD将ST垂直平分成D+1段,每段的距离为Δl=||ST||/(D+1),其中||ST||为ST的长度,路径点P1,P2,…,PD即对应位于直线L1,L2,…,LD上;
步骤三:令迭代次数t=1,初始化R组烟花,每组烟花个数为N,烟花维数为D,每组烟花表示为向量组
Figure BDA0002177462390000021
其中,
Figure BDA0002177462390000022
表示第r组第i个烟花,即对应第r个机器人的第i条完整的路径,i=1,2…,N,
Figure BDA0002177462390000023
表示第r组第i个烟花的第D个路径点;
初始化R组烟花,即随机生成R个机器人对应的路径,每组烟花个数为N,即每个机器人初始化N条路径,烟花维数为D,即每条路径上有D个路径点。
烟花和火花都对应机器人的一条完整路径,烟花对应每次迭代最开始的N条路径,火花对应由这N个烟花经过爆炸、变异、差分进化操作生成的新的路径,所以根据不同操作有爆炸火花、高斯变异火花、差分进化火花。
步骤四:计算R组烟花群体的适应度,分别保存每组中最优烟花、最优烟花适应度值和每个烟花对应的路径长度,所述的最优烟花是指适应度值最小的烟花。
适应度即烟花对应的路径的优秀程度,适应度值越小,烟花对应的路径越好,适应度值越大,烟花对应的路径越差。
所述的最优烟花即对应机器人的最优路径;
步骤五:计算每组中烟花的碰撞程度,即所有路径的碰撞程度,并将各组中较优的烟花保存到可行档案File中,不同组的可行档案File相互独立,所述的较优的烟花具体指碰撞程度由低到高的Na个烟花,Na的取值范围为3到8之间的整数值;
所述的较优的烟花即对应机器人与障碍物碰撞程度较低的路径。
步骤六:计算每组中烟花
Figure BDA0002177462390000031
生成的爆炸火花数目
Figure BDA0002177462390000032
和爆炸半径
Figure BDA0002177462390000033
步骤七:对所有烟花
Figure BDA0002177462390000034
进行爆炸操作,即在烟花
Figure BDA0002177462390000035
中随机选择z个路径点,i=1,2…,N,计算每个路径点对应的偏移量
Figure BDA0002177462390000036
生成爆炸火花,即对应机器人新的完整路径。
步骤八:将超出边界的爆炸火花映射到新位置,计算每个爆炸火花的适应度和碰撞程度,所述的超出边界指火花上的路径点超出了预设的规划空间的上下边界;
步骤九:对所有烟花
Figure BDA0002177462390000037
进行高斯变异操作,在烟花
Figure BDA0002177462390000038
中随机选择z个路径点,i=1,2…,N,计算每个路径点对应的变异参数e,生成高斯变异火花,即对应机器人新的完整路径。
步骤十:将超出边界的高斯变异火花映射到新位置,计算每个高斯变异火花的适应度和碰撞程度。
步骤十一:对所有烟花
Figure BDA0002177462390000039
进行差分进化操作,生成差分进化火花,即对应机器人新的完整路径,将超出边界的差分进化火花映射到新位置,计算每个差分进化火花的适应度和碰撞程度。
步骤十二:将每组中烟花、爆炸火花、高斯变异火花和差分进化火花对应组成R个Allfire数组。
步骤十三:在每个Allfire数组中选取全局最优个体作为每组新一代的烟花。
步骤十四:运用轮盘赌的方法在每个Allfire数组中选择N-1个个体,并与步骤十三中选取的烟花共同组成每组新一代的烟花Xr(t+1)。
步骤十五:令t=t+1,判断是否满足t>iter。如果不满足,将新一代烟花Xr(t+1)返回步骤四进行迭代;如果满足,认为运算结束,输出每组最优的烟花。
步骤十六:将R组最优的烟花转换到X-O-Y坐标系中,输出R条安全的路径。
补充说明:
步骤一中所述的坐标转换公式为:
Figure BDA0002177462390000041
上式中(xs,ys)为机器人起始位置,(x,y)、(x',y')分别为坐标系X-O-Y和X'-S-Y'中任意一个相同点的坐标位置,θ为X'轴与X轴的夹角。
烟花和火花的适应度F计算公式如下:
F=w1·Flength+w2·(Fsafe,ob+Fsafe,ro)+w3·Fsmooth (2)
其中,
公式(2)中w1,w2,w3为权重系数,值在0到1之间,且w1+w2+w3=1。
公式(2)中Flength为路径长度函数,计算公式如下:
Figure BDA0002177462390000042
上式中||Pi+1-Pi||表示路径点Pi+1和Pi间的欧几里德距离;
公式(2)中Fsafe,ob为路径碰撞风险度,计算公式如下:
Figure BDA0002177462390000043
Figure BDA0002177462390000044
公式(4)、(5)中Pi为第i个路径点,Pobs,j为第j个障碍物的位置。
公式(5)中Rj是第j个障碍物的最大影响范围,ρ∈[1,5]、C∈[0.5,2]是障碍物影响因子,决定障碍物的影响范围,Rj=1.5×Rrobot,Rrobot为机器人的半径。
公式(2)中Fsafe,ro为机器人间碰撞风险度,计算公式如下:
Figure BDA0002177462390000045
Figure BDA0002177462390000051
Figure BDA0002177462390000052
公式(6)~(8)中
Figure BDA0002177462390000053
Figure BDA0002177462390000054
为机器人a的第ma个路径段与机器人b的第mb个路径段的相交点,mr=1,2,...,D+1,dpo,r为第r个机器人从起始点到相交点的路径长度,r=a或b,a、b为1~R中任意两个不相同的数,va,vb为机器人a,b的运行速度,Pq,r为第r个机器人的第q个路径点,当q=0时为第r个机器人的起始点,danger为碰撞系数,取值范围为[0.1,10]。
公式(2)中Fsmooth为路径平滑度函数,计算公式如下:
Figure BDA0002177462390000055
上式中αi表示路径第i个偏转角度,αi∈(0,π),(Pi-Pi-1)·(Pi+1-Pi)表示Pi-Pi-1、Pi+1-Pi的内积,|Pi-Pi-1|、|Pi+1-Pi|表示向量范数。
步骤五中,可行档案File用来存放优化过程中较优的Na个路径,且每次存放时清空之前存放的Na个路径。
所述的碰撞程度cv计算公式如下:
Figure BDA0002177462390000056
上式中cv为机器人碰撞程度,当机器人路径中第i个路径段Pi-1,Pi与第k个障碍物出现相交情况时,认为路径段与障碍物发生碰撞,此时cvi,k=1,否则cvi,k=0。
步骤六中,烟花
Figure BDA0002177462390000057
对应的爆炸火花数目
Figure BDA0002177462390000058
计算公式如下:
Figure BDA0002177462390000059
Figure BDA00021774623900000510
公式(11)中round(﹒)是根据四舍五入原则取整的函数;a、b是两个常数,a=0.04、b=0.8。
公式(12)中M是调整生成爆炸火花个数的常数,M的取值范围为20到80之间的整数值,
Figure BDA0002177462390000061
为第r组烟花种群中最大适应度值,i=1,2,…,N,r=1,2,...,R,ε是机器最小量,为2-52,用于避免除零操作。
步骤六中,烟花
Figure BDA0002177462390000062
的爆炸半径
Figure BDA0002177462390000063
计算公式如下:
Figure BDA0002177462390000064
上式中
Figure BDA0002177462390000065
是调整爆炸半径大小的常数,取值范围是[50,200],
Figure BDA0002177462390000066
为第r组烟花种群中最小适应度值,i=1,2,…,N,r=1,2,...,R,ε是机器最小量,用来避免除零操作。
步骤七中,所述的第r组第i个烟花的第q个路径点的偏移量
Figure BDA0002177462390000067
计算公式如下:
Figure BDA0002177462390000068
上式中U(-1,1)代表-1到1中均匀分配的随机数。
步骤七中,烟花爆炸公式如下所示:
Figure BDA0002177462390000069
上式中
Figure BDA00021774623900000610
是爆炸前的第r组第i个烟花的第q个路径点,
Figure BDA00021774623900000611
是爆炸后的第r组第i个烟花的第q个路径点,i=1,2,...,N,q=1,2,...,z,z为1到D之间的随机整数值。
所述的映射规则如下:
Figure BDA00021774623900000612
上式中
Figure BDA00021774623900000613
为映射到的新位置,
Figure BDA00021774623900000614
为映射前的位置,
Figure BDA00021774623900000615
Figure BDA00021774623900000616
为解空间中路径点q的上、下边界。
步骤九中,高斯变异火花计算公式如下:
Figure BDA00021774623900000617
上式中i=1,2,...,N,q=1,2,...,z,z为1到D之间的随机整数值,每个路径点对应的变异参数e=N(1,1),N(1,1)为均值为1且方差为1的高斯分布;
其中,步骤十一中,按如下子步骤计算差分进化火花:
子步骤一:计算第i个烟花的变异概率
Figure BDA0002177462390000071
其计算公式如下:
Figure BDA0002177462390000072
上式中,
Figure BDA0002177462390000073
为第r组第i个烟花对应的机器人碰撞程度。
子步骤二:生成[0,1]内的随机数random,当
Figure BDA0002177462390000074
时转到子步骤三。否则令i=i+1,转到子步骤一;
子步骤三:从档案File中随机提取两个烟花
Figure BDA0002177462390000075
Figure BDA0002177462390000076
利用最优烟花
Figure BDA0002177462390000077
即第t次迭代时的全局最优个体,在第1次迭代时,选择步骤四中的最优烟花作为全局最优个体,生成差分进化火花的计算公式如下:
Figure BDA0002177462390000078
上式中,ω为差分进化的缩放因子,取值范围是[0.01,0.1]。
子步骤四:令i=i+1,当i>N时运算结束,否则转到子步骤一。
步骤十三中,选取全局最优个体的方法如下:(1)当Allfire数组中选取的个体(包括本次迭代中所有的烟花和火花)和全局最优个体均为可行解,即路径碰撞程度
Figure BDA0002177462390000079
时,此处
Figure BDA00021774623900000710
为第r个Allfire数组中的第i个个体,r=1,2,...,R,i=1,2,...,Ω,Ω为Allfire数组中个体总数:如果满足适应度值
Figure BDA00021774623900000711
选择
Figure BDA00021774623900000712
作为全局最优个体;如果满足适应度值
Figure BDA00021774623900000713
则随机从
Figure BDA00021774623900000714
Figure BDA00021774623900000715
中选择一个个体作为全局最优个体;如果都不满足时,则全局最优个体保持不变。
(2)当Allfire数组中选取的个体和全局最优个体均为不可行解,即路径碰撞程度
Figure BDA00021774623900000716
时:如果满足适应度值
Figure BDA00021774623900000717
选择
Figure BDA00021774623900000718
作为全局最优个体;如果满足适应度值
Figure BDA00021774623900000719
则随机从
Figure BDA00021774623900000720
Figure BDA00021774623900000721
中选择一个个体作为全局最优个体;如果都不满足时,则全局最优个体保持不变。
(3)当Allfire数组中选取的个体是可行解而全局最优个体为不可行解,即
Figure BDA00021774623900000722
Figure BDA00021774623900000723
时,选择
Figure BDA00021774623900000724
作为全局最优个体。
(4)当Allfire数组中选取的个体是不可行解而全局最优个体为可行解,即
Figure BDA00021774623900000725
Figure BDA0002177462390000081
时,则全局最优个体保持不变。
其中,步骤十四中,运用轮盘赌的方法随机选择个体时,每个个体被选择的概率用如下公式计算:
Figure BDA0002177462390000082
Figure BDA0002177462390000083
公式(20)、(21)中,Ω为Allfire数组中个体总数,即烟花、爆炸火花、高斯变异火花和差分进化火花个数的总和;
Figure BDA0002177462390000084
为除了
Figure BDA0002177462390000085
以外所有个体间距离的总和。
其中,步骤十五中,每组最优的烟花即为步骤十三中选取的新一代烟花。
有益效果:
本发明提出了一种基于差分进化烟花算法的多机器人协同路径规划方法。所提出的的改进算法在基本烟花算法的基础上增加差分进化火花,选取父代中多个烟花进行组合、变异操作生成新的火花,从而得到了多样性较高的个体以提高烟花群体的多样性,以此来使得算法具有了更好的搜索能力,且能够有效的避免陷入局部最小值。将差分进化烟花算法应用于多机器人协同路径规划问题时,改进算法相比于基本的烟花算法,表现出了更好的优化性能,改进算法收敛速度更快、收敛精度更高,且规划出的路径更短、更平滑。通过路径碰撞度和目标优化模型来选择最优火花位置,在保障了路径安全的前提下选择最优路径,能够使多机器人按照各自路径运动而不存在任何碰撞问题。差分进化烟花算法是一种有效的多机器人路径规划方法,可以较快地规划出满足要求的多机器人协同路径,保障多机器人可以安全快速的运动到各自的目标点。
附图说明
图1是坐标转换示意图。
图2是差分进化烟花算法流程图。
图3是差分进化烟花算法路径规划图。
图4是差分进化烟花算法路径规划相交点图。
图5是机器人到达相交点所需时间表。
具体实施方式
下面结合具体实施过程对本发明进行进一步描述,以图3的环境为例进行说明:
准备工作:对多个机器人同时进行路径规划,机器人个数R=3,设每个机器人的运行速度相同且v=1m/s。参数取值如下:烟花个数N=8;搜索空间上、下限为max=200、min=0;最大迭代次数iter=200;
Figure BDA0002177462390000096
爆炸火花粒子常数M=64;机器人安全距离Rj=0.5;差分进化的缩放因子ω=0.05;障碍物影响范围参数ρ=3、C=1。在起始点、目标点均相同的情况下进行路径规划,设起始点坐标为PS=[20,20],目标点坐标为PT=[180,180],障碍物位置如图3所示。设火花维度D=9。
步骤一:建立以ST为X'轴的旋转坐标系X'-S-Y',对起始点、目标点和障碍物的坐标进行转换。
坐标转换公式为:
Figure BDA0002177462390000091
步骤二:运用9条平行直线簇L1,L2,…,L9将ST垂直平分成10段,每段的距离为△l=22.6。
步骤三:令迭代次数t=1,初始化3组烟花,每组烟花个数为8,且烟花维数为9,每组烟花表示为向量组
Figure BDA0002177462390000092
其中,
Figure BDA0002177462390000093
表示第r组第i个烟花,r=1,2,3,i=1,2…,8。
步骤四:计算3组烟花群体的适应度,并分别保存每组最优烟花、最优烟花适应度值和每个烟花对应的路径长度。
烟花和火花的适应度F计算公式如下:
F=0.6×Flength+0.25×(Fsafe,ob+Fsafe,ro)+0.15×Fsmooth (23)
其中,
公式(23)中,路径长度函数Flength计算公式如下:
Figure BDA0002177462390000094
公式(23)中,路径碰撞风险度Fsafe,ob计算公式如下:
Figure BDA0002177462390000095
Figure BDA0002177462390000101
公式(23)中,机器人间碰撞风险度Fsafe,ro计算公式如下:
Figure BDA0002177462390000102
Figure BDA0002177462390000103
Figure BDA0002177462390000104
公式(23)中,路径平滑度函数Fsmooth计算公式如下:
Figure BDA0002177462390000105
步骤五:计算每组中烟花的碰撞程度,即所有路径的碰撞程度,并将各组中较优的4个烟花保存到可行档案File中,不同组的可行档案File相互独立。每条路径的碰撞程度计算公式如下:
Figure BDA0002177462390000106
步骤六:计算每组中烟花
Figure BDA0002177462390000107
生成的爆炸火花数目
Figure BDA0002177462390000108
和爆炸半径
Figure BDA0002177462390000109
烟花
Figure BDA00021774623900001010
对应的爆炸火花数目
Figure BDA00021774623900001011
计算公式如下:
Figure BDA00021774623900001012
Figure BDA00021774623900001013
Figure BDA00021774623900001014
公式(34)中,i=1,2,...,8。
烟花
Figure BDA00021774623900001015
的爆炸半径
Figure BDA00021774623900001016
计算公式如下:
Figure BDA0002177462390000111
Figure BDA0002177462390000112
公式(36)中,i=1,2,...,8。
步骤七:对所有烟花
Figure BDA0002177462390000113
进行爆炸操作,即在烟花
Figure BDA0002177462390000114
中随机选择z个路径点,i=1,2…,8,计算每个路径点对应的偏移量
Figure BDA0002177462390000115
生成爆炸火花,即对应机器人新的完整路径。
偏移量
Figure BDA0002177462390000116
计算公式如下:
Figure BDA0002177462390000117
上式中U(-1,1)代表-1到1中均匀分配的随机数。烟花爆炸公式如下所示:
Figure BDA0002177462390000118
上式中i=1,2,...,8,q=1,2,...,z,z为1到9之间的随机整数值。
步骤八:将超出边界的爆炸火花映射到新位置,由公式(23)~(31)计算每个爆炸火花的适应度和碰撞程度。
映射规则如下:
Figure BDA0002177462390000119
步骤九:对所有烟花
Figure BDA00021774623900001110
进行高斯变异操作,在烟花
Figure BDA00021774623900001111
中随机选择z个路径点,i=1,2…,8,计算每个路径点对应的变异参数e,生成高斯变异火花,即对应机器人新的完整路径。高斯变异火花计算公式如下:
Figure BDA00021774623900001112
上式中i=1,2,...,8,q=1,2,...,z,z为1到9之间的随机整数值。每个路径点对应的变异参数e=N(1,1),N(1,1)为均值为1且方差为1的高斯分布。
步骤十:将超出边界的高斯变异火花映射到新位置,映射规则如公式(39)所示。由公式(23)~(31)计算每个高斯变异火花的适应度和碰撞程度。
步骤十一:按如下子步骤对所有烟花
Figure BDA00021774623900001113
进行差分进化操作,生成差分进化火花,即对应机器人新的完整路径,由公式(39)将超出边界的差分进化火花映射到新位置,由公式(23)~(31)计算每个差分进化火花的适应度和碰撞程度。
子步骤一:计算第i个烟花的变异概率
Figure BDA0002177462390000121
其计算公式如下:
Figure BDA0002177462390000122
子步骤二:生成[0,1]内的随机数random,当
Figure BDA0002177462390000123
时转到步子步骤三。否则令i=i+1,转到子步骤一。
子步骤三:从档案File中随机提取两个烟花
Figure BDA0002177462390000124
Figure BDA0002177462390000125
利用最优烟花
Figure BDA0002177462390000126
即第t次迭代时的全局最优个体,在第1次迭代时,选择步骤四中的最优烟花作为全局最优个体,生成差分进化火花的计算公式如下:
Figure BDA0002177462390000127
子步骤四:令i=i+1,当i>8时运算结束,否则转到子步骤一。
步骤十二:将每组中烟花、爆炸火花、高斯变异火花和差分进化火花对应组成3个Allfire数组。
步骤十三:在每个Allfire数组中选取全局最优个体作为每组新一代的烟花。选取全局最优个体的方法如下:
(1)当Allfire数组中选取的个体(包括本次迭代中所有的烟花和火花)和全局最优个体均为可行解,即路径碰撞程度
Figure BDA0002177462390000128
时,此处
Figure BDA0002177462390000129
为第r个Allfire数组中的第i个个体,r=1,2,3,i=1,2,...,Ω,Ω为Allfire数组中个体总数:如果满足适应度值
Figure BDA00021774623900001210
选择
Figure BDA00021774623900001211
作为全局最优个体;如果满足适应度值
Figure BDA00021774623900001212
则随机从
Figure BDA00021774623900001213
Figure BDA00021774623900001214
中选择一个个体作为全局最优个体;如果都不满足时,则全局最优个体保持不变。
(2)当Allfire数组中选取的个体和全局最优个体均为不可行解,即路径碰撞程度
Figure BDA00021774623900001215
时:如果满足适应度值
Figure BDA00021774623900001216
选择
Figure BDA00021774623900001217
作为全局最优个体;如果满足适应度值
Figure BDA00021774623900001218
则随机从
Figure BDA00021774623900001219
Figure BDA00021774623900001220
中选择一个个体作为全局最优个体;如果都不满足时,则全局最优个体保持不变。
(3)当Allfire数组中选取的个体是可行解而全局最优个体为不可行解,即
Figure BDA00021774623900001221
Figure BDA00021774623900001222
时,选择
Figure BDA00021774623900001223
作为全局最优个体。
(4)当Allfire数组中选取的个体是不可行解而全局最优个体为可行解,即
Figure BDA0002177462390000131
Figure BDA0002177462390000132
时,则全局最优个体保持不变。
步骤十四:运用轮盘赌的方法在每个Allfire数组中选择7个个体,并与步骤十三中选取的烟花共同组成每组新一代的烟花Xr(t+1)。
每个个体被选择的概率用如下公式计算:
Figure BDA0002177462390000133
Figure BDA0002177462390000134
公式(43)、(44)中,Ω为Allfire数组中个体总数,即烟花、爆炸火花、高斯变异火花和差分进化火花个数的总和。
步骤十五:令t=t+1,判断是否满足t>200。如果不满足,将新一代烟花Xr(t+1)返回步骤四进行迭代;如果满足,认为运算结束,输出每组最优的烟花,即步骤十三中选取的新一代烟花。
步骤十六:将3组最优的烟花转换到X-O-Y坐标系中,输出3条安全的路径。
图3显示了通过上述计算步骤得到的三个机器人路径规划结果,图4标明了这三个机器人规划路径上的相交点,而图5表示了这三个机器人到达相交点所需要的时间。从路径规划结果图中可以看到规划出的三条路径存在相交情况。三个机器人同时从起点出发且运行速度相同,图5中序号1-12代表12个相交点,每一行代表一个交点涉及到的机器人运行到该点所需的时间。机器人1、2在点11处相交,且后面的路径完全重合,由图5中序号11行可以看出两个机器人运行到该点的时间不同,所以后续路径不存在碰撞问题。根据图5中的所有数据可以得出:在多机器人起点与目标点均相同的前提下,规划出的路径存在相交情况时,任意一个交点涉及的机器人运行到该点所需的时间不同,所以机器人按照规划出的路径运行时不存在任何碰撞的问题。本发明所提差分进化烟花算法是一种有效的多机器人路径规划方法,可以较快地规划出较优的多机器人路径,并保障多机器人可以安全运行到目标点。

Claims (1)

1.一种基于差分进化烟花算法的多机器人协同路径规划方法,其特征在于包括以下步骤:
步骤一:建立以ST为X'轴的旋转坐标系X'-S-Y',将起始点、目标点和障碍物的位置坐标转换到旋转坐标系中,其中机器人的起始点S、目标点T、各个障碍物在环境中的位置均为已知,环境中存在的障碍物个数为H,机器人规划出的路径为path={P0,P1,P2,…,PD,PD+1},其中P0、PD+1分别表示起始点PS和目标点PT,Pi表示第i个路径点;
步骤二:运用D条平行直线簇L1,L2,…,LD将ST垂直平分成D+1段,每段的距离为Δl=||ST||/(D+1),其中||ST||为ST的长度,路径点P1,P2,…,PD即对应位于直线L1,L2,…,LD上;
步骤三:令迭代次数t=1,初始化R组烟花,每组烟花个数为N,烟花维数为D,每组烟花表示为向量组
Figure FDA0003633392000000011
r=1,2…,R,其中,
Figure FDA0003633392000000012
表示第r组第i个烟花,即对应第r个机器人的第i条完整的路径,i=1,2…,N,
Figure FDA0003633392000000013
表示第r组第i个烟花的第D个路径点;
步骤四:计算R组烟花群体的适应度,分别保存每组中最优烟花、最优烟花适应度值和每个烟花对应的路径长度,所述的最优烟花是指适应度值最小的烟花;
步骤五:计算每组中烟花的碰撞程度,即所有路径的碰撞程度,并将各组中较优的烟花保存到可行档案File中,不同组的可行档案File相互独立,所述的较优的烟花具体指碰撞程度由低到高的Na个烟花,Na的取值范围为3到8之间的整数值;
步骤六:计算每组中烟花
Figure FDA0003633392000000014
生成的爆炸火花数目
Figure FDA0003633392000000015
和爆炸半径
Figure FDA0003633392000000016
步骤七:对所有烟花
Figure FDA0003633392000000017
r=1,2…,R,进行爆炸操作,即在烟花
Figure FDA0003633392000000018
中随机选择z个路径点,i=1,2…,N,计算每个路径点对应的偏移量
Figure FDA0003633392000000019
生成爆炸火花,即对应机器人新的完整路径;
步骤八:将超出边界的爆炸火花映射到新位置,计算每个爆炸火花的适应度和碰撞程度,所述的超出边界指火花上的路径点超出了预设的规划空间的上下边界;
步骤九:对所有烟花
Figure FDA00036333920000000110
r=1,2…,R,进行高斯变异操作,在烟花
Figure FDA00036333920000000111
中随机选择z个路径点,i=1,2…,N,计算每个路径点对应的变异参数e,生成高斯变异火花,即对应机器人新的完整路径;
步骤十:将超出边界的高斯变异火花映射到新位置,计算每个高斯变异火花的适应度和碰撞程度;
步骤十一:对所有烟花
Figure FDA0003633392000000021
r=1,2…,R,进行差分进化操作,生成差分进化火花,即对应机器人新的完整路径,将超出边界的差分进化火花映射到新位置,计算每个差分进化火花的适应度和碰撞程度;
步骤十二:将每组中烟花、爆炸火花、高斯变异火花和差分进化火花对应组成R个Allfire数组;
步骤十三:在每个Allfire数组中选取全局最优个体作为每组新一代的烟花;
步骤十四:运用轮盘赌的方法在每个Allfire数组中选择N-1个个体,并与步骤十三中选取的烟花共同组成每组新一代的烟花Xr(t+1);
步骤十五:令t=t+1,判断是否满足t>iter;如果不满足,将新一代烟花Xr(t+1)返回步骤四进行迭代;如果满足,认为运算结束,输出每组最优的烟花;
步骤十六:将R组最优的烟花转换到X-O-Y坐标系中,输出R条安全的路径;
进一步的,烟花和火花的适应度F计算公式如下:
F=w1·Flength+w2·(Fsafe,ob+Fsafe,ro)+w3·Fsmooth (2)
其中,
公式(2)中w1,w2,w3为权重系数,值在0到1之间,且w1+w2+w3=1;
公式(2)中Flength为路径长度函数,计算公式如下:
Figure FDA0003633392000000022
上式中‖Pi+1-Pi‖表示路径点Pi+1和Pi间的欧几里德距离;
公式(2)中Fsafe,ob为路径碰撞风险度,计算公式如下:
Figure FDA0003633392000000023
Figure FDA0003633392000000024
公式(4)、(5)中Pi为第i个路径点,Pobs,j为第j个障碍物的位置;
公式(5)中Rj是第j个障碍物的最大影响范围,ρ、C是障碍物影响因子,Rj=1.5×Rrobot,Rrobot为机器人的半径;
公式(2)中Fsafe,ro为机器人间碰撞风险度,计算公式如下:
Figure FDA0003633392000000031
Figure FDA0003633392000000032
Figure FDA0003633392000000033
公式(6)~(8)中P′ma,a与P′mb,b为机器人a的第ma个路径段与机器人b的第mb个路径段的相交点,mr=1,2,...,D+1,dpo,r为第r个机器人从起始点到相交点的路径长度,r=a或b,a、b为1~R中任意两个不相同的数,va,vb为机器人a,b的运行速度,Pq,r为第r个机器人的第q个路径点,当q=0时为第r个机器人的起始点,danger为碰撞系数;
公式(2)中Fsmooth为路径平滑度函数,计算公式如下:
Figure FDA0003633392000000034
上式中αi表示路径第i个偏转角度,αi∈(0,π),(Pi-Pi-1)·(Pi+1-Pi)表示Pi-Pi-1、Pi+1-Pi的内积,|Pi-Pi-1|、|Pi+1-Pi|表示向量范数;
进一步的,所述的碰撞程度cv计算公式如下:
Figure FDA0003633392000000035
上式中cv为机器人碰撞程度,当机器人路径中第i个路径段Pi-1,Pi与第k个障碍物出现相交情况时,认为路径段与障碍物发生碰撞,此时cvi,k=1,否则cvi,k=0;
进一步的,步骤六中,烟花
Figure FDA0003633392000000036
对应的爆炸火花数目
Figure FDA0003633392000000037
计算公式如下:
Figure FDA0003633392000000038
Figure FDA0003633392000000039
公式(11)中round(﹒)是根据四舍五入原则取整的函数;a、b是两个常数;
公式(12)中M是调整生成爆炸火花个数的常数,
Figure FDA0003633392000000041
为第r组烟花种群中最大适应度值,i=1,2,…,N,r=1,2,...,R,ε是机器最小量;
进一步的,步骤六中,烟花
Figure FDA0003633392000000042
的爆炸半径
Figure FDA0003633392000000043
计算公式如下:
Figure FDA0003633392000000044
上式中
Figure FDA0003633392000000045
是调整爆炸半径大小的常数,
Figure FDA0003633392000000046
为第r组烟花种群中最小适应度值,i=1,2,…,N,r=1,2,...,R,ε是机器最小量;
进一步的,步骤七中,所述的第r组第i个烟花的第q个路径点的偏移量
Figure FDA0003633392000000047
计算公式如下:
Figure FDA0003633392000000048
上式中U(-1,1)代表-1到1中均匀分配的随机数;
进一步的,步骤七中,烟花爆炸公式如下所示:
Figure FDA0003633392000000049
上式中
Figure FDA00036333920000000410
是爆炸前的第r组第i个烟花的第q个路径点,
Figure FDA00036333920000000411
是爆炸后的第r组第i个烟花的第q个路径点,i=1,2,...,N,q=1,2,...,z,z为1到D之间的随机整数值;
进一步的,所述的映射规则如下:
Figure FDA00036333920000000412
上式中
Figure FDA00036333920000000413
为映射到的新位置,
Figure FDA00036333920000000414
为映射前的位置,
Figure FDA00036333920000000415
Figure FDA00036333920000000416
为解空间中路径点q的上、下边界;
进一步的,步骤九中,高斯变异火花计算公式如下:
Figure FDA00036333920000000417
上式中i=1,2,...,N,q=1,2,...,z,z为1到D之间的随机整数值,每个路径点对应的变异参数e=N(1,1),N(1,1)为均值为1且方差为1的高斯分布;
其中,步骤十一中,按如下子步骤计算差分进化火花:
子步骤一:计算第i个烟花的变异概率pm(i),i=1,2…,N,其计算公式如下:
Figure FDA0003633392000000051
上式中,
Figure FDA0003633392000000052
为第r组第i个烟花对应的机器人碰撞程度;
子步骤二:生成[0,1]内的随机数random,当random<pm(i)时转到子步骤三;否则令i=i+1,转到子步骤一;
子步骤三:从档案File中随机提取两个烟花
Figure FDA0003633392000000053
Figure FDA0003633392000000054
利用最优烟花
Figure FDA0003633392000000055
即第t次迭代时的全局最优个体,生成差分进化火花的计算公式如下:
Figure FDA0003633392000000056
上式中,ω为差分进化的缩放因子;
子步骤四:令i=i+1,当i>N时运算结束,否则转到子步骤一;
进一步的,步骤十三中,选取全局最优个体的方法如下:
(1)当Allfire数组中选取的个体和全局最优个体均为可行解,即路径碰撞程度
Figure FDA0003633392000000057
Figure FDA0003633392000000058
时,此处
Figure FDA0003633392000000059
为第r个Allfire数组中的第i个个体,r=1,2,...,R,i=1,2,...,Ω,Ω为Allfire数组中个体总数:如果满足适应度值
Figure FDA00036333920000000510
选择
Figure FDA00036333920000000511
作为全局最优个体;如果满足适应度值
Figure FDA00036333920000000512
则随机从
Figure FDA00036333920000000513
Figure FDA00036333920000000514
中选择一个个体作为全局最优个体;如果都不满足时,则全局最优个体保持不变;
(2)当Allfire数组中选取的个体和全局最优个体均为不可行解,即路径碰撞程度
Figure FDA00036333920000000515
时:如果满足适应度值
Figure FDA00036333920000000516
选择
Figure FDA00036333920000000517
作为全局最优个体;如果满足适应度值
Figure FDA00036333920000000518
则随机从
Figure FDA00036333920000000519
Figure FDA00036333920000000520
中选择一个个体作为全局最优个体;如果都不满足时,则全局最优个体保持不变;
(3)当Allfire数组中选取的个体是可行解而全局最优个体为不可行解,即
Figure FDA00036333920000000521
Figure FDA00036333920000000522
选择
Figure FDA00036333920000000523
作为全局最优个体;
(4)当Allfire数组中选取的个体是不可行解而全局最优个体为可行解,即
Figure FDA00036333920000000524
Figure FDA00036333920000000525
时,则全局最优个体保持不变;
其中,步骤十四中,运用轮盘赌的方法随机选择个体时,每个个体被选择的概率用如下公式计算:
Figure FDA0003633392000000061
Figure FDA0003633392000000062
公式(20)、(21)中,Ω为Allfire数组中个体总数,即烟花、爆炸火花、高斯变异火花和差分进化火花个数的总和;
Figure FDA0003633392000000063
为除了
Figure FDA0003633392000000064
以外所有个体间距离的总和;
其中,步骤十五中,每组最优的烟花即为步骤十三中选取的新一代烟花。
CN201910784067.1A 2019-08-23 2019-08-23 一种基于差分进化烟花算法的多机器人协同路径规划方法 Active CN110471419B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910784067.1A CN110471419B (zh) 2019-08-23 2019-08-23 一种基于差分进化烟花算法的多机器人协同路径规划方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910784067.1A CN110471419B (zh) 2019-08-23 2019-08-23 一种基于差分进化烟花算法的多机器人协同路径规划方法

Publications (2)

Publication Number Publication Date
CN110471419A CN110471419A (zh) 2019-11-19
CN110471419B true CN110471419B (zh) 2022-06-14

Family

ID=68512082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910784067.1A Active CN110471419B (zh) 2019-08-23 2019-08-23 一种基于差分进化烟花算法的多机器人协同路径规划方法

Country Status (1)

Country Link
CN (1) CN110471419B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112379607B (zh) * 2021-01-18 2021-04-13 中联重科股份有限公司 模拟运行方法及装置、数量规划方法、装置及系统
CN112884116B (zh) * 2021-02-03 2022-09-13 同济大学 基于精英子集引导向量烟花算法的多智能体搜索方法
CN113673937B (zh) * 2021-08-31 2023-08-29 南京信息工程大学 一种基于多目标烟花算法的物流车辆低碳路线规划方法
CN114027974B (zh) * 2021-09-15 2023-10-13 苏州中科华影健康科技有限公司 一种多病灶点的内窥镜路径规划方法、装置及终端
CN117494919B (zh) * 2023-11-13 2024-04-19 广州力生机器人技术有限公司 一种基于多机器人协同码垛作业的路径规划方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127295A (zh) * 2016-06-21 2016-11-16 湘潭大学 一种基于自适应布谷鸟与烟花混合算法的压力容器优化设计方法
CN106776469A (zh) * 2017-03-17 2017-05-31 沈阳航空航天大学 一种基于模拟退火与高斯扰动的烟花算法
CN108846602B (zh) * 2018-05-30 2021-07-09 广东工业大学 一种基于量子烟花算法的物流运输调度方法及装置
CN109542103B (zh) * 2018-12-25 2019-12-20 北京理工大学 一种基于烟花粒子群算法的机器人焊接路径规划方法

Also Published As

Publication number Publication date
CN110471419A (zh) 2019-11-19

Similar Documents

Publication Publication Date Title
CN110471419B (zh) 一种基于差分进化烟花算法的多机器人协同路径规划方法
Zhen et al. Rotary unmanned aerial vehicles path planning in rough terrain based on multi-objective particle swarm optimization
CN110083165B (zh) 一种机器人在复杂狭窄环境下路径规划方法
CN109375625B (zh) 一种基于快速搜索遗传算法的智能船舶路径规划方法
Zhou et al. An improved flower pollination algorithm for optimal unmanned undersea vehicle path planning problem
CN108444489A (zh) 一种改进rrt算法的路径规划方法
CN111562785B (zh) 一种群集机器人协同覆盖的路径规划方法及系统
CN111678523B (zh) 一种基于star算法优化的快速bi_rrt避障轨迹规划方法
Panda et al. Evolutionary techniques for model order reduction of large scale linear systems
CN112082552A (zh) 基于改进的混合粒子群优化算法的无人机航迹规划方法
CN113485371B (zh) 一种基于改进麻雀搜索算法的水下多auv路径规划方法
Cao et al. Toward optimal rendezvous of multiple underwater gliders: 3D path planning with combined sawtooth and spiral motion
CN111880561B (zh) 城市环境下基于改进鲸鱼算法的无人机三维路径规划方法
CN109931943B (zh) 无人船舶全局路径规划方法及电子设备
CN110836670B (zh) 一种求解无人机约束航路规划的混合烟花粒子群协同方法
CN110146087A (zh) 一种基于动态规划思想的船舶路径规划方法
CN114077256A (zh) 一种水上无人船路径规划方法
CN110986958A (zh) 基于多种群协作果蝇优化的多无人机协同路径规划方法
CN112162569A (zh) 一种飞行器绕多禁飞区路径规划与决策方法
CN116225066A (zh) 一种基于混沌映射鹈鹕优化算法的无人机路径优化方法
CN110530373A (zh) 一种机器人路径规划方法、控制器及系统
Ma et al. A Fast path re-planning method for UAV based on improved A* algorithm
Sudhakara et al. Probabilistic roadmaps-spline based trajectory planning for wheeled mobile robot
CN115933637A (zh) 一种变电设备巡检机器人路径规划方法、设备及存储介质
CN115951682A (zh) 一种考虑洋流存在条件下的带约束四目标auv全局路径规划方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant