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

合集下载

基于遗传算法的机器人路径规划研究

基于遗传算法的机器人路径规划研究

基于遗传算法的机器人路径规划研究机器人技术的发展越来越成熟,机器人已经广泛应用于生产、医疗、军事等领域,成为现代社会的一大利器。

在机器人的应用领域中,机器人的路径规划是一个非常关键的环节。

基于遗传算法的机器人路径规划,是近几年来机器人路径规划领域的研究热点之一。

本文将从以下几个方面来探讨基于遗传算法的机器人路径规划的研究现状。

一、机器人路径规划的背景机器人路径规划在机器人技术中占据着非常重要的地位。

机器人路径规划的主要任务是规划机器人从起点到达终点的路线,并且在此过程中尽量减小机器人的代价。

机器人路径规划的过程涉及到许多技术领域,如图像处理、人工智能、计算机视觉等。

早在20世纪50年代,机器人就已经出现在人们的视野中。

但当时的机器人主要是应用于工业制造领域。

另外,这些机器人多数是只能进行简单的重复性工作。

随着计算机技术的不断发展,机器人技术也得到了大力的推广,为机器人技术的发展提供了强有力的支持。

在未来的发展过程中,机器人技术将会在更广泛的领域得到应用。

二、遗传算法简介遗传算法是一种模拟自然界生物进化过程的优化算法。

它是建立在基因遗传和自然选择等生物进化规律上的一种算法。

遗传算法通过种群的遗传操作来寻找最优解,具有简单、易于理解、鲁棒性强等特点。

遗传算法(Genetic Algorithm,GA)是一种通过模拟自然选择和遗传机制进行优化的搜索算法。

它最早由 J. Holland 于 1975 年提出。

遗传算法是模拟自然选择的一种适应性优化搜索技术,借鉴了生物界的遗传、进化和自然选择等思想,能够在搜索过程中不断寻找最优解。

遗传算法的基本操作包括选择、交叉、变异。

个体适应度越高,其在选择过程中被选中的概率就越大,从而被保留到下一代。

三、遗传算法在机器人路径规划中的应用机器人的路径规划过程一般是一个优化问题,需要根据机器人的特殊任务和环境,采用合适的方法来进行规划。

当前,有一些常用的路径规划方法,如A*算法、Dijkstra算法、拉普拉斯最小曲率算法等。

改进遗传算法在移动机器人全局路径规划中的应用

改进遗传算法在移动机器人全局路径规划中的应用
Ab ta t sr c Amig a h rbe f g n t loi m p lct n i go a p t ln ig fr i n tte p o lms o e ei agr h a piai n lb l ah pa nn o mo i o o n ldn rmaue c t o bl rb t icu ig pe tr e
c n e g n e a d so o v r e c o v r e c n lw c n e g n e,i h s p p r t e a t os p o o e a mp o e e ei g r h b s d o h n o i g me n ff e n t i a e h u h r rp s n i r v d g n tc a o i m a e n t e e c d n a s o x d l t i

个N P完 全问题

遗传算法通过 引入达尔 文生 物进化学说 中的选择 、 交换 、 变 异等概念 , 对经过 编码 的多个 个体组 成 的群 体进行 遗传 进化操
可视图的组合寻优方法 , 解决 了不可行路径适应度评价 问题 , 提
0 引 言
移动机器人路 径规划是 智能机 器人学 重要研 究领域 之一 , 其任务是在给定机 器人 运动 环境 的前 提下 , 照一定 的标准 规 按
划出一条连接移动 机器人起 始点和终止点 的最优或 次优 有效路 径。这一 问题 的优化解评价 指标 可以是 : 路径 的长度 、 机器人 与
蒋 明 王 短 张 华 解兴哲
( 西南科技大学机器人 技术及应 用四川 省重点 实验室 四川 绵阳 6 1 1 ) 20 0


针对应用遗传 算法进 行移动机器人全局路径规划 时遇到 的早 熟收敛和 收敛速度慢 等问题 , 出一种 基于定长 二进制路 提

11基于遗传算法的机器人路径规划MATLAB源代码

11基于遗传算法的机器人路径规划MATLAB源代码

