首页 / 专利库 / 人工智能 / 人工智能 / 机器人技术 / 机器人 / 群体机器人 / 一种基于差分进化烟花算法的多机器人协同路径规划方法

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

阅读:439发布:2020-05-20

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

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,每组烟花表示为向量组 其中,
表示第r组第i个烟花,即对应第r个机器人的第i条完整的
路径,i=1,2…,N, 表示第r组第i个烟花的第D个路径点;
步骤四:计算R组烟花群体的适应度,分别保存每组中最优烟花、最优烟花适应度值和每个烟花对应的路径长度,所述的最优烟花是指适应度值最小的烟花;
步骤五:计算每组中烟花的碰撞程度,即所有路径的碰撞程度,并将各组中较优的烟花保存到可行档案File中,不同组的可行档案File相互独立,所述的较优的烟花具体指碰撞程度由低到高的Na个烟花,Na的取值范围为3到8之间的整数值;
步骤六:计算每组中烟花 生成的爆炸火花数目 和爆炸半径
步骤七:对所有烟花 进行爆炸操作,即在烟花
中随机选择z个路径点,i=1,2…,N,计算每个路径点对应的偏移量 生成爆炸火花,即对应机器人新的完整路径;
步骤八:将超出边界的爆炸火花映射到新位置,计算每个爆炸火花的适应度和碰撞程度,所述的超出边界指火花上的路径点超出了预设的规划空间的上下边界;
步骤九:对所有烟花 进行高斯变异操作,在烟
花 中随机选择z个路径点,i=1,2…,N,计算每个路径点对应的变异参数e,生成高斯变异火花,即对应机器人新的完整路径。
步骤十:将超出边界的高斯变异火花映射到新位置,计算每个高斯变异火花的适应度和碰撞程度。
步骤十一:对所有烟花 进行差分进化操作,生
成差分进化火花,即对应机器人新的完整路径,将超出边界的差分进化火花映射到新位置,计算每个差分进化火花的适应度和碰撞程度。
步骤十二:将每组中烟花、爆炸火花、高斯变异火花和差分进化火花对应组成R个Allfire数组。
步骤十三:在每个Allfire数组中选取全局最优个体作为每组新一代的烟花。
步骤十四:运用轮盘赌的方法在每个Allfire数组中选择N-1个个体,并与步骤十三中选取的烟花共同组成每组新一代的烟花Xr(t+1)。
步骤十五:令t=t+1,判断是否满足t>iter。如果不满足,将新一代烟花Xr(t+1)返回步骤四进行迭代;如果满足,认为运算结束,输出每组最优的烟花。
步骤十六:将R组最优的烟花转换到X-O-Y坐标系中,输出R条安全的路径。
2.根据权利要求1所述的一种基于差分进化烟花算法的多机器人协同路径规划方法,其特征在于:
烟花和火花的适应度F计算公式如下:
F=w1·Flength+w2·(Fsafe,ob+Fsafe,ro)+w3·Fsmooth            (2)
其中,
公式(2)中w1,w2,w3为权重系数,值在0到1之间,且w1+w2+w3=1。
公式(2)中Flength为路径长度函数,计算公式如下:
上式中||Pi+1-Pi||表示路径点Pi+1和Pi间的欧几里德距离;
公式(2)中Fsafe,ob为路径碰撞险度,计算公式如下:
公式(4)、(5)中Pi为第i个路径点,Pobs,j为第j个障碍物的位置。
公式(5)中Rj是第j个障碍物的最大影响范围,ρ、C是障碍物影响因子,Rj=1.5×Rrobot,Rrobot为机器人的半径。
公式(2)中Fsafe,ro为机器人间碰撞风险度,计算公式如下:
公式(6)~(8)中 与 为机器人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为路径平滑度函数,计算公式如下:
上式中αi表示路径第i个偏转度,αi∈(0,π),(Pi-Pi-1)·(Pi+1-Pi)表示Pi-Pi-1、Pi+1-Pi的内积,|Pi-Pi-1|、|Pi+1-Pi|表示向量范数。
3.根据权利要求1所述的一种基于差分进化烟花算法的多机器人协同路径规划方法,其特征在于:
所述的碰撞程度cv计算公式如下:
上式中cv为机器人碰撞程度,当机器人路径中第i个路径段Pi-1,Pi与第k个障碍物出现相交情况时,认为路径段与障碍物发生碰撞,此时cvi,k=1,否则cvi,k=0。
4.根据权利要求1所述的一种基于差分进化烟花算法的多机器人协同路径规划方法,其特征在于:
步骤六中,烟花 对应的爆炸火花数目 计算公式如下:
公式(11)中round(﹒)是根据四舍五入原则取整的函数;a、b是两个常数;
公式(12)中M是调整生成爆炸火花个数的常数, 为第r组烟花种群中
最大适应度值,i=1,2,…,N,r=1,2,...,R,ε是机器最小量。
5.根据权利要求1所述的一种基于差分进化烟花算法的多机器人协同路径规划方法,其特征在于:步骤六中,烟花 的爆炸半径 计算公式如下:
上式中 是调整爆炸半径大小的常数, 为第r组烟花种群中最小适应
度值,i=1,2,…,N,r=1,2,...,R,ε是机器最小量。
6.根据权利要求1所述的一种基于差分进化烟花算法的多机器人协同路径规划方法,其特征在于:步骤七中,所述的第r组第i个烟花的第q个路径点的偏移量 计算公式如下:
上式中U(-1,1)代表-1到1中均匀分配的随机数。
7.根据权利要求1所述的一种基于差分进化烟花算法的多机器人协同路径规划方法,其特征在于:步骤七中,烟花爆炸公式如下所示:
上式中 是爆炸前的第r组第i个烟花的第q个路径点, 是爆炸后的第r组第i个烟花的第q个路径点,i=1,2,...,N,q=1,2,...,z,z为1到D之间的随机整数值。
8.根据权利要求1所述的一种基于差分进化烟花算法的多机器人协同路径规划方法,其特征在于:所述的映射规则如下:
上式中 为映射到的新位置, 为映射前的位置, 和 为解空间中路径点q的
上、下边界。
9.根据权利要求1所述的一种基于差分进化烟花算法的多机器人协同路径规划方法,其特征在于:步骤九中,高斯变异火花计算公式如下:
上式中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,其计算公式如下:
上式中, 为第r组第i个烟花对应的机器人碰撞程度。
子步骤二:生成[0,1]内的随机数random,当random子步骤三:从档案File中随机提取两个烟花 和 利用最优烟花 即第t次迭
代时的全局最优个体,生成差分进化火花的计算公式如下:
上式中,ω为差分进化的缩放因子;
子步骤四:令i=i+1,当i>N时运算结束,否则转到子步骤一。
10.根据权利要求1所述的一种基于差分进化烟花算法的多机器人协同路径规划方法,其特征在于:步骤十三中,选取全局最优个体的方法如下:
(1)当Allfire数组中选取的个体和全局最优个体均为可行解,即路径碰撞程度
时,此处 为第r个Allfire数组中的第i个个体,r=1,
2,...,R,i=1,2,...,Ω,Ω为Allfire数组中个体总数:如果满足适应度值
选 择 作为 全局最优个体 ;如果满足适应 度值
则随机从 和 中选择一个个体作为全局最优个体;如果
都不满足时,则全局最优个体保持不变;
(2)当Allfire数组中选取的个体和全局最优个体均为不可行解,即路径碰撞程度时:如果满足适应度值 选择 作
为全局最优个体;如果满足适应度值 则随机从 和 中选
择一个个体作为全局最优个体;如果都不满足时,则全局最优个体保持不变;
(3)当Allfire数组中选取的个体是可行解而全局最优个体为不可行解,即
时,选择 作为全局最优个体;
(4)当Allfire数组中选取的个体是不可行解而全局最优个体为可行解,即
时,则全局最优个体保持不变;
其中,步骤十四中,运用轮盘赌的方法随机选择个体时,每个个体被选择的概率用如下公式计算:
公式(20)、(21)中,Ω为Allfire数组中个体总数,即烟花、爆炸火花、高斯变异火花和差分进化火花个数的总和; 为除了 以外所有个体间距离的总和。
其中,步骤十五中,每组最优的烟花即为步骤十三中选取的新一代烟花。

