当前位置:文档之家› 遗传算法与机器人路径规划

遗传算法与机器人路径规划

遗传算法与机器人路径规划摘要:机器人的路径规划是机器人学的一个重要研究领域,是人工智能和机器人学的一个结合点。

对于移动机器人而言,在其工作时要求按一定的规则,例如时间最优,在工作空间中寻找到一条最优的路径运动。

机器人路径规划可以建模成在一定的约束条件下,机器人在工作过程中能够避开障碍物从初始位置行走到目标位置的路径优化过程。

遗传算法是一种应用较多的路径规划方法,利用地图中的信息进行路径规划,实际应用中效率比较高。

关键词:路径规划;移动机器人;避障;遗传算法Genetic Algorithm and Robot Path PlanningAbstract: Robot path planning research is a very important area of robotics, it is also a combine point of artificial intelligence and robotics. For the mobile robot, it need to be worked by certain rulers(e.g time optimal),and find a best movement path in work space. Robot path planning can be modeled that in the course of robots able to avoid the obstacles from the initial position to the target location,and it ruquire to work under ertain constraints. Genetic algorithm used in path planning is very common, when planning the path ,it use the information of map ,and have high eficient in actual.Key words: Path planning,mobile robot, avoid the obstacles, genetic algorithm1路径规划1.1机器人路径规划分类(1)根据机器人对环境信息掌握的程度和障碍物的不同,移动机器人的路径规划基本上可分为以下几类:1,已知环境下的对静态障碍物的路径规划;2,未知环境下的对静态障碍物的路径规划;3,已知环境下对动态障碍物的路径规划;4,未知环境下的对动态障碍物的路径规划。

(2)也可根据对环境信息掌握的程度不同将移动机器人路径规划分为两种类型:1,基于环境先验完全信息的全局路径规划;2,基于传感器信息的局部路径规划。

(第二种中的环境是未知或部分未知的,即障碍物的尺寸、形状和位置等信息必须通过传感器获取。

)1.2路径规划步骤无论机器人路径规划属于哪种类别,采用何种规划算法,基本上都要遵循以下步骤:1, 建立环境模型,即将现实世界的问题进行抽象后建立相关的模型;2, 路径搜索方法,即寻找合乎条件的路径的算法。

1.3路径规划方法1.3.1传统路径规划方法(1)自由空间法(free space approach)基于简化问题的思想, 采用“结构空间” 来描述机器人及其周围的环境。

这种方法将机器人缩小成点,将其周围的障碍物及边界按比例相应地扩大,使机器人点能够在障碍物空间中移动到任意一点,而不与障碍物及边界发生碰撞。

(2)图搜索法采用预先定义的几何形状构造自由空间,并将其表示为连通图,然后通过搜索连通图进行路径规划。

这种方法比较灵活,改变初始位置和目标位置不会重构连通图,但是障碍物比较多时,算法会比较复杂,且不一定能找到最短路径。

(3)人工势场法(artificial potential field)既是把机器人工作环境模拟成一种力场。

目标点对机器人产生引力,障碍物对机器人产生斥力,通过求合力来求控制机器人的运动。

1.3.2 智能路径规划方法(1)基于模糊逻辑算法(fuzzy logic algorithm)的机器人路径规划此方法基于传感器的实时信息,参考人的的经验,通过查表获得规划信息,实现局部路径规划。

通过把约束和目标模糊化,利用隶属度函数寻找使各种条件达到满意的程度,在模糊意义下求解最优解。

(2)基于神经网络(NN)的机器人路径规划主要是基于神经网络结构构造出来能量函数,根据路径点与障碍物位置的关系,选取动态运动方程,规划出最短路径。

(3)基于遗传算法(GA)的机器人路径规划遗传算法运算进化代数众多,占据较大的存储空间和运算时间,本身所存在的一些缺陷(如解的早熟现象、局部寻优能力差等),保证不了对路径规划的计算效率和可靠性的要求。

为提高路径规划问题的求解质量和求解效率,研究者在其基础上进行改进。

机器人路径规划算法的方法很多,除了上面介绍的常见的路径规划方法外,还有基于蚁群算法的路径规划,基于微粒群算法的路径规划,结合模拟退火算法的遗传算法等。

前面对路径规划的方法做了整体的介绍,下面则要讲解的具体的算法:遗传算法在路径规划中的应用。

2基于遗传算法的机器人路径规划2.1遗传算法相关知识遗传算法(GA)由美国Miehigan大学的JohnHolland等在20世纪60年代末期到70年代初期研究形成的一个较完整的理论方法,从试图解释自然系统中生物的复杂适应过程入手,模拟生物进化的机制来构造人工系统的模型。

遗传算法包括三个基本操作:选择,交叉和变异。

2.2路径规划的具体步骤利用遗传算法进行路径规划时,一般包含:环境建模,编码,群体初始化,确定适应度函数(fitness function),遗传操作。

2.2.1环境建模所谓建模是指建立合理的数学模型来描述机器人的工作环境.本次涉及的机器人工作环境都是障碍物已知的二维空间。

