一种基于改进遗传算法的移动机器人路径规划方法与流程

文档序号:12662247阅读:239来源:国知局
一种基于改进遗传算法的移动机器人路径规划方法与流程

本发明涉及一种基于改进遗传算法的移动机器人路径规划方法,特别是涉及一种复杂动态环境下的基于改进遗传算法的移动机器人路径规划方法。



背景技术:

移动机器人路径规划是指在起点和终点之间寻找一条最短的无碰撞的平滑路径,在机器人领域是一个热门和必不可少的研究问题。随着机器人在工业领域的应用越来越广泛,与外界环境交互的能力要求也在提高,机器人需要解决以下几个问题:确定在哪,应该去哪,怎么到达那里,其中最后一个问题就是所谓的路径规划问题。机器人路径规划的研究始于20世纪70年代,国内外的科学家围绕路径规划从算法设汁、算法分析、仿真实验等各个方面展开了研究。目前国内外对这一问题的研究仍十分活跃,许多学者做了大量的工作。

移动机器人如何在各种环境中自主移动到目标点,并且能够躲避障碍物是移动机器人最基本、最重要的能力之一,是所有其它应用的基础,规划路径的质量直接影响到机器人大多数应用的效果。因此路径规划是移动机器人导航技术中不可缺少的重要组成部分,是移动机器人完成任务的安全保障,同时也是移动机器人智能化程度的重要标志。对路径规划算法的深入研究,能够不断提高移动机器人的导航性能和智能水平,促进移动机器人的进一步发展有着十分重要的意义。

目前在移动机器人路径规划领域已有大量的研究成果,以实现移动机器人在各种环境中实时有效的规划合理移动路径,提高移动机器人导航能力,节约能源,降低机器人控制难度。发明专利“路径规划算法”(申请号:201410757261.8),提出了一种路径规划算法,用特征圆来代替现实中的不规则障碍物,只计算三个点的坐标,而不用计算障碍物所有点的坐标,这极大地节省了机器人控制器的计算量,节省运算时间,使机器人可以快速准确地计算出最佳路径,该方法中特征圆对不规则障碍物的替代改变了障碍物的真实覆盖面积,容易影响规划路径的质量,此外所采用的路径规划算法仅适用于简单环境中的移动机器人路径规划。发明专利“Lambda*路径规划算法”(申请号:201310488139.0),提出了一种Lambda*路径规划算法,针对现有A*算法中open表中所含节点多、耗时多的问题进行改进。其算法步骤包括:采用可视图构建路径规划的环境、创建open表和closed表、创建节点的数据结构、搜索路径、加入Smooth过程对路径进行平滑处理。



技术实现要素:

本发明的目的是:提高移动机器人在各种环境中的路径规划能力。

为了达到上述目的,本发明的技术方案是提供了一种基于改进遗传算法的移动机器人路径规划方法,其特征在于,包括如下步骤:

步骤1、利用栅格模型对移动机器人工作空间进行预处理;

步骤2、指定机器人移动的起始点和目标点;

步骤3、使用改进遗传算法规划机器人最优移动路径,所述改进遗传算法包括:

步骤3.1、采用改进的双向快速遍历随机树算法生成多样性丰富、无不可行路径的初始种群,包括以下步骤:

步骤3.1.1、初始化双向快速遍历随机树,分别设置双向快速遍历随机树中的两棵子树的根节点为起始点和目标点;

步骤3.1.2、双向快速遍历随机树在栅格化工作空间中自由生长,双向快速遍历随机树的一棵子树自由生长时,在工作空间中机器人可自由行走部分随机选择一个点Prand作为生长方向,计算该子树的所有树节点与点Prand之间的欧氏距离,找出欧式距离最小的树节点Plst,该子树从树节点Plst开始以生长因子v朝着点Prand生长出新的树节点Pnew,将新的树节点Pnew连接到子树中;

步骤3.1.3、双向快速遍历随机树在栅格化工作空间中相向生长,双向快速遍历随机树中的一棵子树以另一棵子树自由生长的树节点Pnew为生长方向,同自由生长过程生长出新的树节点P’new,将新的树节点P’new连接到子树中;

步骤3.1.4、判断双向快速遍历随机树是否在起始点和目标点之间建立足够数量的连接,如果是则停止生长,进入步骤3.1.5,否则返回步骤3.1.2继续生长;

步骤3.1.5、使用回溯法生成初始种群,每次回溯均以双向快速遍历随机树的连接点作为回溯初始点,朝着双向快速遍历随机树的根节点进行回溯,直到回溯到根节点,回溯经历的树中的节点与边构成无碰撞路径,多次回溯产生的无碰撞路径组成初始种群;

