一种机器人路径规划方法

文档序号:9765574阅读:626来源:国知局
一种机器人路径规划方法
【技术领域】
[0001] 本发明属于机器人人工智能技术领域,具体设及一种机器人路径规划方法。
【背景技术】
[0002] 路径规划作为移动机器人导航关键技术之一受到广泛重视。机器人路径规划是在 一定环境下,满足一定的优化准则,如工作代价最小、行走路线最短、行走时间最少或能量 消耗最少等标准,在运动空间中找到一条从起始状态到目标状态、可W避开障碍物的最优 或者接近最优的路径。传统优化方法,如人工势场法、可视图法和栅格法等,在机器人路径 规划运类复杂非线性优化问题中缺乏足够的鲁棒性。
[0003] 随着人工智能技术的不断发展,神经网络算法、遗传算法、粒子群算法和人工鱼群 算法等智能仿生路径规划算法得到应用,已取得一系列研究成果,形成一系列典型规划算 法。J丄ee引入遗传算法,在自然选择过程中采用两种评估函数,得到了一种简单环境下的 快速遗传算法(Fast Genetic AlgorithmJGA)。实验表明该算法能满足实时性的要求,但 是路径长度偏长。莫宏伟在粒子群优化算法(Particle Swarm Optimization,PS0)基础上, 引入生物地理中迁移算子之间的信息共享解决方案,将仿生优化(Biogeograp的-based Optimization, BB0)思想与之结合,形成一种新的仿生粒子群算法BPS0,优点是编程易于实 现,算法运算速度快,缺点是路径长度过大,难W准确得到路径规划的最优解。Joon-Woo Lee等人针对蚁群算法(Ant Colony Optimization,AC0)会导致局部最优的问题,提出异构 蚁群算法化eterogeneous AC0,HAC0),但是该算法运行时间长,实时性能不高。2.寸.化〇等 人将人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)应用于机器人路径规划,具 有鲁棒性强等优点,但也存在后期收敛速度低、易陷入局部最优解,导致最终结果精度下降 等缺点。

【发明内容】

