基于组合个体差分演化的机器人路径规划方法与流程

文档序号:11153505阅读:789来源:国知局
基于组合个体差分演化的机器人路径规划方法与制造工艺

本发明涉及机器人路径规划领域,尤其是涉及一种基于组合个体差分演化的机器人路径规划方法。



背景技术:

机器人在现代工业生产中应用非常广泛。机器人能够在一定程度上代替许多人类劳动力,并且它不像人类那样会因为工作时间长了而感到疲劳。因此,机器人可以大大地提高生产效率,提高产品质量。尤其在生产高度精密产品时,机器人可以克服人为主观因素,提高产品生产的可靠性。机器人的路径规划是指在机器人的工作空间范围内,在满足一定的约束条件下为机器人从出发点到终止点设计出一条高效可行的运动路径,从而使机器人完成指派给其的特定任务。由于机器人路径规划的场景往往比较复杂,以及路径规划的范围通常比较大,因此这是一个很有挑战性的工作。

机器人的路径规划问题本质上是一个带约束条件的复杂优化问题,而传统的优化算法往往无法在工程上可忍受的搜索时间内为机器人规划出高效可行的运动路径。演化算法是一种模拟自然界演化规律而建立起来的智能仿生算法,它在解决许多优化问题时能够比传统确定性算法表现出更优越的性能。鉴于演化算法在求解复杂优化问题时的优点,人们将演化算法引入到机器人路径规划问题的求解中。例如,姜英杰利用遗传算法优化变电站巡检机器人的路径规划(姜英杰,吕学勤,段利伟等.栅格遗传算法的变电站巡检机器人路径规划[J].科技与创新,2015,(6):12-14);田欣等利用先验知识来指导可行路径的搜索,并设计了自适应的遗传参数机制,以此提高路径规划的效率(田欣,刘广瑞,周文博等.基于改进自适应遗传算法的机器人路径规划研究[J].机床与液压,2016,44(17):24-28,62);陈刚和沈林成针对复杂环境的独有因素,在传统遗传算法的基础上设计了特定的搜索算子及新的适应值函数来优化机器人的运动路径(陈刚,沈林成.复杂环境下路径规划问题的遗传路径规划方法[J].机器人,2001,23(1):40-44,50)。

从现有的研究成果中可知,演化算法已经广泛应用于解决机器人路径规划问题。但是对传统演化算法在求解机器人路径规划问题时容易出现收敛速度慢,路径规划效率不高的缺点。



技术实现要素:

本发明针对传统演化算法在求解机器人路径规划问题时容易出现收敛速度慢,路径规划效率不高的缺点,提出一种基于组合个体差分演化的机器人路径规划方法。本发明能够提高机器人路径规划的效率。

本发明的技术方案:一种基于组合个体差分演化的机器人路径规划方法,包括以下步骤:

步骤1,对机器人路径规划区域的环境进行建模,得到路径规划区域的地图,然后对地图进行栅格化;

步骤2,用户初始化参数,所述初始化参数包括路径的关键节点数量D,种群大小Popsize,最大评价次数MAX_FEs,杂交率Cr和缩放因子F;

步骤3,当前演化代数t=0,当前评价次数FEs=0;

步骤4,输入机器人路径规划的起始点坐标,然后输入机器人路径规划的终止点坐标;

步骤5,随机产生初始种群其中:下标i=1,2,...,Popsize,并且为种群Pt中的第i个个体,存储了D个关键节点的横坐标和纵坐标;

步骤6,计算种群Pt中每个个体的适应值;然后令当前评价次数FEs=FEs+Popsize;

步骤7,保存种群Pt中的最优个体Bestt

步骤8,令计数器ki=1;

步骤9,如果计数器ki大于种群大小Popsize,则转到步骤15,否则转到步骤10;

步骤10,执行基于组合基础个体的操作算子产生一个试验个体其步骤如下:

步骤10.1,令计数器mj=1;

步骤10.2,在[1,2×D]之间随机产生一个正整数jRand;

步骤10.3,在[1,Popsize]之间随机产生两个不相等的正整数RI1和RI2;

步骤10.4,如果个体的适应值比个体的适应值更优,则令RI1=RI2,否则保持RI1不变;

