300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 基于膜计算和粒子群优化的局部路径规划算法的制作方法

基于膜计算和粒子群优化的局部路径规划算法的制作方法

时间:2020-10-02 16:27:01

相关推荐

基于膜计算和粒子群优化的局部路径规划算法的制作方法

本发明涉及机器人导航领域,具体是一种基于膜计算和粒子群优化的局部路径规划算法

技术背景

机器人研究是近些年来的热点领域,其中导航是机器人研究的关键技术,安全高效的路径规划也是保证机器人导航成功的重要因素。

机器人导航分为定位、建图和路径规划,路径规划中又分为全局路径规划和局部路径规划,但在动态的环境中,全局路径规划中的部分局部路径往往会被障碍物占有,这时候就需要机器人利用局部路径规划来安全高效的避开障碍物。局部路径规划时,会根据机器人当前的速度,机器人和障碍物的位置等信息来生成下一时刻机器人行驶的许多不同的备选速度,通过对备选速度进行采样,来推算出机器人下一时刻的行驶轨迹,对推算的行驶轨迹进行评价,得出最好轨迹对应的速度即为机器人下一时刻进行局部路径规划所需的速度。

传统局部路径规划在的速度采样过程中采样的速度随机性不够,准确性不高,且路径评价的速度慢,实时性不高,不能保证每次机器人的局部路径规划都是最安全、距离最短且最高效的。

技术实现要素:

本发明的目的是提供一种基于膜计算和粒子群优化的局部路径规划算法,该算法根据机器人接收传感器发送的障碍物信息和自身的速度限制范围,产生机器人下一时刻安全行驶的可达速度范围(vmix,vmax)和(-ωmax,ωmax),并以速度范围建立坐标系,在坐标系中随机选取一定数量的粒子,采用膜计算对选取的粒子进行搜索,并计算粒子的适应度函数以产生局部最优和全局最优,再通过不断迭代更新膜内粒子的位置和速度,直到粒子适应度函数达到适应度函数阈值要求或者达到最大迭代次数时输出全局最优对应粒子的速度位置坐标(v,ω),即为机器人下一时刻行驶的角速度和线速度。该算法步骤清晰简洁,采用膜计算和粒子群优化算法可以增加机器人速度采样的随机性,使机器人以最短的行驶距离安全的避开障碍物,同时也增加了路径评价的速度,提高局部路径规划的实时性。

为了实现上述目的,本发明采用如下技术方案:

一种基于膜计算和粒子群优化的局部路径规划算法,其特征在于,包括以下步骤:

(1)初始化,机器人处理接收到传感器发送的障碍物位置信息和机器人自身速度限制范围,产生机器人下一时刻安全行驶的可达速度范围(vmix,vmax)和(-ωmax,ωmax)。并以v和ω为横坐标和纵坐标建立二维坐标系,坐标系中速度范围区域中的点为机器人下一时刻安全行驶的可达速度;

(2)采样粒子,在二维坐标系中的速度范围区域选择q个粒子,每个粒子代表机器人的一个速度位置坐标,初始化粒子的位置和速度,得到第q个粒子的位置和速度为:粒子的位置集合为:u={(vq,ωq)|q=1,2,3,…,q},确定粒子适应度函数的阈值为δ;

(3)膜计算优化,对粒子集u采用基于膜计算的粒子群优化算法使机器人更快速的找到接近于最优的行驶速度;

(3a)初始化膜结构,设置本优化算法中膜计算所用的细胞膜结构为[0[1]1,[2]2,[3]3,…,[m]m]0,表示具有一个表层膜m0,m个基本膜mk(k∈[1,m]),设粒子群u中所有的粒子按数量均匀的分配到m个基本膜当中,每个基本膜中有d个粒子,第k个基本膜中第d个粒子的初始速度为vkd,初始位置为xkd=(vkd,ωkd),设定学习因子c1和c2为固定值,设定权重因子α、β、γ为固定值,取r、r1、r2为(0,1)之间的随机数,设置粒子的惯性权重u,设置粒子的初始迭代次数n=0,最大迭代次数为n,其中d∈[1,d];

(3b)在所有基本膜中同时对膜内的所有粒子进行搜索,计算第k个基本膜内第d个粒子的初始适应度函数,粒子的初始适应函数为:heading表示机器人以当前采样速度模拟轨迹的朝向与目标点之间的角度差,dist表示当前采样速度模拟轨迹与障碍物之间的最近距离,velocity表示机器人当前采样速度模拟轨迹上的线速度v的大小,得出m个基本膜内每个粒子的初始适应度函数为即为每个粒子的历史局部最优值比较得到每个基本膜中所有局部最优值中最大的为第k个基本膜内的全局最优将m个基本膜内的所有的全局最优通过规则r输出到表层膜m0中;

(3c)表层膜对所有的进行比较得到的值最大的为全局最优gbest,并将gbest送回每个基本膜mk(k∈[1,m])中;

(3d)每个基本膜mk(k∈[1,m])中所有的粒子根据每个粒子的局部最优和全局最优gbest来更新自身的位置和速度,更新粒子位置和速度的公式为:vkd(n)和xkd(n)分别为第k个基本膜内第d个粒子的第n次迭代的速度和位置,pkd(n)和g(n)为第n次迭代的每个粒子局部最优和全局最优gbest;