[0004] 本发明所要解决的是传统人工鱼群算法应用于机器人路径规划存在后期收敛速 度低和易陷入局部最优解的问题,提供一种机器人路径规划方法。
[0005] 为解决上述问题,本发明是通过W下技术方案实现的:
[0006] -种机器人路径规划方法,包括如下步骤:
[0007] 步骤1,将移动机器人的行走区域分割成规则且均匀的栅格,每个栅格只有占据或 自由两种状态,占据状态的栅格表示障碍物,自由状态的栅格表示可行点;在可行点中决定 好机器人的起点与终点;
[000引步骤2,随机生成N条初始的路径,运些路径中的每一条路径的第一个路径点为起 点,最后一个路径点为终点;
[0009]步骤3,每条路径随机选择鱼群的聚群行为或者追尾行为,根据聚群行为描述或追 尾行为描述来改变该条路径中除起点终点之外的其他路径点的位置,W生成一条新的路 径;
[0010] 步骤4,经过步骤3的处理后,每条路径都会得到一条新的路径,由此得到2N条路 径,其中N条为原路径,N条为新路径;
[0011] 步骤4.1,找出运2N条路径中路径长度最小的一条路径,并记录该条最小路径的路 径长度及其路径点;
[0012] 步骤4.2,计算运2N条路径的适应度函数值,并从2N条原路径中选出X条适应度函 数值大的路径;
[0013] 步骤4.3,分别对运X条路径的适应度函数值进行矢量距运算,得到每条路径的矢 量距,并将每条路径的矢量距除WX条路径的总的矢量距,得到每条路径的选择概率;
[0014] 步骤5,将步骤4.1所记录的最小路径的路径长度和上一次循环迭代所选定的最小 路径的路径长度进行比较,选定两者中路径长度相对小的路径作为本次循环迭代所选定的 最小路径;同时从X条路径中选择N条选择概率相对大的路径作为下一次迭代的初始的路 径;
[0015] 步骤6,循环执行步骤3-5,直至选定的最小路径保持不变的次数达到预设的次数 不变阔值或循环次数达到预设的循环次数阔值时,则将该选定的最小路径作为最优路径, 将最优路径的路径点依次连起来便为机器人的行走路径;
[0016] 其中 N> 1,N<X<2N。
[0017] 上述步骤3中,所述的聚群行为描述具体为:
[001引步骤3.1.1,遍历N条路径;
[0019] 步骤3.1.2,对于当前路径D,其中DEN,计算其余N-I条路径的中屯、位置之间与当 前路径的中屯、位置的中屯、距离,选出中屯、距离在预设中屯、距离范围Vi Siial内的路径作为选 中路径;
[0020] 步骤3.1.3,判定是否需要进行聚群学习,即若当前路径D的路径长度乘W预设的 拥挤因子S乘W选中路径的条数小于所有选中路径的路径长度平均值,则认为当前路径D需 要向选中路径学习,并进入步骤3.1.4;否则,进入步骤4;
[0021] 步骤3.1.4,遍历当前路径D中除了起点跟终点的其他路径点;对每个路径点来说, 做两条矢量,其中一条矢量方向是路径点到所有选中路径的平均中屯、位置方向,另一条矢 量方向是路径点到终点位置,得到的运两个矢量方向进行一个矢量运算,得到一个最终的 前进方向;
[0022] 步骤3.1.5,当前路径点再向前进方向移动随机路径长度;若路径点不能顺利前 进,即超出行走区域边界、或者前进到障碍点上、或者移动前当前路径D的路径长度比移动 后当前路径D的路径长度小,则此路径点不执行前进操作,并将失败次数加1,并进入下一个 路径点;当失败次数达到预设的失败次数阔值时,则视为此路径前进失败,放弃前进,进入 步骤4;若路径点能顺利前进,则直接进入步骤4;
[0023] 其中 〇<5<1。
[0024] 上述步骤3中,所述的追尾行为描述具体为:
[0025] 步骤3.2.1,遍历N条路径;
[00%]步骤3.2.2,对于当前路径D,其中DEN,计算其余N-I条路径的中屯、位置之间与当 前路径的中屯、位置的中屯、距离,选出中屯、距离在预设中屯、距离范围Vi Siial内的路径作为选 中路径,并从选中路径中选出路径长度最小的路径Y;
[0027]步骤3.2.3,判定是否需要进行追尾学习,即若当前路径D的路径长度乘W预设的 拥挤因子S乘W选中路径的条数小于路径Y的路径长度平均值,则认为当前路径D需要向路 径Y学习,并进入步骤3.2.4;否则,进入步骤4;
[00%]步骤3.2.4,遍历当前路径D中除了起点跟终点的其他路径点;对每个路径点来说, 做两条矢量,其中一条矢量方向是路径点到路径Y的中屯、位置方向,另一条矢量方向是路径 点到终点位置,得到的运两个矢量方向进行一个矢量运算,得到一个最终的前进方向;
[0029] 步骤3.2.5,当前路径点再向前进方向移动随机路径长度;若路径点不能顺利前 进,即超出行走区域边界、或者前进到障碍点上、或者移动前当前路径D的路径长度比移动 后当前路径D的路径长度小,则此路径点不执行前进操作,并将失败次数加1,并进入下一个 路径点;当失败次数达到预设的失败次数阔值时,则视为此路径前进失败,放弃前进,进入 步骤4;若路径点能顺利前进,则直接进入步骤4;
[0030] 其中 0<5<1。
[0031 ]上述步骤3还进一步包括:每条路径在执行完聚群或者追尾行为后,如果该条路径 的路径长度不能变得更小,则需要进一步执行觅食行为。
[0032] 上述步骤3中,所述的觅食行为描述具体为:
[0033] 步骤3.3.1,遍历当前执行觅食行为的路径中除了起点跟终点的每一个路径点;
[0034] 步骤3.3.2,对于当前路径点,首先随机选取一个方向,然后做两条矢量,其中一条 矢量方向是路径点到随机选取的方向,另一条矢量方向是路径点到终点位置,得到的运两 个矢量方向进行一个矢量运算,得到一个最终的前进方向F;
[0035] 步骤3.3.3,当前路径点再向前进方向移动随机路径长度;若路径点不能顺利前 进,即超出行走区域边界、或者前进到障碍点上、或者移动前当前路径D的路径长度比移动 后当前路径D的路径长度小,则此路径点不执行前进操作,并将失败次数加1,并进入下一个 路径点;当
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1