说明书全文

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

技术领域

[0001] 本发明是一种基于差分进化烟花算法的多机器人协同路径规划方法,属于机器人导航与控制技术领域。

背景技术

[0002] 路径规划是机器人导航技术的一个重要研究方向。多机器人路径规划要求在同一个空间环境内为每一个机器人规划一条起始点到目标点的安全路径。其需要解决的主要问题包括:(1)寻找最优的路径;(2)解决机器人与障碍物的碰撞问题;(3)协调多个机器人的运动,确保机器人之间不发生碰撞。因此进行规划时不仅要考虑路径长度、路径平滑度、路径安全还要考虑机器人间的避障问题。多机器的路径规划是以单个机器人进行路径规划为基础,需要解决多机器人之间协调问题,以确保机器人之间不发生碰撞以及绕开障碍物。多机器人的协作策略是多机器人系统执行任务的前提。
[0003] 烟花算法由北大谭营教授、朱元春于2010年在国际群体智能大会上首次提出。其模拟烟花爆炸产生火花这一现象,属于非生物群体的智能优化方法,具有自适应性强、鲁棒性强等优点。烟花算法的基本思想在于:由多个个体(火花)组成群体,通过个体之间的相互协同使个体对环境的适应性变得越来越好,从而逼近最优解。在整个解空间中,烟花可以作为最优化问题的一个可行解,爆炸产生火花的过程类似于搜索其所在的局部区域。为了平衡局部搜索能和全局探索能力,在烟花算法中,较好的烟花会在更小的爆炸范围内分配到更多的搜索资源,而较差的烟花则在更大的爆炸范围内分配到更少的搜索资源,这样较好的烟花负责在好的区域进行更好的局部搜索,而较差的烟花因为其更大的爆炸范围负责全局搜索,两者的协同搜索就是该算法所表现出的群体智能。
[0004] 差分进化算法是由Storn和Price于1995年首次提出的一种基于群体进化的启发式算法。其具有简单高效、收敛速度快、鲁棒性好等优点,并在优化问题上有出色的表现。差分进化算法从原始种群开始,通过变异、交叉和选择操作来生成新种群,是一种随机的并行全局搜索算法,具有记忆个体最优解和种群内信息共享的特点,即通过种群内个体间的合作与竞争来实现对优化问题的求解。其基本思想在于:按照进化规则生成新一代群体,并通过计算函数适应度值判断个体的好坏,保留优秀的个体(适应度值较好)、淘汰较差的个体(适应度值较差)来引导个体向最优解逼近。