基于遗传算法的机器人路径规划MATLAB源代码基本思路是:取各障碍物顶点连线的中点为路径点,相互连接各路径点,将机器人移动的起点和终点限制在各路径点上,利用最短路径算法来求网络图的最短路径,找到从起点P1到终点Pn的最短路径。

上述算法使用了连接线中点的条件,因此不是整个规划空间的最优路径,然后利用遗传算法对找到的最短路径各个路径点Pi (i=1,2,…n)调整,让各路径点在相应障碍物端点连线上滑动,利用Pi= Pi1+ti×(Pi2-Pi1)(ti∈[0,1] i=1,2,…n)即可确定相应的Pi,即为新的路径点,连接此路径点为最优路径。

function [L1,XY1,L2,XY2]=JQRLJGH(XX,YY)%% 基于Dijkstra和遗传算法的机器人路径规划% GreenSim团队——专业级算法设计&代写程序% 欢迎访问GreenSim团队主页→/greensim%输入参数在函数体内部定义%输出参数为% L1 由Dijkstra算法得出的最短路径长度% XY1 由Dijkstra算法得出的最短路径经过节点的坐标% L2 由遗传算法得出的最短路径长度% XY2 由遗传算法得出的最短路径经过节点的坐标%程序输出的图片有% Fig1 环境地图(包括:边界、障碍物、障碍物顶点之间的连线、Dijkstra的网络图结构)% Fig2 由Dijkstra算法得到的最短路径% Fig3 由遗传算法得到的最短路径% Fig4 遗传算法的收敛曲线(迄今为止找到的最优解、种群平均适应值)%% 画Fig1figure(1);PlotGraph;title('地形图及网络拓扑结构')PD=inf*ones(26,26);for i=1:26for j=1:26if D(i,j)==1x1=XY(i,5);y1=XY(i,6);x2=XY(j,5);y2=XY(j,6);dist=((x1-x2)^2+(y1-y2)^2)^0.5;PD(i,j)=dist;endendend%% 调用最短路算法求最短路s=1;%出发点t=26;%目标点[L,R]=ZuiDuanLu(PD,s,t);L1=L(end);XY1=XY(R,5:6);%% 绘制由最短路算法得到的最短路径figure(2);PlotGraph;hold onfor i=1:(length(R)-1)x1=XY1(i,1);y1=XY1(i,2);x2=XY1(i+1,1);y2=XY1(i+1,2);plot([x1,x2],[y1,y2],'k');hold onendtitle('由Dijkstra算法得到的初始路径')%% 使用遗传算法进一步寻找最短路%第一步:变量初始化M=50;%进化代数设置N=20;%种群规模设置Pm=0.3;%变异概率设置LC1=zeros(1,M);LC2=zeros(1,M);Yp=L1;%第二步:随机产生初始种群X1=XY(R,1);Y1=XY(R,2);X2=XY(R,3);Y2=XY(R,4);for i=1:Nfarm{i}=rand(1,aaa);end% 以下是进化迭代过程counter=0;%设置迭代计数器while counter<M%停止条件为达到最大迭代次数%% 第三步:交叉%交叉采用双亲双子单点交叉newfarm=cell(1,2*N);%用于存储子代的细胞结构Ser=randperm(N);%两两随机配对的配对表A=farm{Ser(1)};%取出父代AB=farm{Ser(2)};%取出父代BP0=unidrnd(aaa-1);%随机选择交叉点a=[A(:,1:P0),B(:,(P0+1):end)];%产生子代ab=[B(:,1:P0),A(:,(P0+1):end)];%产生子代bnewfarm{2*N-1}=a;%加入子代种群newfarm{2*N}=b;for i=1:(N-1)A=farm{Ser(i)};B=farm{Ser(i+1)};newfarm{2*i}=b;endFARM=[farm,newfarm];%新旧种群合并%% 第四步:选择复制SER=randperm(2*N);FITNESS=zeros(1,2*N);fitness=zeros(1,N);for i=1:(2*N)PP=FARM{i};FITNESS(i)=MinFun(PP,X1,X2,Y1,Y2);%调用目标函数endfor i=1:Nf1=FITNESS(SER(2*i-1));f2=FITNESS(SER(2*i));if f1<=f2elsefarm{i}=FARM{SER(2*i)};fitness(i)=FITNESS(SER(2*i));endend%记录最佳个体和收敛曲线minfitness=min(fitness);meanfitness=mean(fitness);if minfitness<Yppos=find(fitness==minfitness);Xp=farm{pos(1)};Yp=minfitness;endif counter==10PPP=[0.5,Xp,0.5]';PPPP=1-PPP;X=PPP.*X1+PPPP.*X2;Y=PPP.*Y1+PPPP.*Y2;XY2=[X,Y];figure(3)PlotGraph;hold onfor i=1:(length(R)-1)x1=XY2(i,1);y1=XY2(i,2);x2=XY2(i+1,1);y2=XY2(i+1,2);plot([x1,x2],[y1,y2],'k');hold onendtitle('遗传算法第10代')hold onfor i=1:(length(R)-1)x1=XY1(i,1);y1=XY1(i,2);x2=XY1(i+1,1);y2=XY1(i+1,2);plot([x1,x2],[y1,y2],'k','LineWidth',1);hold onendendif counter==20PPP=[0.5,Xp,0.5]';PPPP=1-PPP;X=PPP.*X1+PPPP.*X2;Y=PPP.*Y1+PPPP.*Y2;XY2=[X,Y];figure(4)PlotGraph;hold onfor i=1:(length(R)-1)x1=XY2(i,1);y2=XY2(i+1,2);plot([x1,x2],[y1,y2],'k');hold onendtitle('遗传算法第20代')hold onx1=XY1(i,1);y1=XY1(i,2);x2=XY1(i+1,1);y2=XY1(i+1,2);plot([x1,x2],[y1,y2],'k','LineWidth',1);hold onendendif counter==30PPP=[0.5,Xp,0.5]';PPPP=1-PPP;X=PPP.*X1+PPPP.*X2;Y=PPP.*Y1+PPPP.*Y2;XY2=[X,Y];figure(5)PlotGraph;hold onfor i=1:(length(R)-1)x1=XY2(i,1);y1=XY2(i,2);x2=XY2(i+1,1);y2=XY2(i+1,2);plot([x1,x2],[y1,y2],'k');hold onendtitle('遗传算法第30代')hold onfor i=1:(length(R)-1)x1=XY1(i,1);y2=XY1(i+1,2);plot([x1,x2],[y1,y2],'k','LineWidth',1);hold onendendif counter==40PPP=[0.5,Xp,0.5]';PPPP=1-PPP;X=PPP.*X1+PPPP.*X2;Y=PPP.*Y1+PPPP.*Y2;XY2=[X,Y];figure(6)PlotGraph;hold onx1=XY2(i,1);y1=XY2(i,2);x2=XY2(i+1,1);y2=XY2(i+1,2);plot([x1,x2],[y1,y2],'k');hold onendtitle('遗传算法第40代')hold onfor i=1:(length(R)-1)x1=XY1(i,1);y1=XY1(i,2);x2=XY1(i+1,1);y2=XY1(i+1,2);plot([x1,x2],[y1,y2],'k','LineWidth',1);hold onendendif counter==50PPP=[0.5,Xp,0.5]';PPPP=1-PPP;X=PPP.*X1+PPPP.*X2;Y=PPP.*Y1+PPPP.*Y2;XY2=[X,Y];figure(7)PlotGraph;hold onfor i=1:(length(R)-1)x1=XY2(i,1);y1=XY2(i,2);x2=XY2(i+1,1);y2=XY2(i+1,2);plot([x1,x2],[y1,y2],'k');hold onendtitle('遗传算法第50代')hold onfor i=1:(length(R)-1)x1=XY1(i,1);y1=XY1(i,2);x2=XY1(i+1,1);y2=XY1(i+1,2);plot([x1,x2],[y1,y2],'k','LineWidth',1);hold onendendLC2(counter+1)=Yp;LC1(counter+1)=meanfitness;%% 第五步:变异for i=1:Nif Pm>rand&&pos(1)~=iAA=farm{i};AA(POS)=rand;farm{i}=AA;endendcounter=counter+1;disp(counter);end%% 输出遗传算法的优化结果PPP=[0.5,Xp,0.5]';PPPP=1-PPP;X=PPP.*X1+PPPP.*X2;Y=PPP.*Y1+PPPP.*Y2;XY2=[X,Y];L2=Yp;%% 绘制Fig3figure(8)PlotGraph;hold onhold onfor i=1:(length(R)-1)x1=XY1(i,1);y1=XY1(i,2);x2=XY1(i+1,1);y2=XY1(i+1,2);plot([x1,x2],[y1,y2],'k','LineWidth',1);hold onendfor i=1:(length(R)-1)x1=XY2(i,1);y1=XY2(i,2);x2=XY2(i+1,1);y2=XY2(i+1,2);plot([x1,x2],[y1,y2],'k');hold onendtitle('遗传算法最终结果')figure(9)PlotGraph;hold onfor i=1:(length(R)-1)x1=XY1(i,1);y1=XY1(i,2);x2=XY1(i+1,1);y2=XY1(i+1,2);plot([x1,x2],[y1,y2],'k','LineWidth',1);hold onendhold onfor i=1:(length(R)-1)x1=XY2(i,1);y1=XY2(i,2);x2=XY2(i+1,1);y2=XY2(i+1,2);plot([x1,x2],[y1,y2],'k','LineWidth',2);hold onendtitle('遗传算法优化前后结果比较')%% 绘制Fig4figure(10);plot(LC1);hold onplot(LC2);xlabel('迭代次数');title('收敛曲线');源代码运行结果展示。

