发明名称 一种基于可变维粒子群膜算法的移动机器人路径规划方法
摘要 本发明属于智能机器人与控制技术领域,尤其涉及一种基于可变维粒子群膜算法的移动机器人路径规划方法。本发明步骤主要为:环境建模、输入路径参数、设置适应度函数、初始化有效路径母粒子和子粒子、路径粒子分类和重归类、对适应度函数进行评价、更新d维粒子的位置、判断当前粒子是否有无效维、对存在无效维的粒子进行修正和去除冗维信息等。本发明能利用复杂环境全局已知或者复杂环境局部位置的信息以及待定移动机器人的状态参数快速规划处适合此类机器人行走的最优路径。
申请公布号 CN104050390A 申请公布日期 2014.09.17
申请号 CN201410307935.4 申请日期 2014.06.30
申请人 西南交通大学 发明人 张葛祥;王学渊;赵俊博
分类号 G06F19/00(2011.01)I;G05D1/02(2006.01)I 主分类号 G06F19/00(2011.01)I
代理机构 成都宏顺专利代理事务所(普通合伙) 51227 代理人 李玉兴
主权项 一种基于可变维粒子群膜算法的移动机器人路径规划方法,其特征在于,包括以下步骤:S1、环境建模,具体为:S101、将物理环境信息映射为n·n的栅格型虚拟环境,对所述n·n个栅格进行标号,其中,n为不为零的自然数,所述栅格为正方形,所述栅格的边长SoG=N×机器人直径,N≥2且N为自然数;S102、对S101所述带有标号的栅格进行分类,分为障碍物栅格和自由栅格;S103、对S102所述障碍物栅格的外凸顶点外围栅格进行标记,其中,外凸顶点外围栅格为自由栅格;S104、对S103所述外凸顶点外围栅格进行分类,分为对角顶点外围栅格和侧边外围栅格,定义所述对角顶点外围栅格的随机选择概率系数为γ<sub>1</sub>,定义所述侧边外围栅格的随机选择概率系数为γ<sub>2</sub>,其中,0≤γ<sub>1</sub>≤1,0≤γ<sub>2</sub>≤1,γ<sub>1</sub>+γ<sub>2</sub>=1;S105、实际环境的物理坐标到虚拟环境栅格序号之间的映射关系表示为p=u·Noc+v,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>v</mi><mo>=</mo><mi>fix</mi><mrow><mo>(</mo><mi>x</mi><mo>/</mo><mi>SoG</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>u</mi><mo>=</mo><mi>fix</mi><mrow><mo>(</mo><mi>y</mi><mo>/</mo><mi>SoG</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000530514080000011.GIF" wi="391" he="153" /></maths>其中,p为序号数,x,y为物理坐标,SoG为单个栅格的边长,fix函数为低整位取整函数;S2、输入路径规划参数,具体包括:机器人状态参数,起止位置及安全范围;S3、设置适应度函数f=K<sub>d</sub>·Dis+K<sub>f</sub>·S+K<sub>s</sub>·SD,其中,K<sub>d</sub>,K<sub>f</sub>,K<sub>s</sub>为权重系数,K<sub>d</sub>用来调节最短距离Dis目标函数在最优路径中所占的比重,K<sub>f</sub>用来调节平滑度S目标函数在最优路径中所占的比重,K<sub>s</sub>用来调节安全度SD目标函数在最优路径中所占的比重,其中,Dis是从起始点到终止点的h个节点之间的距离之和;S4、初始化有效路径母粒子和子粒子,具体为:S401、在表层膜中创建m个子膜,在每个子膜中产生1个有效路径母粒子,共产生m个有效路径母粒子,对m个子膜进行标号,记作M<sub>i</sub>,i=1,2,...,m;S402、在S401所述m个有效路径母粒子的基础上利用随机和特殊方向指导相结合的方式在所述m个有效路径母粒子对应的子膜M<sub>i</sub>中产生c个有效路径子粒子,共产生m·c个有效路径粒子的初始种群;S5、路径粒子分类与重归类,具体为:S501、根据S401所述每个子膜M<sub>i</sub>中的粒子维度的不同,将粒子分为k<sub>i</sub>组;S502、构建第i个子膜中的第j个基本膜<img file="FDA0000530514080000021.GIF" wi="103" he="84" />将S501所述分类后的粒子放入所述基本膜<img file="FDA0000530514080000022.GIF" wi="79" he="84" />中,其中,<img file="FDA0000530514080000023.GIF" wi="81" he="84" />中粒子均为同维粒子,j=1,2,...,k<sub>i</sub>;S503、运用粒子运动方向重调整方法对粒子速度进行重新初始化;S6、对S502所述基本膜<img file="FDA0000530514080000024.GIF" wi="79" he="84" />中路径粒子的适应度函数进行评价,具体为:S601、在S502所述基本膜<img file="FDA0000530514080000025.GIF" wi="84" he="84" />中根据S3所述适应度函数f=K<sub>d</sub>·Dis+K<sub>f</sub>·S+K<sub>s</sub>·SD计算基本膜<img file="FDA0000530514080000026.GIF" wi="74" he="84" />中每个粒子对应的适应度函数值,找到每个粒子的个体最优值<img file="FDA0000530514080000027.GIF" wi="162" he="80" />S602、在S502所述基本膜中找到局部最优<img file="FDA0000530514080000028.GIF" wi="152" he="85" />其中,j=1,2,...,k<sub>i</sub>,t为子粒子代数;S603、将第i个子膜里的局部最优<img file="FDA0000530514080000029.GIF" wi="122" he="85" />送出到表层膜;S604、比较S603所述<img file="FDA00005305140800000210.GIF" wi="146" he="85" />得出同维的全局最优解<img file="FDA00005305140800000211.GIF" wi="152" he="80" />其中,d∈{1,2,...,D};S605、将S604所述<img file="FDA00005305140800000212.GIF" wi="126" he="80" />送回维数相匹配的基本膜中;S7、利用公式<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='' close=''><mtable><mtr><mtd><msub><mi>V</mi><mi>id</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>&delta;</mi><mn>1</mn></msub><mo>&CenterDot;</mo><mrow><mo>(</mo><mi>&rho;</mi><mo>&CenterDot;</mo><msub><mi>V</mi><mi>id</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><mo>&CenterDot;</mo><msub><mi>r</mi><mn>1</mn></msub><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>P</mi><mi>best</mi><mi>id</mi></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>X</mi><mi>id</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mo>&CenterDot;</mo><msub><mi>r</mi><mn>2</mn></msub><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>G</mi><mi>ij</mi><mi>b</mi></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>X</mi><mi>id</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>+</mo><msub><mi>c</mi><mn>3</mn></msub><mo>&CenterDot;</mo><msub><mi>r</mi><mn>3</mn></msub><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>G</mi><mi>d</mi><mi>b</mi></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>X</mi><mi>id</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>)</mo><mo>)</mo></mrow><mo>+</mo><msub><mi>&delta;</mi><mn>2</mn></msub><mo>&CenterDot;</mo><msubsup><mi>V</mi><mi>id</mi><mi>f</mi></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA00005305140800000213.GIF" wi="1430" he="163" /></maths>计算d维粒子的速度,利用公式X<sub>id</sub>(t+1)=V<sub>id</sub>(t+1)+X<sub>id</sub>(t)更新d维粒子的位置,其中,V<sub>id</sub>(t)为粒子在第t代的速度,V<sub>id</sub>(t+1)是粒子在t+1代的速度,<img file="FDA00005305140800000214.GIF" wi="143" he="80" />是粒子在第t代的个体最优,X<sub>id</sub>(t)是粒子在第t代的位置,<img file="FDA00005305140800000215.GIF" wi="122" he="85" />是第t代同维数粒子的局部最优,<img file="FDA00005305140800000216.GIF" wi="125" he="80" />是第t代同维粒子的全部最优,<img file="FDA00005305140800000217.GIF" wi="125" he="80" />是第t代粒子经方向调整方法处理后的速度,δ<sub>1</sub>和δ<sub>2</sub>是比例系数,ρ是惯性权重系数,r<sub>1</sub>,r<sub>2</sub>,r<sub>3</sub>是0和1间的随机数,c<sub>1</sub>,c<sub>2</sub>,c<sub>3</sub>为加速度系数,X<sub>id</sub>(t)是第t代粒子的位置,X<sub>id</sub>(t+1)是第t+1代粒子的位置,V<sub>id</sub>(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,如果首节点与第3个节点不能无障碍连接,则说明第2个节点不是冗余维节点,再令第2个为首节点;S1103、从序列表L中删除首节点和第a‑1个节点之间的所有节点;S1104、令第a‑1个节点为首节点,重复S1102依次取其后的节点进行判断并去除冗余信息,直至尾节点出现;S12、在基本膜<img file="FDA0000530514080000031.GIF" wi="82" he="65" />中得到不同维数的最优路径粒子:各基本膜<img file="FDA0000530514080000032.GIF" wi="87" he="75" />中的路径粒子经过S9的无效维路径粒子修正和S11的去冗余维信息处理后,每次得到的新路径粒子向较优或最优路径接近,其维数已经和初始状态的维数不同,同一子膜M<sub>i</sub>内各基本膜溶解,去掉基本膜的封装,将新粒子重新释放回各自所属的子膜内,等待下一次迭代的分类;S13、判断算法满足终止条件:如果循环次数t≥T,则循环结束,输出包含最优路径的解集Φ,否则t=t+1,算法跳转到S5。
地址 610031 四川省成都市二环路北一段111号