一种基于可变维粒子群膜算法的移动机器人路径规划方法技术

技术编号:10431095 阅读:199 留言:0更新日期:2014-09-17 10:18
本发明专利技术属于智能机器人与控制技术领域,尤其涉及一种基于可变维粒子群膜算法的移动机器人路径规划方法。本发明专利技术步骤主要为:环境建模、输入路径参数、设置适应度函数、初始化有效路径母粒子和子粒子、路径粒子分类和重归类、对适应度函数进行评价、更新d维粒子的位置、判断当前粒子是否有无效维、对存在无效维的粒子进行修正和去除冗维信息等。本发明专利技术能利用复杂环境全局已知或者复杂环境局部位置的信息以及待定移动机器人的状态参数快速规划处适合此类机器人行走的最优路径。

【技术实现步骤摘要】
一种基于可变维粒子群膜算法的移动机器人路径规划方法
本专利技术属于智能机器人与控制
,尤其涉及一种基于可变维粒子群膜算法的移动机器人路径规划方法。
技术介绍
机器人技术无论是在工业化时代还是在信息化时代都备受关注,无论是在民用工业还是在国防军事都有着十分广泛的应用。移动机器人路径规划问题是智能机器人技术的一个重要分支,其主要任务是在充满着静止障碍物、移动物体以及危险区域的复杂环境中,为移动机器人提供从起始位置到目标位置免碰撞并合理的离线或在线工作方式的全局或局部性规划。随着应用背景的不断复杂化以及应用领域的不断扩大,机器人技术一直向着更高层次的人工智能化目标发展,因此,一直是国内外的热门研究主题。作为移动机器人导航技术重要组成部分,路径规划结果的优劣直接决定着机器人的实用性及总体性能。路径规划问题已经被证明是一种NP难问题,传统的优化方法对这类复杂非线性NP优化问题具有计算耗时、环境自适应性差、缺乏鲁棒性以及可扩展性等诸多弊端,因此,采用现代智能优化方法是解决路径规划问题的趋势。移动机器人的路径规划问题需要考虑因数众多。环境方面诸如:障碍物之间的距离,障碍物形状,随机出现的危险区域或动态障碍物及其移动方向和移动速度等;机器人的自身特性方面诸如:机器的最小转弯半径,速度及加速度大小,距离传感器范围等;优化目标选择:路径最短、最平滑,安全性最高(尽量远离障碍物或危险区域),最小耗能或耗时等。因此,在复杂环境中要找到一条适合特定机器人行走的合理路径需要综合分析环境搭建方法、优化目标函数以及相匹配的智能优化方法三大方面,以便规划出来的路径能够兼顾合理性、实时性、实用性、自适应性、可扩展性等多方面的要求。虽然目前用于路径规划的环境建模方法很多,例如:可视图法、单元分解法、构造空间法、势力场法、栅格法等。优化方法也众多,例如:遗传算法、蚁群算法、神经网络、粒子群算法、模拟退火法等。但这些方法并没有有效解决所搭建环境中最大限度兼顾合理性,即最短路径、安全性、平滑性等多目标同时考虑,实时性,即算法要求尽量简单可行计算效率高,实用性,即既能用于静态离线路径规划又能将其扩展用于在线动态路径规划,自适应性,即既能用于简单环境中仅考虑单个优化对象的情况又能用于复杂环境中同时兼顾多个优化对象的情况多方面平衡的问题。因此,专利技术一种既适用于静态已知环境的移动机器人离线全局路径规划,又可扩展用于静态或动态未知环境中的移动机器人在线实时局部路径规划的高效的基本方法,具有十分重要的实际意义,而且有利于未来智能移动机器人控制系统的不断完善。
技术实现思路
本专利技术针对现有技术的不足,提供了一种基于可变维粒子群膜算法的移动机器人路径规划方法。该方法能利用复杂环境全局已知或者复杂环境局部位置的信息以及待定移动机器人的状态参数快速规划处适合此类机器人行走的最优路径。本专利技术的目的是通过如下步骤实现的:S1、环境建模,具体为:S101、将物理环境信息映射为n·n的栅格型虚拟环境,对所述n·n个栅格进行标号,其中,n为不为零的自然数,所述栅格为正方形,所述栅格的边长SoG=N×机器人直径,N≥2且N为自然数;S102、对S101所述带有标号的栅格进行分类,分为障碍物栅格和自由栅格;S103、对S102所述障碍物栅格的外凸顶点外围栅格进行标记,其中,外凸顶点外围栅格为自由栅格;S104、对S103所述外凸顶点外围栅格进行分类,分为对角顶点外围栅格和侧边外围栅格,定义所述对角顶点外围栅格的随机选择概率系数为γ1,定义所述侧边外围栅格的随机选择概率系数为γ2,其中,0≤γ1≤1,0≤γ2≤1,γ1+γ2=1;S105、实际环境的物理坐标到虚拟环境栅格序号之间的映射关系表示为p=u·Noc+v,其中,p为序号数,x,y为物理坐标,SoG为单个栅格的边长,fix函数为低整位取整函数;S2、输入路径规划参数,具体包括:机器人状态参数,起止位置及安全范围;S3、设置适应度函数f=Kd·Dis+Kf·S+Ks·SD,其中,Kd,Kf,Ks为权重系数,Kd用来调节最短距离Dis目标函数在最优路径中所占的比重,Kf用来调节平滑度S目标函数在最优路径中所占的比重,Ks用来调节安全度SD目标函数在最优路径中所占的比重,其中,Dis是从起始点到终止点的h个节点之间的距离之和;S4、初始化有效路径母粒子和子粒子,具体为:S401、在表层膜中创建m个子膜,在每个子膜中产生1个有效路径母粒子,共产生m个有效路径母粒子,对m个子膜进行标号,记作Mi,i=1,2,...,m;S402、在S401所述m个有效路径母粒子的基础上利用随机和特殊方向指导相结合的方式在所述m个有效路径母粒子对应的子膜Mi中产生c个有效路径子粒子,共产生m·c个有效路径粒子的初始种群;S5、路径粒子分类与重归类,具体为:S501、根据S401所述每个子膜Mi中的粒子维度的不同,将粒子分为ki组;S502、构建第i个子膜中的第j个基本膜将S501所述分类后的粒子放入所述基本膜中,其中,中粒子均为同维粒子,j=1,2,...,ki;S503、运用粒子运动方向重调整方法对粒子速度进行重新初始化;S6、对S502所述基本膜中路径粒子的适应度函数进行评价,具体为:S601、在S502所述基本膜中根据S3所述适应度函数f=Kd·Dis+Kf·S+Ks·SD计算基本膜中每个粒子对应的适应度函数值,找到每个粒子的个体最优值S602、在S502所述基本膜中找到局部最优其中,j=1,2,...,ki,t为子粒子代数;S603、将第i个子膜里的局部最优送出到表层膜;S604、比较S603所述得出同维的全局最优解其中,d∈{1,2,...,D};S605、将S604所述送回维数相匹配的基本膜中;S7、利用公式计算d维粒子的速度,利用公式Xid(t+1)=Vid(t+1)+Xid(t)更新d维粒子的位置,其中,Vid(t)为粒子在第t代的速度,Vid(t+1)是粒子在t+1代的速度,是粒子在第t代的个体最优,Xid(t)是粒子在第t代的位置,是第t代同维数粒子的局部最优,是第t代同维粒子的全部最优,是第t代粒子经方向调整方法处理后的速度,δ1和δ2是比例系数,ρ是惯性权重系数,r1,r2,r3是0和1间的随机数,c1,c2,c3为加速度系数,Xid(t)是第t代粒子的位置,Xid(t+1)是第t+1代粒子的位置,Vid(t+1)第t+1代粒子的速度;S8、判断当前粒子是否有无效维,即对S7所述更新位置后的d维粒子进行判断,若所述更新位置后的d维粒子存在无效维则进入S9,若所述更新位置后的d维粒子不存在无效维则进入S10;S9、对S8所述存在无效维的粒子进行修正,修正后判断其无效性,直至不存在无效维转至S10;S10、判断当前粒子是否有冗维信息,如存在冗维信息则转入S11,如不存在冗维信息则转入S12;S11、去除冗维信息:S1101、对一条有效路径从起点到终点的所有节点依次排序并放入序列表L中,令起点为首节点,终点为尾节点;S1102、取出S1101所述首节点,从第3个节点开始,判断第3个节点是否与首节点能无障碍连接,如果能链接则依次取下一节点,继续判断此节点与首节点的无障碍连接性,直至找到与首节点不能直接相连接的节点a,如果首本文档来自技高网
...
一种基于可变维粒子群膜算法的移动机器人路径规划方法