(4)根据更新的粒子位置和粒子位置中的线速度v来计算相应粒子的适应度值与上一次迭代的粒子历史局部最优相比较,较大为相应粒子的历史局部最优每个基本膜内的所有相比得到每个基本膜内的全局最优输出所有的到表层膜中并与上一次迭代的全局最优相比较,最大的即为全局最优gbest;

(5)若每次迭代的gbest对应粒子的适应度函数则优化结束,输出全局最优gbest对应粒子的位置坐标(vkd,ωkd),若则判断迭代次数若为n<n,则继续迭代优化,若n=n,则优化算法结束,输出全局最优gbest对应粒子的位置坐标(vkd,ωkd),即为机器人下一时刻行驶的角速度和线速度。

本发明的有益效果体现在:

本发明利用膜计算和粒子群算法融合来优化局部路径规划算法,把机器人下一时刻可行的角速度和线速度简化为坐标点,并把速度位置坐标看成粒子,采用粒子群优化的方式来随机选取速度位置坐标,可以使机器人下一时刻行驶的最优速度更加精确和可靠;采用膜计算的方式来对算法进行优化,可以加速粒子更新的速度,使机器人更快速找到下一时刻行驶的最优速度,整个优化算法,可靠性和实时性都有明显的增强,可以在行驶最短距离和时间的情况下安全的在避开障碍物。

附图说明

图1为算法工作流程图;

图2为速度位置坐标系。

具体实施方式

以下结合附图对本发明做进一步解释说明。

如图1所示,一种基于膜计算和粒子群优化的局部路径规划算法,包括以下步骤:

(1)初始化,机器人处理接收到的传感器发送的障碍物位置信息和机器人自身速度限制范围,产生机器人下一时刻安全行驶的可达速度范围(vmix,vmax)和(-ωmax,ωmax)。如图2所示,以v和ω为横坐标和纵坐标建立二维坐标系,以可达速度范围(vmix,vmax)和(-ωmax,ωmax)为坐标约束,坐标系中阴影部分区域为中的点为机器人下一时刻安全行驶的可达速度;

(2)采样粒子,在二维坐标系阴影部分区域中选择q个粒子,每个粒子代表机器人的一个速度位置坐标,初始化粒子的位置和速度,得到第q个粒子的位置和速度为:粒子的位置集合为:u={(vq,ωq)|q=1,2,3,…,q},确定粒子适应度函数的阈值为δ;

(3)膜计算优化,对粒子集u采用基于膜计算的粒子群优化算法使机器人更快速的找到接近于最优的行驶速度;

(3a)初始化膜结构,设置本优化算法中膜计算所用的细胞膜结构为[0[1]1,[2]2,[3]3,…,[m]m]0,表示具有一个表层膜m0,m个基本膜mk(k∈[1,m]),设粒子群u中所有的粒子按数量均匀的分配到m个基本膜当中,每个基本膜中有d个粒子,第k个基本膜中第d个粒子的初始速度为vkd,初始位置为xkd=(vkd,ωkd),设定学习因子c1和c2为固定值,设定权重因子α、β、γ为固定值,取r、r1、r2为(0,1)之间的随机数,设置粒子的惯性权重u,设置粒子的初始迭代次数n=0,最大迭代次数为n,其中d∈[1,d];

(3b)在所有基本膜中同时对膜内的所有粒子进行搜索,计算第k个基本膜内第d个粒子的初始适应度函数,粒子的初始适应函数为:heading表示机器人以当前采样速度模拟轨迹的朝向与目标点之间的角度差,dist表示当前采样速度模拟轨迹与障碍物之间的最近距离,velocity表示机器人当前采样速度模拟轨迹上的线速度v的大小,得出m个基本膜内每个粒子的初始适应度函数为即为每个粒子的历史局部最优值比较得到每个基本膜中所有局部最优值中最大的为第k个基本膜内的全局最优将m个基本膜内的所有的全局最优通过规则r输出到表层膜m0中;

(3c)表层膜对所有的进行比较得到的值最大的为全局最优gbest,并将gbest送回每个基本膜mk(k∈[1,m])中;

(3d)每个基本膜mk(k∈[1,m])中所有的粒子根据每个粒子的局部最优和全局最优gbest来更新自身的位置和速度,更新粒子位置和速度的公式为:vkd(n)和xkd(n)分别为第k个基本膜内第d个粒子的第n次迭代的速度和位置,pkd(n)和g(n)为第n次迭代的每个粒子局部最优和全局最优gbest;

(6)根据更新的粒子位置和粒子位置中的线速度v来计算相应粒子的适应度值与上一次迭代的粒子历史局部最优相比较,较大为相应粒子的历史局部最优每个基本膜内的所有相比得到每个基本膜内的全局最优输出所有的到表层膜中并与上一次迭代的全局最优相比较,最大的即为全局最优gbest;