步骤3.2、采用选择、交叉、变异3种遗传算子对初始种群进行进化,得到最优路径;

步骤4、将最优路径的关键点作为控制点,通过二次B样条曲线技术,对最优路径进行平滑处理,得到移动机器人的平滑最优路径。

优选地,所述步骤3.2包括如下步骤:

步骤3.2.1、计算上一步骤得到的种群中每个个体的适应度函数值f(pop);

步骤3.2.2、判断所述改进遗传算法是否达到最大迭代次数G,如果是则保存当前最优路径,进入步骤4,否则,进入步骤3.2.3;

步骤3.2.3、使用锦标赛选择策略对种群进行选择操作,设置锦标赛的联赛规模为Nchamp,从种群中随机选择Nchamp个个体,选出适应度最小的个体保留至下一代,重复锦标赛选择策略直到选出足够数量的个体,组成新种群;

步骤3.2.4、使用单点交叉策略对步骤3.2.3得到的种群进行交叉操作,从种群中随机选择两个个体作为父代,当满足交叉概率时,分别随机选择父代中选择一个关键点作为交叉点,交换父代交叉点之后的部分,组成两个新个体;

步骤3.2.5、步骤3.2.4得到的种群中的个体满足变异概率时,随机选择一个关键点作为变异点,使用变异点的8领域点替换变异点,替换后适应值最小的个体保留至下一代;

步骤3.2.6、更新种群,返回步骤3.2.1继续进化。

优选地,步骤3.2.3中,所述适应度通过适应度函数计算得到,种群中的一条路径pop的适应度函数为f(pop),则有:

式中,n为路径pop上关键点个数,(xi,yi)为关键点i在工作空间中的坐标,penalty为惩罚项。

优选地,步骤3.2.2中,最大迭代次数G=200;步骤3.2.3中,锦标赛的联赛规模Nchamp=2。

优选地,步骤3.1.2及步骤3.1.3中,将新的树节点连接到子树中的具体步骤为:计算新的树节点与子树所有节点之间的欧式距离,选择前w个欧式距离最小的树节点Plst,P2nd,...,pwth,判断树节点Plst,p2nd,...,pwth与新的树节点之间是否存在障碍物,如果否则将其与新的树节点连接。

优选地,步骤3.1.5中,所述双向快速遍历随机树的连接点为双向快速遍历随机树中两棵子树的公共树节点。

优选地,步骤3.1中,所述多样性丰富是指种群分布广度Br大,种群中的个体两两之间相似度小,种群中的个体两两之间的Hausdorff距离大,点集A和点集B的Hausdorff距离H(A,B)的计算公式如下:

式中,d(a,b)为点a和点b之间的欧氏距离。

优选地,所述广度Br的计算公式如下:

式中,N为种群中包含的路径数量,pathi为路径i关键点集合,pathj为路径j关键点集合。

优选地,步骤3.1.2,所述生长因子v=∞,即使用贪心算法,沿着生长方向一直生长,直到遇到障碍物或生长方向点。

优选地,步骤4中,二次B样条曲线的矩阵表示为P0,2(t),t∈[0,1],则有:

式中,P0、P1、P2为二次B样条曲线的控制点。

本发明具有如下有益效果:

(1)本发明采用智能算法遗传算法规划机器人移动路径,提出了改进遗传算法,该算法比标准遗传算法环境适应能力和最优路径搜索能力强;

(2)本发明采用快速遍历随机树算法初始化种群,提出了改进双向快速遍历随机树算法,该算法比常规的种群初始化方法效率更高,生成的初始种群多样性更丰富,有效的促进了改进遗传算法的路径规划能力;

(3)本发明的改进遗传算法不仅全局寻优能力强,搜索速度快,而且对复杂环境和动态环境的适应能力强,提高了移动机器人导航能力;

(4)本发明结合二次B样条曲线技术,对最优路径进行平滑处理,使该发明规划的路径更容易运用于移动机器人的实际应用中。

附图说明

图1是本发明的基于改进遗传算法的移动机器人路径规划方法流程图;

图2是本发明的基于改进双向遍历随机树的种群初始化流程图;

图3是本发明的改进双向快速遍历随机树一次连接过程;

图4是本发明的改进双向快速遍历随机树多次连接过程;

图5是本发明的种群中个体相似度计算示意图;

图6是本发明的复杂动态环境下路径规划结果。

具体实施方式

下面结合具体实施方式,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明提供的一种基于改进遗传算法的移动机器人路径规划方法如图1所示,具体预测步骤如下:

步骤1、利用栅格模型对移动机器人工作空间进行预处理;

步骤2、指定机器人移动的起始点和目标点;