步骤10.5,在[0,1]之间产生了一个服从均匀分布的随机实数W,然后令组合基础个体

步骤10.6,在[1,Popsize]之间随机产生两个互不相等的正整数RI3和RI4;

步骤10.7,如果计数器mj小于或等于2×D,则转到步骤10.8,否则转到步骤11;

步骤10.8,在[0,1]之间产生一个随机实数r1,如果r1小于杂交率Cr或者计数器mj等于jRand,则转到步骤10.9,否则转到步骤10.12;

步骤10.9,

步骤10.10,获取所对应的关键节点的坐标TPU,如果坐标TPU所在地图中的位置标记有障碍物,则随机产生的值直到所对应的关键节点的坐标在地图中的位置没有标记障碍物;

步骤10.11,转到步骤10.13;

步骤10.12,

步骤10.13,令计数器mj=mj+1,然后转到步骤10.7;

步骤11,对试验个体执行局部搜索,具体步骤如下:

步骤11.1,对试验个体进行解码得到D个关键节点的坐标:TP1,TP2,...,TPD

步骤11.2,令TP0为机器人路径规划的起始点坐标,并令TPD+1为机器人路径规划的终止点坐标;

步骤11.3,令计数器STB=0;

步骤11.4,令计数器BN=0,并令计数器tpi=0;

步骤11.5,在TPtpi与TPtpi+1之间进行插值得到一条直线;如果TPtpi与TPtpi+1之间插值得到的直线上存在着一个点的坐标在地图中标记有障碍物,则令BN=BN+1,并令STB=tpi,否则保持BN和STB不变;

步骤11.6,令计数器tpi=tpi+1;

步骤11.7,如果tpi大于D,则转到步骤11.8,否则转到步骤11.5;

步骤11.8,如果BN大于0并且BN小于3则转到步骤11.9,否则转到步骤12;

步骤11.9,如果STB等于0,则令STB=STB+1,否则保持STB不变;

步骤11.10,令最大局部搜索次数Max_Rand=300;

步骤11.11,令计数器kj=1;

步骤11.12,如果kj大于Max_Rand,则转到步骤12,否则转到步骤11.13;

步骤11.13,随机产生试验个体中第STB个关键节点的坐标;

步骤11.14,令计数器kj=kj+1,并令TPSTB为试验个体中第STB关键节点的坐标;

步骤11.15,如果TPSTB与TPSTB+1之间插值得到的直线上存在着一个点的坐标在地图中标记有障碍物,则转到步骤11.12,否则转到步骤11.16;

步骤11.16,如果TPSTB-1与TPSTB之间插值得到的直线上存在着一个点的坐标在地图中标记有障碍物,则转到步骤11.12,否则转到步骤12;

步骤12,计算试验个体的适应值,并令当前评价次数FEs=FEs+1;

步骤13,按以下公式在个体与试验个体之间选择更优者进入下一代种群:

步骤14,令计数器ki=ki+1,然后转到步骤9;

步骤15,保存种群Pt中的最优个体Bestt,并令当前演化代数t=t+1;

步骤16,重复步骤8至步骤15直至当前评价次数FEs达到MAX_FEs后结束,将执行过程中得到的最优个体Bestt解码为D个关键节点的坐标,即可得到机器人的规划路径。

本发明采用关键结点的方式表示机器人的路径,并利用组合个体差分演化来优化机器人路径的关键结点。在组合个体差分演化算法中,利用最优个体与随机个体的信息生成组合个体,并以组合个体来引导算法的搜索方向。此外,在搜索过程中执行局部搜索以提高解的质量。本发明能够提高机器人路径规划的效率。

附图说明

图1为本发明的流程图。

具体实施方式

下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。

实施例:

步骤1,对机器人路径规划区域的环境进行建模,得到路径规划区域的地图,然后对地图进行栅格化;

步骤2,用户初始化参数,所述初始化参数包括路径的关键节点数量D=6,种群大小Popsize=30,最大评价次数MAX_FEs=35000,杂交率Cr=0.1和缩放因子F=0.5;

步骤3,当前演化代数t=0,当前评价次数FEs=0;

步骤4,输入机器人路径规划的起始点坐标,然后输入机器人路径规划的终止点坐标;