基于改进遗传算法的工业机器人路径规划研究

基于改进遗传算法的工业机器人路径规划研究

基于改进遗传算法的工业机器人路径规划研究随着工业自动化的不断普及,工业机器人的应用范围越来越广泛。

而在工业机器人的操作中,路径规划是非常重要的一环。

如果路径规划不仅高效而且安全,则工业生产的效率可以得到很大的提高。

目前,针对机器人路径规划的研究大多基于遗传算法。

然而,由于遗传算法的一些局限性,其效率并不尽如人意。

因此,为了提高机器人路径规划的质量和效率,本文对遗传算法进行改进,并探讨其在工业机器人路径规划中的应用。

一、遗传算法在工业机器人路径规划中的应用遗传算法是一种在计算机科学和人工智能领域中广泛应用的优化算法。

它通过模拟自然进化过程,从而在复杂的搜索空间中搜索最优解。

在机器人路径规划问题中,遗传算法主要应用于寻找最短路径或者最优路径。

其具体流程如下:1. 初始化种群:从随机的起点和终点开始,生成一定数量的个体(即路径),并将它们组成一个初始种群。

2. 适应度函数:根据路径的长度,计算每个个体的适应度值。

适应度值越优秀的个体,被选中的概率也越大。

3. 选择操作:根据适应度对所有个体进行选择,选择算子可以使环境保持多样化,达到探索多种可能的目的。