发明内容

[0005] 本发明提出了一种基于差分进化烟花算法的多机器人协同路径规划方法。其目的在于提供一种有效的多机器人协同路径规划方法,可以较快地为多个机器人计算出性能较优的运动路径,保障多机器人安全的运行到各自的目标点。
[0006] 具体技术方案如下:
[0007] 本发明提出的差分进化烟花算法具有收敛速度快、优化效果好等特点,能够有效地解决多机器人系统的协同路径规划问题,该方法的具体应用步骤如下:
[0008] 准备工作:机器人的起始点S、目标点T、各个障碍物在环境中的位置均为已知。设机器人个数为R,环境中存在的障碍物个数为H,规划空间的上下边界为max、min,算法的最大迭代次数为iter。
[0009] 步骤一:建立以ST为X'轴的旋转坐标系X'-S-Y',将起始点、目标点和障碍物的位置坐标转换到旋转坐标系中,其中机器人的起始点S、目标点T、各个障碍物在环境中的位置均为已知,环境中存在的障碍物个数为H,机器人规划出的路径为path={P0,P1,P2,…,PD,PD+1},其中P0、PD+1分别表示起始点PS和目标点PT,Pi表示第i个路径点;
[0010] 步骤二:运用D条平行直线簇L1,L2,…,LD将ST垂直平分成D+1段,每段的距离为Δl=||ST||/(D+1),其中||ST||为ST的长度,路径点P1,P2,…,PD即对应位于直线L1,L2,…,LD上;
[0011] 步骤三:令迭代次数t=1,初始化R组烟花,每组烟花个数为N,烟花维数为D,每组烟花表示为向量组 其中,表示第r组第i个烟花,即对应第r个机器人的第i条完整的
路径,i=1,2…,N, 表示第r组第i个烟花的第D个路径点;
[0012] 初始化R组烟花,即随机生成R个机器人对应的路径,每组烟花个数为N,即每个机器人初始化N条路径,烟花维数为D,即每条路径上有D个路径点。
[0013] 烟花和火花都对应机器人的一条完整路径,烟花对应每次迭代最开始的N条路径,火花对应由这N个烟花经过爆炸、变异、差分进化操作生成的新的路径,所以根据不同操作有爆炸火花、高斯变异火花、差分进化火花。
[0014] 步骤四:计算R组烟花群体的适应度,分别保存每组中最优烟花、最优烟花适应度值和每个烟花对应的路径长度,所述的最优烟花是指适应度值最小的烟花。
[0015] 适应度即烟花对应的路径的优秀程度,适应度值越小,烟花对应的路径越好,适应度值越大,烟花对应的路径越差。
[0016] 所述的最优烟花即对应机器人的最优路径;
[0017] 步骤五:计算每组中烟花的碰撞程度,即所有路径的碰撞程度,并将各组中较优的烟花保存到可行档案File中,不同组的可行档案File相互独立,所述的较优的烟花具体指碰撞程度由低到高的Na个烟花,Na的取值范围为3到8之间的整数值;
[0018] 所述的较优的烟花即对应机器人与障碍物碰撞程度较低的路径。
[0019] 步骤六:计算每组中烟花 生成的爆炸火花数目 和爆炸半径
[0020] 步骤七:对所有烟花 进行爆炸操作,即在烟花 中随机选择z个路径点,i=1,2…,N,计算每个路径点对应的偏移量 生成爆炸火花,即对应机器人新的完整路径。
[0021] 步骤八:将超出边界的爆炸火花映射到新位置,计算每个爆炸火花的适应度和碰撞程度,所述的超出边界指火花上的路径点超出了预设的规划空间的上下边界;
[0022] 步骤九:对所有烟花 进行高斯变异操作,在烟花 中随机选择z个路径点,i=1,2…,N,计算每个路径点对应的变异参数e,生成高斯变异火花,即对应机器人新的完整路径。
[0023] 步骤十:将超出边界的高斯变异火花映射到新位置,计算每个高斯变异火花的适应度和碰撞程度。
[0024] 步骤十一:对所有烟花 进行差分进化操作,生成差分进化火花,即对应机器人新的完整路径,将超出边界的差分进化火花映射到新位置,计算每个差分进化火花的适应度和碰撞程度。
[0025] 步骤十二:将每组中烟花、爆炸火花、高斯变异火花和差分进化火花对应组成R个Allfire数组。
[0026] 步骤十三:在每个Allfire数组中选取全局最优个体作为每组新一代的烟花。
[0027] 步骤十四:运用轮盘赌的方法在每个Allfire数组中选择N-1个个体,并与步骤十三中选取的烟花共同组成每组新一代的烟花Xr(t+1)。
[0028] 步骤十五:令t=t+1,判断是否满足t>iter。如果不满足,将新一代烟花Xr(t+1)返回步骤四进行迭代;如果满足,认为运算结束,输出每组最优的烟花。
[0029] 步骤十六:将R组最优的烟花转换到X-O-Y坐标系中,输出R条安全的路径。
[0030] 补充说明:
[0031] 步骤一中所述的坐标转换公式为:
[0032]
[0033] 上式中(xs,ys)为机器人起始位置,(x,y)、(x',y')分别为坐标系X-O-Y和X'-S-Y'中任意一个相同点的坐标位置,θ为X'轴与X轴的夹
[0034] 烟花和火花的适应度F计算公式如下:
[0035] F=w1·Flength+w2·(Fsafe,ob+Fsafe,ro)+w3·Fsmooth             (2)[0036] 其中,
[0037] 公式(2)中w1,w2,w3为权重系数,值在0到1之间,且w1+w2+w3=1。
[0038] 公式(2)中Flength为路径长度函数,计算公式如下:
[0039]
[0040] 上式中||Pi+1-Pi||表示路径点Pi+1和Pi间的欧几里德距离;
[0041] 公式(2)中Fsafe,ob为路径碰撞险度,计算公式如下:
[0042]
[0043]
[0044] 公式(4)、(5)中Pi为第i个路径点,Pobs,j为第j个障碍物的位置。
[0045] 公式(5)中Rj是第j个障碍物的最大影响范围,ρ∈[1,5]、C∈[0.5,2]是障碍物影响因子,决定障碍物的影响范围,Rj=1.5×Rrobot,Rrobot为机器人的半径。
[0046] 公式(2)中Fsafe,ro为机器人间碰撞风险度,计算公式如下:
[0047]
[0048]
[0049]
[0050] 公式(6)~(8)中 与 为机器人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]。
[0051] 公式(2)中Fsmooth为路径平滑度函数,计算公式如下:
[0052]
[0053] 上式中αi表示路径第i个偏转角度,αi∈(0,π),(Pi-Pi-1)·(Pi+1-Pi)表示Pi-Pi-1、Pi+1-Pi的内积,|Pi-Pi-1|、|Pi+1-Pi|表示向量范数。
[0054] 步骤五中,可行档案File用来存放优化过程中较优的Na个路径,且每次存放时清空之前存放的Na个路径。
[0055] 所述的碰撞程度cv计算公式如下:
[0056]
[0057] 上式中cv为机器人碰撞程度,当机器人路径中第i个路径段Pi-1,Pi与第k个障碍物出现相交情况时,认为路径段与障碍物发生碰撞,此时cvi,k=1,否则cvi,k=0。
[0058] 步骤六中,烟花 对应的爆炸火花数目 计算公式如下:
[0059]
[0060]
[0061] 公式(11)中round(﹒)是根据四舍五入原则取整的函数;a、b是两个常数,a=0.04、b=0.8。
[0062] 公式(12)中M是调整生成爆炸火花个数的常数,M的取值范围为20到80之间的整数值, 为第r组烟花种群中最大适应度值,i=1,2,…,N,r=1,2,...,R,ε是机器最小量,为2-52,用于避免除零操作。
[0063] 步骤六中,烟花 的爆炸半径 计算公式如下:
[0064]
[0065] 上式中 是调整爆炸半径大小的常数,取值范围是[50,200], 为第r组烟花种群中最小适应度值,i=1,2,…,N,r=1,2,...,R,ε是机器最小量,用来避免除零操作。
[0066] 步骤七中,所述的第r组第i个烟花的第q个路径点的偏移量 计算公式如下:
[0067]
[0068] 上式中U(-1,1)代表-1到1中均匀分配的随机数。
[0069] 步骤七中,烟花爆炸公式如下所示:
[0070]
[0071] 上式中 是爆炸前的第r组第i个烟花的第q个路径点, 是爆炸后的第r组第i个烟花的第q个路径点,i=1,2,...,N,q=1,2,...,z,z为1到D之间的随机整数值。
[0072] 所述的映射规则如下:
[0073]
[0074] 上式中 为映射到的新位置, 为映射前的位置, 和 为解空间中路径点q的上、下边界。
[0075] 步骤九中,高斯变异火花计算公式如下:
[0076]
[0077] 上式中i=1,2,...,N,q=1,2,...,z,z为1到D之间的随机整数值,每个路径点对应的变异参数e=N(1,1),N(1,1)为均值为1且方差为1的高斯分布;
[0078] 其中,步骤十一中,按如下子步骤计算差分进化火花:
[0079] 子步骤一:计算第i个烟花的变异概率 其计算公式如下:
[0080]
[0081] 上式中, 为第r组第i个烟花对应的机器人碰撞程度。
[0082] 子步骤二:生成[0,1]内的随机数random,当 时转到子步骤三。否则令i=i+1,转到子步骤一;
[0083] 子步骤三:从档案File中随机提取两个烟花 和 利用最优烟花 即第t次迭代时的全局最优个体,在第1次迭代时,选择步骤四中的最优烟花作为全局最优个体,生成差分进化火花的计算公式如下:
[0084]
[0085] 上式中,ω为差分进化的缩放因子,取值范围是[0.01,0.1]。
[0086] 子步骤四:令i=i+1,当i>N时运算结束,否则转到子步骤一。
[0087] 步骤十三中,选取全局最优个体的方法如下:(1)当Allfire数组中选取的个体(包括本次迭代中所有的烟花和火花)和全局最优个体均为可行解,即路径碰撞程度时,此处 为第r个Allfire数组中的第i个个体,r=1,2,...,R,i=1,2,...,Ω,Ω为Allfire数组中个体总数:如果满足适应度值选择 作为全 局最优个体 ;如果满足适应 度值
则随机从 和 中选择一个个体作为全局最优个体;如果
都不满足时,则全局最优个体保持不变。
[0088] (2)当Allfire数组中选取的个体和全局最优个体均为不可行解,即路径碰撞程度时:如果满足适应度值 选择 作为全局最优个体;如果满足适应度值 则随机从 和 中选
择一个个体作为全局最优个体;如果都不满足时,则全局最优个体保持不变。
[0089] (3)当Allfire数组中选取的个体是可行解而全局最优个体为不可行解,即时,选择 作为全局最优个体。
[0090] (4)当Allfire数组中选取的个体是不可行解而全局最优个体为可行解,即时,则全局最优个体保持不变。
[0091] 其中,步骤十四中,运用轮盘赌的方法随机选择个体时,每个个体被选择的概率用如下公式计算:
[0092]
[0093]
[0094] 公式(20)、(21)中,Ω为Allfire数组中个体总数,即烟花、爆炸火花、高斯变异火花和差分进化火花个数的总和; 为除了 以外所有个体间距离的总和。
[0095] 其中,步骤十五中,每组最优的烟花即为步骤十三中选取的新一代烟花。
[0096] 有益效果:
[0097] 本发明提出了一种基于差分进化烟花算法的多机器人协同路径规划方法。所提出的的改进算法在基本烟花算法的基础上增加差分进化火花,选取父代中多个烟花进行组合、变异操作生成新的火花,从而得到了多样性较高的个体以提高烟花群体的多样性,以此来使得算法具有了更好的搜索能力,且能够有效的避免陷入局部最小值。将差分进化烟花算法应用于多机器人协同路径规划问题时,改进算法相比于基本的烟花算法,表现出了更好的优化性能,改进算法收敛速度更快、收敛精度更高,且规划出的路径更短、更平滑。通过路径碰撞度和目标优化模型来选择最优火花位置,在保障了路径安全的前提下选择最优路径,能够使多机器人按照各自路径运动而不存在任何碰撞问题。差分进化烟花算法是一种有效的多机器人路径规划方法,可以较快地规划出满足要求的多机器人协同路径,保障多机器人可以安全快速的运动到各自的目标点。附图说明
[0098] 图1是坐标转换示意图。
[0099] 图2是差分进化烟花算法流程图
[0100] 图3是差分进化烟花算法路径规划图。
[0101] 图4是差分进化烟花算法路径规划相交点图。
[0102] 图5是机器人到达相交点所需时间表。