(7)若每次迭代的gbest对应粒子的适应度函数则优化结束,输出全局最优gbest对应粒子的位置坐标(vkd,ωkd),若则判断迭代次数若为n<n,则继续迭代优化,若n=n,则优化算法结束,输出全局最优gbest对应粒子的位置坐标(vkd,ωkd),即为机器人下一时刻行驶的角速度和线速度。

整个算法可以使机器人在局部路径规划中更快速的找到下一时刻行驶的最优速度,可靠性和实时性都有明显的提高,可以在行驶最短距离和时间的情况下安全的在避开障碍物。

技术特征:

1.一种基于膜计算和粒子群优化的局部路径规划算法,其特征在于,包括以下步骤:

(1)初始化,机器人处理接收到传感器发送的障碍物位置信息和机器人自身速度限制范围,产生机器人下一时刻安全行驶的可达速度范围(vmix,vmax)和(-ωmax,ωmax)。并以v和ω为横坐标和纵坐标建立二维坐标系,坐标系中速度范围区域中的点为机器人下一时刻安全行驶的可达速度;

(2)采样粒子,在二维坐标系中的速度范围区域选择q个粒子,每个粒子代表机器人的一个速度位置坐标,初始化粒子的位置和速度,得到第q个粒子的位置和速度为:粒子的位置集合为:u={(vq,ωq)|q=1,2,3,…,q},确定粒子适应度函数的阈值为δ;

(3)膜计算优化,对粒子集u采用基于膜计算的粒子群优化算法使机器人更快速的找到接近于最优的行驶速度;

(3a)初始化膜结构,设置本优化算法中膜计算所用的细胞膜结构为[0[1]1,[2]2,[3]3,…,[m]m]0,表示具有一个表层膜m0,m个基本膜mk(k∈[1,m]),设粒子群u中所有的粒子按数量均匀的分配到m个基本膜当中,每个基本膜中有d个粒子,第k个基本膜中第d个粒子的初始速度为vkd,初始位置为xkd=(vkd,ωkd),设定学习因子c1和c2为固定值,设定权重因子α、β、γ为固定值,取r、r1、r2为(0,1)之间的随机数,设置粒子的惯性权重u,设置粒子的初始迭代次数n=0,最大迭代次数为n,其中d∈[1,d];

(3b)在所有基本膜中同时对膜内的所有粒子进行搜索,计算第k个基本膜内第d个粒子的初始适应度函数,粒子的初始适应函数为:heading表示机器人以当前采样速度模拟轨迹的朝向与目标点之间的角度差,dist表示当前采样速度模拟轨迹与障碍物之间的最近距离,velocity表示机器人当前采样速度模拟轨迹上的线速度v的大小,得出m个基本膜内每个粒子的初始适应度函数为即为每个粒子的历史局部最优值比较得到每个基本膜中所有局部最优值中最大的为第k个基本膜内的全局最优将m个基本膜内的所有的全局最优通过规则r输出到表层膜m0中;

(3c)表层膜对所有的进行比较得到的值最大的为全局最优gbest,并将gbest送回每个基本膜mk(k∈[1,m])中;

(3d)每个基本膜mk(k∈[1,m])中所有的粒子根据每个粒子的局部最优和全局最优gbest来更新自身的位置和速度,更新粒子位置和速度的公式为:vkd(n)和xkd(n)分别为第k个基本膜内第d个粒子的第n次迭代的速度和位置,pkd(n)和g(n)为第n次迭代的每个粒子局部最优和全局最优gbest;

(4)根据更新的粒子位置和粒子位置中的线速度v来计算相应粒子的适应度值与上一次迭代的粒子历史局部最优相比较,较大为相应粒子的历史局部最优每个基本膜内的所有相比得到每个基本膜内的全局最优输出所有的到表层膜中并与上一次迭代的全局最优相比较,最大的即为全局最优gbest;

(5)若每次迭代的gbest对应粒子的适应度函数则优化结束,输出全局最优gbest对应粒子的位置坐标(vkd,ωkd),若则判断迭代次数若为n<n,则继续迭代优化,若n=n,则优化算法结束,输出全局最优gbest对应粒子的位置坐标(vkd,ωkd),即为机器人下一时刻行驶的角速度和线速度。

技术总结

本发明涉及一种基于膜计算和粒子群优化的局部路径规划算法,其步骤是:初始化机器人的限制速度用来建立速度位置坐标系,对粒子的位置和速度进行采样,初始化膜结构并分配粒子,计算粒子的适应度函数并搜索基本膜内粒子局部最优和表层膜内全局最优,用来更新粒子位置和速度与局部最优和全局最优,不断迭代,判断适应度值是否达到要求适应度阈值δ,若达到则停止迭代,输出全局最优粒子的坐标,否则判断迭代次数是否到最大值N,如果没有达到则继续迭代,否则停止并输出全局最优粒子的坐标,即为机器人下一时刻行驶速度。整个算法使局部路径规划的可靠性和实时性有明显增强,可以在行驶最短距离和时间的情况下安全的在避开障碍物。

技术研发人员:黄友锐;兰世豪;韩涛;徐善永;唐超礼;许家昌

受保护的技术使用者:安徽理工大学

技术研发日:.10.14

技术公布日:.12.31

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。