4. 交叉操作:在被选择的个体中进行随机的交叉操作,以产生新的个体。

交叉操作的目的在于增强群体的多样性和优化搜索效率。

5. 变异操作:在产生的个体中,进行随机的变异操作。

一般而言,变异概率是极小的,因为变异一次很有可能使得适应度下降。

6. 重复上述步骤:重新计算每个个体的适应度值、选择重新生成新的个体,如此反复,直到满足停止条件,即找到最优或者达到迭代次数。

基于遗传算法的机器人路径规划问题,虽然在处理简单问题时有效,但是当搜索空间复杂度提高以后,遗传算法会出现局限性,即陷入局部最优解。

为了解决这一问题,本文提出了基于改进遗传算法的工业机器人路径规划。

二、改进遗传算法在工业机器人路径规划中的应用针对遗传算法出现的局限性,在工业机器人路径规划中引入了两个改进的措施:仿射变换和差分进化。

基于遗传算法的机器人综合路径规划

基于遗传算法的机器人综合路径规划
( _ l g fEl c rc la n o ma i n En i e rn No t e s t o e m i e s t , q n 6 3 8, i a 1 Co l e o e t ia nd I f r to g n e i g, r h a tPe r l u Un v r iy Da i g 1 3 1 Ch n e
e f c i e s nd r a— i e o he p o os d a go ih . fe tv ne s a e ltm ft r p e l rt m K e r s ob t; e e i l o ihm ; o po ii e ft e sf nc i n; e i i he y; u tp e a ti y wo d :r o g n tc a g rt cm stv in s u to d cson t or m li l trbut m u e; —
M a 12 y 20
21 0 2年 5月
文章 编 号 : 6 1 5 9 ( 0 2 0 — 2 80 1 7 — 8 6 2 1 ) 30 2 — 6
基 于遗 传 算 法 的机器 人 综 合 路径 规 划
李 艳 辉 曲萃 萃 , , 赵 辉
( . 北 石 油 大 学 电气 信 息 工 程 学 院 , 龙 江 大 庆 1 3 1  ̄. 京 中 核东 方 控 制 系 统 工 程 有 限公 司 研 发 部 , 京 1 0 7 ) 1东 黑 6382北 北 0 0 6
引入 理想 适应 度 函 数 , 基 于 引 入 的 理 想 适 应 度 函 数 , 出一 种 新 的变 异 算 子 , 变 异 算 子 可 保 证 个 体 变 异 的 方 并 提 该
向性 , 优 异 的父 代 个 体 有 较 小 变 异 、 对 劣质 个 体 有 较 大 变 异 。仿 真 结 果 验 证 了算 法 的 可 行 性 和 有效 性 。 关 键 词 : 器 人 ; 传算 法 ; 合 适 应 度 函数 ; 策 理 论 ; 属性 ; 异 算 子 机 遗 综 决 多 变

基于遗传算法的AS-R移动机器人路径规划研究

基于遗传算法的AS-R移动机器人路径规划研究
XI u ,YU Gu n e E Mu J n agW i fo eeo l tclad Eet n n i e n ,C a gh n U i ri fT cn l y hn cu 3 0 2 hn ) C l g fEe r a n l r i E g er g h ncu n esy o eh o g ,C agh n 10 1 ,C ia l c i co c n i v t o
单 且 通 用的 效 果 . 得 的 折 线路 径 也 更 适合 于机 器人 进 行 轨 迹 跟踪 。 所
关 键 词 : 传 算 法 ; 径 规 划 ; 动 机 器 人 ; 格 法 遗 路 移 栅
中图分类号 :P4 T 2 文献 标识码 : A
Re e r h fAS — m o ie r b tp t a ni g ba e n g ne i l o ih s s a c o —R b l o o a h pln n s d o e tc ag rt m
Ke r s g n t lo t ms p t ln i g mo i o o; rd me h d y wo d : e e i ag r h ; ah p a n n ; bl rb t g t o c i e i
路径 规划 是移 动机器 人领 域 中的一 个 基本 问题 . 也
i h o s a c he p t ,a n rdu e m li e g n tc o ert r o e a e un v s lo h l o i rt ms t e r h t a h nd i to c utpl e e i p a o st nh nc iera fte a g rt hms .Us e VC o p o r m n AS t r g a o —R o t rbo,