步骤5,随机产生初始种群其中:下标i=1,2,...,Popsize,并且为种群Pt中的第i个个体,存储了6个关键节点的横坐标和纵坐标;

步骤6,计算种群Pt中每个个体的适应值;然后令当前评价次数FEs=FEs+Popsize;

步骤7,保存种群Pt中的最优个体Bestt

步骤8,令计数器ki=1;

步骤9,如果计数器ki大于种群大小Popsize,则转到步骤15,否则转到步骤10;

步骤10,执行基于组合基础个体的操作算子产生一个试验个体其步骤如下:

步骤10.1,令计数器mj=1;

步骤10.2,在[1,2×D]之间随机产生一个正整数jRand;

步骤10.3,在[1,Popsize]之间随机产生两个不相等的正整数RI1和RI2;

步骤10.4,如果个体的适应值比个体的适应值更优,则令RI1=RI2,否则保持RI1不变;

步骤10.5,在[0,1]之间产生了一个服从均匀分布的随机实数W,然后令组合基础个体

步骤10.6,在[1,Popsize]之间随机产生两个互不相等的正整数RI3和RI4;

步骤10.7,如果计数器mj小于或等于2×D,则转到步骤10.8,否则转到步骤11;

步骤10.8,在[0,1]之间产生一个随机实数r1,如果r1小于杂交率Cr或者计数器mj等于jRand,则转到步骤10.9,否则转到步骤10.12;

步骤10.9,

步骤10.10,获取所对应的关键节点的坐标TPU,如果坐标TPU所在地图中的位置标记有障碍物,则随机产生的值直到所对应的关键节点的坐标在地图中的位置没有标记障碍物;

步骤10.11,转到步骤10.13;

步骤10.12,

步骤10.13,令计数器mj=mj+1,然后转到步骤10.7;

步骤11,对试验个体执行局部搜索,具体步骤如下:

步骤11.1,对试验个体进行解码得到6个关键节点的坐标:TP1,TP2,...,TPD

步骤11.2,令TP0为机器人路径规划的起始点坐标,并令TPD+1为机器人路径规划的终止点坐标;

步骤11.3,令计数器STB=0;

步骤11.4,令计数器BN=0,并令计数器tpi=0;

步骤11.5,在TPtpi与TPtpi+1之间进行插值得到一条直线;如果TPtpi与TPtpi+1之间插值得到的直线上存在着一个点的坐标在地图中标记有障碍物,则令BN=BN+1,并令STB=tpi,否则保持BN和STB不变;

步骤11.6,令计数器tpi=tpi+1;

步骤11.7,如果tpi大于D,则转到步骤11.8,否则转到步骤11.5;

步骤11.8,如果BN大于0并且BN小于3则转到步骤11.9,否则转到步骤12;

步骤11.9,如果STB等于0,则令STB=STB+1,否则保持STB不变;

步骤11.10,令最大局部搜索次数Max_Rand=300;

步骤11.11,令计数器kj=1;

步骤11.12,如果kj大于Max_Rand,则转到步骤12,否则转到步骤11.13;

步骤11.13,随机产生试验个体中第STB个关键节点的坐标;

步骤11.14,令计数器kj=kj+1,并令TPSTB为试验个体中第STB关键节点的坐标;

步骤11.15,如果TPSTB与TPSTB+1之间插值得到的直线上存在着一个点的坐标在地图中标记有障碍物,则转到步骤11.12,否则转到步骤11.16;

步骤11.16,如果TPSTB-1与TPSTB之间插值得到的直线上存在着一个点的坐标在地图中标记有障碍物,则转到步骤11.12,否则转到步骤12;

步骤12,计算试验个体的适应值,并令当前评价次数FEs=FEs+1;

步骤13,按以下公式在个体与试验个体之间选择更优者进入下一代种群:

步骤14,令计数器ki=ki+1,然后转到步骤9;

步骤15,保存种群Pt中的最优个体Bestt,并令当前演化代数t=t+1;

步骤16,重复步骤8至步骤15直至当前评价次数FEs达到MAX_FEs后结束,将执行过程中得到的最优个体Bestt解码为6个关键节点的坐标,即可得到机器人的规划路径。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1