具体实施方式

[0103] 下面结合具体实施过程对本发明进行进一步描述,以图3的环境为例进行说明:
[0104] 准备工作:对多个机器人同时进行路径规划,机器人个数R=3,设每个机器人的运行速度相同且v=1m/s。参数取值如下:烟花个数N=8;搜索空间上、下限为max=200、min=0;最大迭代次数iter=200; 爆炸火花粒子常数M=64;机器人安全距离Rj=0.5;差分进化的缩放因子ω=0.05;障碍物影响范围参数ρ=3、C=1。在起始点、目标点均相同的情况下进行路径规划,设起始点坐标为PS=[20,20],目标点坐标为PT=[180,180],障碍物位置如图3所示。设火花维度D=9。
[0105] 步骤一:建立以ST为X'轴的旋转坐标系X'-S-Y',对起始点、目标点和障碍物的坐标进行转换。
[0106] 坐标转换公式为:
[0107]
[0108] 步骤二:运用9条平行直线簇L1,L2,…,L9将ST垂直平分成10段,每段的距离为△l=22.6。
[0109] 步骤三:令迭代次数t=1,初始化3组烟花,每组烟花个数为8,且烟花维数为9,每组烟花表示为向量组 其中,表示第r组第i个烟花,r=1,2,3,i=1,2…,8。
[0110] 步骤四:计算3组烟花群体的适应度,并分别保存每组最优烟花、最优烟花适应度值和每个烟花对应的路径长度。
[0111] 烟花和火花的适应度F计算公式如下:
[0112] F=0.6×Flength+0.25×(Fsafe,ob+Fsafe,ro)+0.15×Fsmooth             (23)[0113] 其中,
[0114] 公式(23)中,路径长度函数Flength计算公式如下:
[0115]
[0116] 公式(23)中,路径碰撞风险度Fsafe,ob计算公式如下:
[0117]
[0118]
[0119] 公式(23)中,机器人间碰撞风险度Fsafe,ro计算公式如下:
[0120]
[0121]
[0122]
[0123] 公式(23)中,路径平滑度函数Fsmooth计算公式如下:
[0124]
[0125] 步骤五:计算每组中烟花的碰撞程度,即所有路径的碰撞程度,并将各组中较优的4个烟花保存到可行档案File中,不同组的可行档案File相互独立。每条路径的碰撞程度计算公式如下:
[0126]
[0127] 步骤六:计算每组中烟花 生成的爆炸火花数目 和爆炸半径
[0128] 烟花 对应的爆炸火花数目 计算公式如下:
[0129]
[0130]
[0131]
[0132] 公式(34)中,i=1,2,...,8。
[0133] 烟花 的爆炸半径 计算公式如下:
[0134]
[0135]
[0136] 公式(36)中,i=1,2,...,8。
[0137] 步骤七:对所有烟花 进行爆炸操作,即在烟花 中随机选择z个路径点,i=1,2…,8,计算每个路径点对应的偏移量 生成爆炸火花,即对应机器人新的完整路径。
[0138] 偏移量 计算公式如下:
[0139]
[0140] 上式中U(-1,1)代表-1到1中均匀分配的随机数。烟花爆炸公式如下所示:
[0141]
[0142] 上式中i=1,2,...,8,q=1,2,...,z,z为1到9之间的随机整数值。
[0143] 步骤八:将超出边界的爆炸火花映射到新位置,由公式(23)~(31)计算每个爆炸火花的适应度和碰撞程度。
[0144] 映射规则如下:
[0145]
[0146] 步骤九:对所有烟花 进行高斯变异操作,在烟花 中随机选择z个路径点,i=1,2…,8,计算每个路径点对应的变异参数e,生成高斯变异火花,即对应机器人新的完整路径。高斯变异火花计算公式如下:
[0147]
[0148] 上式中i=1,2,...,8,q=1,2,...,z,z为1到9之间的随机整数值。每个路径点对应的变异参数e=N(1,1),N(1,1)为均值为1且方差为1的高斯分布。
[0149] 步骤十:将超出边界的高斯变异火花映射到新位置,映射规则如公式(39)所示。由公式(23)~(31)计算每个高斯变异火花的适应度和碰撞程度。
[0150] 步骤十一:按如下子步骤对所有烟花 进行差分进化操作,生成差分进化火花,即对应机器人新的完整路径,由公式(39)将超出边界的差分进化火花映射到新位置,由公式(23)~(31)计算每个差分进化火花的适应度和碰撞程度。
[0151] 子步骤一:计算第i个烟花的变异概率 其计算公式如下:
[0152]
[0153] 子步骤二:生成[0,1]内的随机数random,当 时转到步子步骤三。否则令i=i+1,转到子步骤一。
[0154] 子步骤三:从档案File中随机提取两个烟花 和 利用最优烟花 即第t次迭代时的全局最优个体,在第1次迭代时,选择步骤四中的最优烟花作为全局最优个体,生成差分进化火花的计算公式如下:
[0155]
[0156] 子步骤四:令i=i+1,当i>8时运算结束,否则转到子步骤一。
[0157] 步骤十二:将每组中烟花、爆炸火花、高斯变异火花和差分进化火花对应组成3个Allfire数组。
[0158] 步骤十三:在每个Allfire数组中选取全局最优个体作为每组新一代的烟花。选取全局最优个体的方法如下:
[0159] (1)当Allfire数组中选取的个体(包括本次迭代中所有的烟花和火花)和全局最优个体均为可行解,即路径碰撞程度 时,此处 为第r个Allfire数组中的第i个个体,r=1,2,3,i=1,2,...,Ω,Ω为Allfire数组中个体总数:
如果满足适应度值 选择 作为全局最优个体;如果满足适应
度值 则随机从 和 中选择一个个体作为全局最优个体;
如果都不满足时,则全局最优个体保持不变。
[0160] (2)当Allfire数组中选取的个体和全局最优个体均为不可行解,即路径碰撞程度时:如果满足适应度值 选择 作为全局最优个体;如果满足适应度值 则随机从 和 中选
择一个个体作为全局最优个体;如果都不满足时,则全局最优个体保持不变。
[0161] (3)当Allfire数组中选取的个体是可行解而全局最优个体为不可行解,即时,选择 作为全局最优个体。
[0162] (4)当Allfire数组中选取的个体是不可行解而全局最优个体为可行解,即时,则全局最优个体保持不变。
[0163] 步骤十四:运用轮盘赌的方法在每个Allfire数组中选择7个个体,并与步骤十三中选取的烟花共同组成每组新一代的烟花Xr(t+1)。
[0164] 每个个体被选择的概率用如下公式计算:
[0165]
[0166]
[0167] 公式(43)、(44)中,Ω为Allfire数组中个体总数,即烟花、爆炸火花、高斯变异火花和差分进化火花个数的总和。
[0168] 步骤十五:令t=t+1,判断是否满足t>200。如果不满足,将新一代烟花Xr(t+1)返回步骤四进行迭代;如果满足,认为运算结束,输出每组最优的烟花,即步骤十三中选取的新一代烟花。
[0169] 步骤十六:将3组最优的烟花转换到X-O-Y坐标系中,输出3条安全的路径。
[0170] 图3显示了通过上述计算步骤得到的三个机器人路径规划结果,图4标明了这三个机器人规划路径上的相交点,而图5表示了这三个机器人到达相交点所需要的时间。从路径规划结果图中可以看到规划出的三条路径存在相交情况。三个机器人同时从起点出发且运行速度相同,图5中序号1-12代表12个相交点,每一行代表一个交点涉及到的机器人运行到该点所需的时间。机器人1、2在点11处相交,且后面的路径完全重合,由图5中序号11行可以看出两个机器人运行到该点的时间不同,所以后续路径不存在碰撞问题。根据图5中的所有数据可以得出:在多机器人起点与目标点均相同的前提下,规划出的路径存在相交情况时,任意一个交点涉及的机器人运行到该点所需的时间不同,所以机器人按照规划出的路径运行时不存在任何碰撞的问题。本发明所提差分进化烟花算法是一种有效的多机器人路径规划方法,可以较快地规划出较优的多机器人路径,并保障多机器人可以安全运行到目标点。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