机器人路径规划中的碰撞避免算法优化方法

机器人路径规划中的碰撞避免算法优化方法

机器人路径规划中的碰撞避免算法优化方法机器人路径规划是自动化领域中的重要研究方向之一。

在真实世界中,机器人常常需要在复杂的环境中进行移动,因此,路径规划中的碰撞避免算法是至关重要的。

其主要目标是确保机器人能够有效地规划出路径,并在执行时避免与障碍物发生碰撞。

本文将探讨一些优化方法,用于提升机器人路径规划中的碰撞避免算法的效率和可靠性。

一、传统方法回顾传统的机器人路径规划中碰撞避免算法主要有基于模型的方法和基于搜索的方法。

1. 基于模型的方法基于模型的方法通常将环境建模为网格地图或其他形式的几何模型,通过离散化的方式进行路径规划。

其中,A*算法是最常用的基于模型的路径规划算法之一。

A*算法通过评估每个候选路径的代价函数来寻找最优路径,并能够在有限的时间内完成路径规划。

2. 基于搜索的方法基于搜索的方法则是通过探索环境中的有效路径来进行路径规划。

其中,Dijkstra算法和广度优先搜索算法是常见的基于搜索的路径规划算法。

这些算法通常以图的形式表示环境,以搜索方式找到最短路径。