【技术保护点】
一种基于可变维粒子群膜算法的移动机器人路径规划方法,其特征在于,包括以下步骤:S1、环境建模,具体为:S101、将物理环境信息映射为n·n的栅格型虚拟环境,对所述n·n个栅格进行标号,其中,n为不为零的自然数,所述栅格为正方形,所述栅格的边长SoG=N×机器人直径,N≥2且N为自然数;S102、对S101所述带有标号的栅格进行分类,分为障碍物栅格和自由栅格;S103、对S102所述障碍物栅格的外凸顶点外围栅格进行标记,其中,外凸顶点外围栅格为自由栅格;S104、对S103所述外凸顶点外围栅格进行分类,分为对角顶点外围栅格和侧边外围栅格,定义所述对角顶点外围栅格的随机选择概率系数为γ1,定义所述侧边外围栅格的随机选择概率系数为γ2,其中,0≤γ1≤1,0≤γ2≤1,γ1+γ2=1;S105、实际环境的物理坐标到虚拟环境栅格序号之间的映射关系表示为p=u·Noc+v,v=fix(x/SoG)u=fix(y/SoG),]]>其中,p为序号数,x,y为物理坐标,SoG为单个栅格的边长,fix函数为低整位取整函数;S2、输入路径规划参数,具体包括:机器人状态参数,起止位置及安全范围;S3、设置适应度函数f=Kd·Dis+Kf·S+Ks·SD,其中,Kd,Kf,Ks为权重系数,Kd用来调节最短距离Dis目标函数在最优路径中所占的比重,Kf用来调节平滑度S目标函数在最优路径中所占的比重,Ks用来调节安全度SD目标函数在最优路径中所占的比重,其中,Dis是从起始点到终止点的h个节点之间的距离之和;S4、初始化有效路径母粒子和子粒子,具体为:S401、在表层膜中创建m个子膜,在每个子膜中产生1个有效路径母粒子,共产生m个有效路径母粒子,对m个子膜进行标号,记作Mi,i=1,2,...,m;S402、在S401所述m个有效路径母粒子的基础上利用随机和特殊方向指导相结合的方式在所述m个有效路径母粒子对应的子膜Mi中产生c个有效路径子粒子,共产生m·c个有效路径粒子的初始种群;S5、路径粒子分类与重归类,具体为:S501、根据S401所述每个子膜Mi中的粒子维度的不同,将粒子分为ki组;S502、构建第i个子膜中的第j个基本膜将S501所述分类后的粒子放入所述基本膜中,其中,中粒子均为同维粒子,j=1,2,...,ki;S503、运用粒子运动方向重调整方法对粒子速度进行重新初始化;S6、对S502所述基本膜中路径粒子的适应度函数进行评价,具体为:S601、在S502所述基本膜中根据S3所述适应度函数f=Kd·Dis+Kf·S+Ks·SD计算基本膜中每个粒子对应的适应度函数值,找到每个粒子的个体最优值S602、在S502所述基本膜中找到局部最优其中,j=1,2,...,ki,t为子粒子代数;S603、将第i个子膜里的局部最优送出到表层膜;S604、比较S603所述得出同维的全局最优解其中,d∈{1,2,...,D};S605、将S604所述送回维数相匹配的基本膜中;S7、利用公式Vid(t+1)=δ1·(ρ·Vid(t)+c1·r1·(Pbestid(t)-Xid(t))+c2·r2·(Gijb(t)-Xid(t))+c3·r3·(Gdb(t)-Xid(t)))+δ2·Vidf(t)]]>计算d维粒子的速度,利用公式Xid(t+1)=Vid(t+1)+Xid(t)更新d维粒子的位置,其中,Vid(t)为粒子在第t代的速度,Vid(t+1)是粒子在t+1代的速度,是粒子在第t代的个体最优,Xid(t)是粒子在第t代的位置,是第t代同维数粒子的局部最优,是第t代同维粒子的全部最优,是第t代粒子经方向调整方法处理后的速度,δ1和δ2是比例系数,ρ是惯性权重系数,r1,r2,r3是0和1间的随机数,c1,c2,c3为加速度系数,Xid(t)是第t代粒子的位置,Xid(t+1)是第t+1代粒子的位置,Vid(t+1)第t+1代粒子的速度;S8、判断当前粒子是否有无效维,即对S7所述更新位置后的d维粒子进行判断,若所述更新位置后的d维粒子存在无效维则进入S9,若所述更新位置后的d维粒子不存在无效维则进入S10;S9、对S8所述存在无效维的粒子进行修正,修正后判断其无效性,直至不存在无效维转至S10;S10、判断当前粒子是否有冗维信息,如存在冗维信息则转入S11,如不存在冗维信息则转入S12;S11、去除冗维信息:S1101、对一条有效路径从起点到终点的所有节点依次排序并放入序列表L中,令起点为首节点,终点为尾节点;S1102、取出S1101所述首节点,从第...