本文中遗传算法应用的环境都是基于下面条件考虑的:(1)机器人被看做是一个点;(2)障碍物的尺寸都向外扩展半个机器人半径。

如图2.1所示图2.1 路径规划环境模型图Fig.2.1 Path planning environment model diagram2.2.2编码在机器人的工作环境图中可以看到,机器人的运动轨迹由若干直线段构成,每段直线段是机器人运动的基本单位。

机器人到达目标点的整个路径可表示成:其中L i 是第i 段直线段的矢量表示,它的两个端点分别可以表示为Pi 和Pi+1,符号“+”表示矢量的运算。

可以以O 表示原点,于是于是整个机器人的运动路径可以表示为如下的路点矢量集合:设Pi 的坐标点可以表示为(xi ,yi ),那么在算法实现时,路径就可以以坐标点形式储存。

这样就完成了对染色体的编码,所有的路径T 是可能的一个满足条件路径。

2.2.3 群体初始化群体初始化往往是随即产生的,这里所讲的两种遗传算法都是随即生产从出发点到目标点的任意一条可行路径集合作为初始群体。

例如在第一个遗传算法应用中采用均匀分布的方法进行群体初始化。

2.2.4 适应度函数规划出路径的优劣程度要有一个评价的标准。

适应度函数就是为了评价这个优劣程度。

在这个适应度函数中以路径长度和障碍物作为评价指标,并使所求解向指标渐小的方向进化。

该函数的构造如下:(1)在函数中a1,a2是权重系数,分别强化了不同指标的重要性。

第一项表示路径的总长度,第二项是障碍物的排斥函数。

(2)M 是障碍物的个数,βi 是第i 段直线与第j 个障碍物的排斥度。

定义为:121....-+++=n l l l T i i i OP l -=+1{}n OPOP T ⋅⋅⋅=21,∑∑-=-=+=112111)(N i i N i i K a a T F αρ∑==Mj ij i 0βα(3)共3 项分别对应:①直线段与障碍物相交时;②直线段距离障碍物d o ≤ d s ; ③直线段远离障碍物 d o >ds 。

其中γ为使直线段不与障碍物相交所要移动的最短距离,d o 为直线段到障碍物的距离,称d s 为安全距离,当 d o ≥ d s 后,算法将不再试图使路径进一步远离障碍物,称该线段和障碍物无排斥。

给出适应度函数后,在后面的运行过程中,算法试图使适应度函数最小化并认为使得该函数取得较小值的解为较优解。

2.2.5 遗传操作交叉算子交叉操作对两个对象操作,对对象进行随即分割,然后重组得到两个新的个体。

交叉根据分割点的数量分为单点交叉和多点交叉,单点交叉是多点交叉的一种特殊形式。

基本的操作如下图2.2所示:图2.2 多点交叉操作Fig.2.2 Multi-point crossover operation在图中,父染色体被随机四个分割点分为五部分,标有箭头的部分互换。

这样完成交叉操作后产生两条子染色体基本的交叉操作产生的子代染色体的长度可能不等,结果是,对应的适应度函数也发生变化。

对交叉算子的改进是使为了获得更低函数值的适应度函数。

前面已经给出路径的表达式。

这里给出一个线段的相交函数:(4)0表示第i 段直线与所有的障碍物不相交,1表示第i 段直线与障碍物相交。

并定义如下路段与障碍物相交状态变化函数:(5) gi 可能的取值为:1,0,-1。

为1时第i+1点前段直线与障碍物不相交后一段相交,-1的时候相反,为0的时候说明前后段的情况相同。

这里选择分割点的原则是:选择 gi 为 1 时对应的变化点作为1号父个体的第一分割点,选择紧随该点之后使得 gi 为 -1 的点作为第 2分割点。

对于2号父个体, 选择过程恰好相反, 选择 gi 为 -1时对应的变化点作为2号父个体的第一分割点, 选择紧随该点之后使得gi 为1的变化点作为第 2 分割点。

更多的分割点同理可得。

除此之外还要考虑交叉点数的选取,前面的交叉操作会使最后的染色体很短,所以后续的操作要设定染色体的长度,设定标准如下。

(6) ⎪⎪⎩⎪⎪⎨⎧+∙-+∙+=0)2(12s o o s s ij d d d d d γβ()⎩⎨⎧=10i l f ()()ii i l f l f g -=+1)35(3520205526421N clen clen clen clen crossnm ≤<≤<≤<≤<⎪⎪⎪⎪⎨⎧=● 变异算子变异过程中,个体中的分量以很小的概率或步长产生转移。

对于给定路径, 该操作对路径上的各路点pi 以一定的概率改变其坐标。

标准变异对地图中的信息并没有加以利用,变异是随机的搜索,常常导致路径劣化。

而改进型变异算子优先选取和障碍物相交的线段的端点进行变异,同时限制变异所得的路点坐标在障碍物之外, 并且使变异所得的路点新坐标满足:newi i new i OP l -=+1 11---=i i new i OP OP l new(7)()()()()i i new i new i l f l f l f l f +≤+--11通过这样的约束条件保证了每次变异对路径优化的非负效果。

相关主题