然而,传统的方法在应对复杂环境和大规模问题时存在一些局限性,效率和精确性不够理想。

因此,一些优化方法被提出以应对这些挑战。

二、优化方法介绍1. 启发式搜索算法启发式搜索算法是一种基于搜索的方法,它利用先验知识和经验启发函数来引导路径规划。

其中,A*算法是一种典型的启发式搜索算法。

通过引入启发函数,A*算法能够在搜索过程中更加智能地选择下一步前进的方向,并在启发式函数的引导下,更快地找到最优路径。

2. 遗传算法遗传算法是一种进化计算方法,其通过模拟生物进化过程中的基因交叉和变异来寻找最优解。

在机器人路径规划中,遗传算法可以通过对路径的编码和解码来表示路径,并通过基因操作优化路径的质量。

遗传算法在路径规划中具有较好的收敛性和全局搜索能力,能够有效应对复杂环境和大规模问题。

3. 快速随机树算法快速随机树算法(Rapidly-exploring Random Trees,简称RRT)是一种基于随机采样的快速路径规划方法。

基于遗传算法的机器人路径规划

基于遗传算法的机器人路径规划

4.3 基于遗传算法的机器人路径规划4.3.1 遗传算法简介[50] [51]在1975年前后,美国Michigan大学John H Holland教授根据达尔文的适者生存的进化理论研究出一种人工智能的方法——遗传算法,这种算法以生物进化、遗传原理来设计算法的原理,在算法里面还添加了统计理论学随机过程等数学方法,最终形成了该算法一种独特的理论。

遗传算法在求解时,先从一个初始群体的变量开始,依次求解出最佳解,最后得出满足预设的算法要求的迭代次数为最后结果。

这种算法是迭代算法的一种。

遗传算法是模拟大自然中生物生存的理念而产生的一种自然选择和群体遗传理论的查找式算法。

在这个算法里面把每一个需要求解决的问题尽量编码设计成“染色体”,多个染色体接着可以形成种群,在这个过程会出现选择、变异、交叉、复制等遗传操作。

遗传算法初始设定时,首先随机产生一个初值即一个种群,然后依照算法的函数对种群内的个体进行处理评估,并产生相应的对环境适应度数值。

接着算法会根据这些适应度值选择优秀的个体进行下一代衍生,然后把选出来的优秀进行变异、交叉处理。

目前在机器人的路径设计里面遗传算法得到广泛的应用,而且应用范围不仅在单个机器人的行进里面,而是在多个机器人的合作里面也有广泛应用,并且都取得不错的效果。

遗传算法是一种鲁棒性的应用于复杂系统优化的查询式算法,遗传算法与其他只能优化算法相比时,他有以下特点:(1)把决策变量编码化,以一编码做算法处理的对象。

(2)在算法里面以计算出的适应值为查询其他数据的信息。

(3)遗传算法的查询过程从一个种群开始查询,而不从一个一个体开始。

(4)遗传算法的查询是一种依据概率查询,而非确定值查询。

遗传算法的基本流程如下图4.10所示:图4.10 基本遗传算法的流程图4.3.2利用遗传算法进行路径规划4.3.2.1 规划空间的栅格法建模假设机器人工作空间为二维结构化空间, 障碍物位置、大小已知, 且在机器人运动过程中, 障碍物的位置、大小均不发生变化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

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

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

关键词:路径规划;移动机器人;避障;遗传算法
Genetic Algorithm and Robot Path Planning
Abstract: 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 algorithm
1路径规划
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 diagram
2.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 OP
OP T ⋅⋅⋅=21,∑
∑-=-=+=1
12111)(N i i N i i K a a T F αρ∑==M j ij i 0βα。

相关文档
最新文档