【技术特征摘要】
1.一种基于可变维粒子群膜算法的移动机器人路径规划方法,其特征在于,包括以下步骤:S1、环境建模,具体为:S101、将物理环境信息映射为n·n的栅格型虚拟环境,对所述n·n个栅格进行标号,其中,n为不为零的自然数,所述栅格为正方形,所述栅格的边长SoG=N×机器人直径,N≥2且N为自然数;S102、对S101所述带有标号的栅格进行分类,分为障碍物栅格和自由栅格;S103、对S102所述障碍物栅格的外凸顶点外围栅格进行标记,其中,外凸顶点外围栅格为自由栅格;S104、对S103所述外凸顶点外围栅格进行分类,分为对角顶点外围栅格和侧边外围栅格,定义所述对角顶点外围栅格的随机选择概率系数为γ1,定义所述侧边外围栅格的随机选择概率系数为γ2,其中,0≤γ1≤1,0≤γ2≤1,γ1+γ2=1;S105、实际环境的物理坐标到虚拟环境栅格序号之间的映射关系表示为p=u·Noc+v,其中,p为序号数,x,y为物理坐标,SoG为单个栅格的边长,fix函数为低整位取整函数,Noc为列数;S2、输入路径规划参数,具体包括:机器人状态参数,起止位置及安全范围;S3、设置适应度函数f=Kd·Dis+Kf·S+Ks·SD,其中,Kd,Kf,Ks为权重系数,Kd用来调节最短距离Dis目标函数在最优路径中所占的比重,Kf用来调节平滑度S目标函数在最优路径中所占的比重,Ks用来调节安全度SD目标函数在最优路径中所占的比重,其中,Dis是从起始点到终止点的h个节点之间的距离之和;S4、初始化有效路径母粒子和子粒子,具体为:S401、在表层膜中创建m个子膜,在每个子膜中产生1个有效路径母粒子,共产生m个有效路径母粒子,对m个子膜进行标号,记作Mi,i=1,2,...,m;S402、在S401所述m个有效路径母粒子的基础上利用随机和特殊方向指导相结合的方式在所述m个有效路径母粒子对应的子膜Mi中产生c个有效路径子粒子,共产生m·c个有效路径粒子的初始种群;S5、路径粒子分类与重归类,具体为:S501、根据S401所述每个子膜Mi中的粒子维度的不同,将粒子分为ki组;S502、构建第i个子膜中的第j个基本膜将S501所述分类后的粒子放入所述基本膜中,其中,中粒子均为同维粒子,j=1,2,...,ki;S503、运用粒子运动方向重调整方法对粒子速度进行重新初始化;S6、对S502所述基本膜中路径粒子的适应度函数进行评价,具体为:S601、在S502所述基本膜中根据S3所述适应度函数f=Kd·Dis+Kf·S+Ks·SD计算基本膜中每个粒子对应的适应度函数值,找到每个粒子的个体最优值S602、在S502所述基本膜中找到局部最优其中,j=1,2,...,ki,t为子粒子代数;S603、将第i个子膜里的局部最优送出到表层膜;S604、比较S603所述得出同维的全局最优解其中,d表示粒子的维度大小,是不为零的自然数;S605、将S604所述送回维数相匹配的基本膜中;S7、利用公式计算d维粒子的速度,利用公式Xid(t+1)=Vid(t+1)+Xid(t)更新d维粒子的位置,其中,Vid(t)为粒子在第t代的速度,Vid(t+1)是粒子在t+1代的速度,是粒子在第t代的个体最优,Xid(t)是粒子在第t代的位置,是第t代同维数粒子的局部最优,是第t代同维粒子的全部最优,是第t代粒子经方向调整方法处理后的速度,δ1和δ2是比例系数,ρ是惯性权重系数,r1,r2,r3是0和1间的随机数,c1,c2,c3为加速度系数,Xid(t+1)是第t+1代粒子的位置,Vid(t+1)第t+1代粒子的速度;S8、判断当前粒子是否有无效维,即对S7所述更新位置后的d维粒子进行判断,若所述更新位置后的d维粒子存在无效维则进入S9,若所述更新位置后的d维粒子不存在无效维则进入S10;S9、对S8所述存在无效维的粒子进行修正,修正后判断其无效性,直至不存在无效维转至S10;S10、判断当前粒子是否有冗维信息,如存在冗维信息则转入S11,如不存在...

【专利技术属性】
技术研发人员:张葛祥王学渊赵俊博
申请(专利权)人:西南交通大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1