步骤3、使用改进遗传算法规划机器人最优移动路径,所述改进遗传算法包含以下两部分:3.1采用改进的双向快速遍历随机树算法生成多样性丰富、无不可行路径的种群初始化,如图2所示;3.2同时采用选择、交叉、变异3种遗传算子的种群进化,其中多样性丰富是指种群分布广度Br大,种群中的个体两两之间相似度小,种群中的个体两两之间的Hausdorff距离大,如图5所示,点集A和点集B的Hausdorff距离H(A,B)的计算公式如下:

式中,d(a,b)为点a和点b之间的欧氏距离。

种群的广度Br的计算公式如下:

式中,N为种群中包含的路径数量,pathi为路径i关键点集合,pathj为路径j关键点集合。

步骤4、将最优路径的关键点作为控制点,通过二次B样条曲线技术,对最优路径进行平滑处理,得到移动机器人的平滑最优路径,如图6所示,其中二次B样条曲线的矩阵表示为P0,2(t),t∈[0,1],则有:

式中,P0、P1、P2为二次B样条曲线的控制点。

步骤3中,3.1部分的改进遗传算法的种群初始化步骤如下:

步骤3.1.1、初始化双向快速遍历随机树,分别设置双向快速遍历随机树中的两棵子树的根节点为起始点和目标点;

步骤3.1.2、双向快速遍历随机树在栅格化工作空间中自由生长,双向快速遍历随机树的一棵子树自由生长时,在工作空间中机器人可自由行走部分随机选择一个点Prand作为生长方向,计算该子树的所有树节点与点Prand之间的欧氏距离,找出欧式距离最小的树节点Plst,该子树从树节点Plst开始以生长因子v朝着点Prand生长出新的树节点Pnew,将新的树节点Pnew连接到子树中,新树节点与子树之间的连接具体为:计算新树节点与子树所有节点之间的欧式距离,选择前w个欧式距离最小的树节点Plst,p2nd,...,pwth,判断树节点Plst,p2nd,...,pwth与新树节点之间是否存在障碍物,如果否则将其与新树节点连接,其中生长因子v=∞,即使用贪心算法,沿着生长方向一直生长,直到遇到障碍物或生长方向点;

步骤3.1.3、双向快速遍历随机树在栅格化工作空间中相向生长,双向快速遍历随机树中的一棵子树以另一棵子树自由生长的新树节点Pnew为生长方向,同自由生长过程生长出新的树节点P’new,将新的树节点P’new连接到子树中,当双向快速遍历随机树中两棵子树存在公共树节点时,快速遍历随机树便连接成功一次,如图3所示;

步骤3.1.4、判断双向快速遍历随机树是否在起始点和目标点之间建立足够数量的连接,如果是则停止生长,进入步骤3.1.5,如图4所示,否则返回步骤3.1.2继续生长;

步骤3.1.5、使用回溯法生成初始种群,每次回溯均以双向快速遍历随机树的连接点作为回溯初始点,朝着双向快速遍历随机树的根节点进行回溯,直到回溯到根节点,回溯经历的树中的节点与边构成无碰撞路径,多次回溯产生的无碰撞路径组成初始种群,其中双向快速遍历随机树的连接点为双向快速遍历随机树中两棵子树的公共树节点。

步骤3中,3.2部分的改进遗传算法的种群进化步骤如下:

步骤3.2.1、计算上一步得到的种群中每个个体的适应度函数值f(pop),适应度函数的计算公式如下:

式中,pop为种群中的一条路径,n为路径pop上关键点个数,(xi,yi)为关键点i在工作空间中的坐标,penalty为惩罚项;

步骤3.2.2、判断所述改进遗传算法是否达到最大迭代次数G,如果是则保存当前最优路径,其中最大迭代次数G=200,进入步骤4,否则,进入步骤3.2.3;

步骤3.2.3、使用锦标赛选择策略对种群进行选择操作,设置锦标赛的联赛规模为Nchamp,从种群中随机选择Nchamp个个体,选出适应度最小的个体保留至下一代,重复锦标赛选择策略直到选出足够数量的个体,组成新种群,其中锦标赛联赛规模Nchamp=2;

步骤3.2.4、使用单点交叉策略对步骤3.2.3得到的种群进行交叉操作,从种群中随机选择两个个体作为父代,当满足交叉概率时,分别随机选择父代中选择一个关键点作为交叉点,交换父代交叉点之后的部分,组成两个新个体;

步骤3.2.5、步骤3.2.4得到的种群中的个体满足变异概率时,随机选择一个关键点作为变异点,使用变异点的8领域点替换变异点,替换后适应值最小的个体保留至下一代;

步骤3.2.6、更新种群,返回步骤3.2.1继续进化。

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