机器人的路径规划技术
,
其实是参照某一个参数 的指标(
如工作代价值最低
,
选择路径最短
,
运算时间消耗最短等
) ,
在任务区域选择出一条可从起点连接到终点的最优或次优的避障路径。
其本质是在几个约束条件下得到最优或可行解的问题
。
路径规划结果的优劣,
将直观地对机器人完成任务的实时性及结果优劣造成影响
。
局部路径规划:基于部分区域信息理解的路径规划——局部路径规划是在机器人执行任务过程中根据自身携带传感器采集到的局部环境信息进行的实时动态路径规划,具有较高的灵活性和实时性。但由于依靠的是局部环境特征,其获得的路径可能只是局部最优而非全局最优,甚至是目标不可达路径。
全局路径规划:基于完整区域信息理解的路径规划——首先需要 根据已知的全局环境信息,建立抽象的全区域环境地图模型,然后在全区域地图模型上使用寻优搜索算 法获取全局最优或较优路径,最终引导移动机器人在真实情况下向目标点安全的移动。其主要涉及两部分内容: 一是环境信息理解及地图模型构建,二是全局路径搜索及机器人引导。
移动机器人路径规划中,需要融合兼用全局和局部路径规划,前者旨在寻找全局优化路径,后者旨在实时避障。
移动机器人的路径规划中最关键部分就是选取算法,
一个优秀的算法对路径规划起到至关重要的作用
。
1全局路径规划
全局路径规划属于静态规划( 又称为离线路径规划)
,
一般应用于机器人运行环境中已经对障碍信息 完全掌握的情况下。
目前用于全局路径规划常用方法主要有遗传算法
、
快速随机搜索树算法和蜂群算法等。
当然
,
还有很多与此类算法相类似的启发式算法
,
例如粒子群算法
、
可视图法
、
链接图法
、
拓扑法等。
1.1遗传算法
遗传算法
(
GA
:
Genetic Algorithm
)
是一种全局优化搜索算法
。
受达尔文进化思想启发
,
该算法主要针对自然选择和遗传时发生的交叉、
变异及遗传现象进行仿真
,
融合优胜劣汰的自然法则
,
根据结果得出每一代的候选解,
最终从得出的候选解中得出最优解
。
该算法最大的优点是在充分发挥自身迭代优势的情况下,
可以很好地与其他算法融合使用
,
拥有优秀的自组织性和自学习性
、
在路径规划中对最优路径有优秀的搜索能力,
同时保证了很好的的全局优化性
。
遗传算法实现简单
、
受外在影响很小
。
不足是实时运算速度慢,
搜索效率低
、
易于陷入局部最优解
,
算法在运行时
,
一些不需要的种群会为后续计算 提升难度,
从而使运行效率低下
,
收敛速度慢存在早熟现象
,
并不适合于在线路径规划
。
使用遗传算法对移动机器人路径规划受到了国内外学者的广泛研究。
2003
年刘国栋等
[1]
在针对移动机器人动态路径 问题上,
研发了一种改进遗传算法
,
使用二维转换一维的实数编码方式
。
把分别满足路径在约束条件之 内、
能实时避障
、
路径最优这
3
个准则下的适应度函数结合一起
,
提出一个具有明确物理意义的适应度函数,
以加快实时的运算速度和提高运算精度
。
2008
年王洲等
[2]
在传统遗传算法基础上提出一种改进遗传算法,
使用序号编码和与此编码机制相适应的遗传算子
,
同时加入了更多新变异算子
、
插入算子以 及删除算子,
提高了最优保存策略
,
最终提高了算法运行速度
,
增强了搜索过程中的避障能力
。
2011
年 石铁峰等[3]
针对传统遗传算法早熟收敛速度慢的问题
,
提出一类基于遗传模拟退火算法
,
用于移动机器
人路径规划
。
首先对编码长度和工作路径编码方式进行了简化
,
其次对基于遗传算法在生成初始种群后的各路径的适应度函数值进行评估。
使用遗传算法对其进行多次交叉
、
变异
,
同时借助
Metropolis
算法 的随机移动标准制定了效率更高的更新函数,
最终得出一条最优路径
。
2016
年
Wang
等
[4]
针对解决焊接机器人最短无碰撞问题,
提出了双全局优化遗传算法
-
粒子群优化算法
(
OGA-PSO
:
Optimization Genetic 146 第 6
期 霍凤财,
等
:
移动机器人路径规划算法综
Algorithm-Particle Swarm Optimization Algorithm
) ,
并通过与其他算法结合的方式
,
优化了传统算法
,
提高
算法运行效率
,
解决了路径规划难以得到最优解的问题
。
2017
年王雷等
[5]
在使用移动机器人进行路径规划时,
对于遗传算法的缺陷
,
提出了自适应交叉和变异概率方法
,
通过混合选择优化了传统遗传算法
,提高了遗传算法的收敛速度和进化效率。
1.2快速随机搜索树
快速随机搜索树
(
RRT
:
Rapidly-exploring Random Tree
)
是一种基于采样的搜索算法
,
适用于高维非欧空间搜索。
快速随机搜索树算法可以处理在多为空间内的不完整性约束问题
。
它是基于以下设想提出:
将路径规划的起点定为搜索树的根节点
,
按照规定准则确定搜索树上一个已有节点
,
然后根据路径规划的约束条件,
对该节点进行扩展得出一个全新节点
,
存入搜索树
,
重复上述方法直到找到终点
。
该算法既要使得随机采样可以令机器人向未被探查过的空间进行探索,
又要在探索过程中逐渐完善搜索树。
快速随机搜索树算法作为一种快速搜索算法
,
近年来得到了广泛的关注与应用
,
该算法优点是速度快、
搜索能力强
、
对地图的预处理没有要求
。
其缺点是搜索时盲目性大尤其在高维环境下或动态环境中耗时长、
计算复杂度高
、
易陷入死区和存在局部最小值问题
。
2005
年李双艳
[6]
针对
RRT
算法计算复杂度高的缺陷,
提出了一种
RRT
算法与滚动路径规划法的思想
,
用于引导移动机器人进行在线避障
。
这种方法减小了传统 RRT
算法的复杂性
,
可以作为实时的规划方法
,
尤其对高维的机器人系统
,
效果明显
。 在此基础上,
引入了选择性参数
BIAS
改进传统算法中的统一概率
,
加快了
RRT
算法的收敛速度
,
能使算法进行路径规划时具有更强的目标性。
2009
年康亮等
[7]
提出将改进的
RRT
算法融入基于滚动窗口改 进的路径规划算法,
该算法既保持了
RRT
算法随机搜索特性的同时
,
又使用启发估价收敛标准函数引导 搜索树生长,
减少了算法的运算时间
。
针对容易产生局部最小问题
,
使用回归分析法筛选新的节点
,
保留了算法智能趋近终点的特性,
同时也提高了算法探索未知空间的趋势
。
2015
年
Kim
等
[8]
提出一种快速随机搜索树的高自由度关节移动机器人的路径规划方法。
为实现在高维空间中的路径规划
,
其首先描述一种根据路径复杂性选择的机器人主题,
然后选定所涉及的机器人关节
,
即配置空间与采样自适应维度的路径规划。
最后引入自适应快速随机搜索树算法
,
通过自适应选择主体
,
在自适应三维空间中逐步 增加 RRT
。
2015
年潘思雨等
[9]
针对传统快速搜索随机树算法收敛速度慢的问题
,
提出一种将结合多约束条件的改进算法,
该算法结合了环境约束
、
车辆自身约束和运动学约束
,
舍弃了传统算法的贪心思想
,使用启发式方法对节点进行采样,
提高了路径规划的速度和质量
。
2015
年
G^ irbacia
等
[
10
]
为降低路径规划计算的复杂度,
提出一种虚拟环境下改进快速随机搜索树算法的车型机器人路径规划
。
通过设置虚拟环境中可行路径中障碍之间最大和最小距离,
以减少仿真时间和删除周围环境中没有避开障碍的路径
,减少仿真的复杂性,
使最优路径更容易找到
。
2017
年贾李红
[
11
]
提出一种将人工势场法与
RRT
算法结合的改进算法,
首先使用人工势场法在路径规划时对初始环境预测出一条路径
,
若有新的障碍点出现并且阻挡该路径时,
使用
RRT
算法规划当前的局部路径
。
该算法有效的解决了
RRT
算法容易造成局部最小值问题,
大幅度的改善且提高了规划效率
。
1.3人工蜂群算法
人工蜂群算法
(
ABC
:
Artificial Bee Colony Algorithm
)
于
2005
年为优化代数问题而提出
。
该算法是对 大自然中蜜蜂集体采蜜行为进行模仿的一种智能优化方法,
其本质是群体智能思想的一个具体实现
,
它不用了解问题的特定信息,
只用对问题进行优劣的比较
,
通过单独工蜂个体的局部寻优方式
,
汇总一起最终在群体中使全局最优值突显出来,
收敛速度快
。
蜜蜂是群居昆虫
,
单个蜜蜂的采蜜行为极其简单
, 但由大量个体组成的群体行为却表现出了极其复杂的效果。
自然中真实的蜂群能在任何不同环境下
,
以极高的效率从花丛中采集花蜜,
并且他们的环境适应能力极强
。
由此衍生出的蜂群算法的模型包含
3
个基本组成因素:
食物源
、
被雇佣的蜜蜂
(
Employed Foragers
)
和未被雇佣的蜜蜂
(
Unemployed Foragers
)
。
人工蜂群算法最为基本的模型分为:
为当前最优食物源召集
(
Recruit
)
蜜蜂和为当前较差食物源进行放弃 ( Abandon
)
。
通过以上的介绍
,
可总结出该算法有以下优点
:
算法结构简单
、
易实现
,
是一种启发式算法,
种群内部分工协作
,
角色可以互换
,
并且拥有较强的鲁棒性
,
无需先验知识
,
根据概率以及随机选取的方法对个体进行搜索。
其缺点是开发能力差
、
同类蜜蜂之间没有交流
,没有充分地利用已有个体的信 息;
在进化过程收敛速度会因为接近最优解
[
12
]
(
全局最优或局部最优
)
时而减缓
,
可能陷入局部最优解
,在处理复杂问题时,
耗时长
、
精度低
。
蜂群算法需要的数学基础十分简单
,
而且缺少强有力的理论支持
。 对 ABC
算法的理论研究长久以来都是科研人员研究蜂群算法的热点和难点
。
近年来
,
有大量的科研人员对传统蜂群算法进行了优化与改进。
2010
年暴励等
[
13
]
针对传统蜂群算法容易陷入局部最优解的缺陷,
提出了一种可自动适应搜索空间的混沌蜂群算法
(
Chaos Artificial Bee Colony Algorithm
) ,
其主要思想是在当前搜索空间的基础上,
参照每次搜索的最优结果自动更改下一次的搜索空间
,
将搜索区域逐渐减小,
最后根据混沌变量基本特性使得算法跳出局部最优解
,
获得全局最优解
。
2014
年
Luo
等
[
14
]
为帮助蜂群算法跳出局部最优解,
提出一种混沌人工蜂群算法
,
该算法基于传统蜂群算法和混沌机制帮助算法寻找最优参数。
2015
Contreras-Cruz
等
[
15
]
提出了一种基于传统蜂群算法进行改进的移动机器人路径规划方法。
该方法结合人工蜂群算法作为局部搜索过程
,
并利用进化规划算法细化由一组局部解找到的可行路径。
从而提高算法精度缩短时间
。
2017
年马乃琦等
[
16
]
针对人工蜂群算法处理复杂优化问题时
,
原始蜂群算法耗时长且精度低的问题,
提出了一种改进的蜂群算法
。
该算法根据粒子群算法的思想完善了跟随蜂的局部搜索过程,
同时改进引领蜂的位置更新方式
,
将分段搜索策略融入其中
,
最终提高算法的
收敛速度和精度
。
2局部路径规划
局部路径规划属于动态规划
(
又称为在线规划
) ,
局部动态路径规划只需要由传感器实时采集环境信息,
确定环境地图信息
,
然后得到当前所在地图的位置及其局部障碍物分布情况
,
从而可以获取当前结点到某一子目标节点的最优路径。
局部路径规划常用算法主要包括
:
人工势场法
、
模糊算法
、
A
*
算法等。
除笔者详细阐述的这些算法外
,
还有人工免疫算法
、
D
*
算法
、
滚动窗口法
、
事例学习法等
。
2.1人工势场法
人工势场法
(
Artifical Potential Field
)
是一种虚拟力场法
,
其基本思想是把机器人所在的工作环境虚拟成一个存在力的地方,
将这种力分成引力和斥力两种
,
由目标点产生的力为机器人所受引力
,
这种力随着目标点与机器人距离减小而增大。
由障碍物生出的力为机器人所受的斥力
,
并随机器人与障碍物间距的减小而增大,
整个势场由引力和斥力的矢量叠加而成
。
机器人的运动由引力与斥力所产生的合力控制,
从而避开障碍物到达目标点找到路径
。
这种方法结构简单
,
方便于底层的实时控制
,
可节省大量计算工作和计算时间,
并能自动生成相对光滑的路径
。
但同时该方法也存在一些缺陷
,
如存在陷阱区域
,在通过狭窄通道时会有摆动,
在障碍物附近震荡
;
当障碍物附近存在目标点时
,
目标不可达
,
存在一些局部最优解,
使机器人未到达目标点前停滞在局部最优解上
,
求出的路径可能不是最优路径
。
人工势场法的优点是结构简单,
有利于实时控制
,
在机器人避障和轨迹平滑方向上具有广泛的应用
,
但同时也有一定缺陷,
该方法容易陷入局部最小值
,
并且不适用于机器人在自由度较高的情况下进行规划
,
在满足机器人约束方向上效果不理想。
为了解决该问题
,
众多学者做出了大量研究
。
2003
年王奇志
[
17
]
针对人工势场法容易陷入局部最小值问题,
提出一种改进的人工势场法
,
该改进方法采用了限定范围的方法
,即考虑距机器人一定范围内的机器人为障碍物。
当机器人处在势能为零的地方
(
即陷入局部最小值
)
时
,通过首先计算在这一区域里排除一个距离机器人最远的障碍物,
然后在这一斥力相反方向加同等力的方法,
达到在多障碍物情况下
,
机器人运动规划可以快速
、
实时
、
避障
。
2006
年刘义等
[
18
]
同样针对人工势场法容易陷入局部最小值问题,
通过修改斥力场函数对人工势场法做出改进
,
虽然针对问题与文献
[
17
]相同,
但该方法主要针对当机器人靠近目标时
,
终点引力变小而障碍斥力不断增强的情况下所导致的机器人不能到达目标点问题。
首先引入目标点和机器人的相对位置
,
并将原有的斥力场函数乘以一个因子,
最终达到目标位置处斥力为
0
的要求
,
并且终点仍然是整个势场的最优点
。
该方法简单
,
规划成功率高,
有效的解决了传统算法中容易陷入局部最小值的问题
。
2017
年
Matoui
等
[
19
]
提出一种分散体系结构,
自主轮式移动机器人在一个动态的路径规划工作环境中
,
将机器人系统视为具有分散架构的机器人网络,
每个机器人根据实际位置
、
其他机器人位置
、
障碍物位置及目标点的位置规划路径
。
因此每个机器人可直接进行交互,
而且其路径规划都是基于人工势场法进行的路径规划
。
通过更新与每个机器人关
联的系统方程实时反应工作空间的变化
,
通过该方法可有效避免机器人和障碍物之间的碰撞以确保移动机器人的安全。
2018
年
Zhang
[
20
]
针对传统人工势场法在陷阱区域以及通过狭窄通道时会有摆动的问题
, 采用潜在函数作为目标函数,
将移动机器人的运动方向作为控制变量
,
将改进的人工势场法与混沌优化算法结合,
从而提出一种基于混沌人工势场法的机器人路径规划新方法
。
2.2A*算法
A
*
算法
(
A-Start
)
是一种启发式算法
,
它利用启发信息寻找最优路径
。
A
*
算法需要在地图中搜索节点,
并设定适合的启发函数进行指导
。
通过平价各个节点的代价值
,
获取下一需要拓展的最佳节点
,
直至到达最终目标点位置。
A
*
算法优点在于对环境反应迅速
,
搜索路径直接
,
是一种直接的搜索算法
,
因此被广泛应用于路径规划问题。
其缺点是实时性差
,
每一节点计算量大
、
运算时间长
,
而且随着节点数的增多,
算法搜索效率降低
。
近年来
,
在基于
A
*
算法实现移动机器人路径规划问题上
,
国内外学者们积累了丰富的研究成果。
2012
年高庆吉等
[
25
]
针对
A
*
算法搜索速度慢
、
效率低的缺点
,
提出了两点改进方
法
,
首先对估价函数加权处理以保证估价函数的可靠性
;
其次将在栅格化环境中
,
构造与某一点相邻的点的集合,
成为该点的
8
毗邻点集
,
当点集中含有障碍物点时
,
将此点定义成
“
不可信点
”
,
对此点不再进行搜索。
2014
年
Franti
等
[
26
]
针对计算时间长的问题提出一种基于改进
A
*
算法的移动机器人路径规划方法,
在传统
A
*
算法上进行
Basic Theta
*
,
Phi +
*
和
RSR
,
JPS
的修改
。
并分析在各种场景以及环境复杂度不同的情况下,
适用哪种改进算法
。
通过对比试验证明在快速查找路径方面
JPSA
*
算法最佳
,
但不足是当需要寻找路径过长时,
所搜索的路径不是最短路径
,
因而适合在需要快速寻找路径时应用
。
如果对计算时间要求不高而要求路径最短时,
则
Theta
*
算法更适用
,
Theta
*
的这种能力在低对称环境下尤其突出。
2015
年
Peng
等
[
27
]
针对
A
*
算法遍历
OPEN
表和
CLOSED
表花费时间长的缺点
,
提出一种改进A*
存储数组的方法
,
存储的方式通过每次访问指定元素时查找数量排序访问数组元素
,
可通过一次操作完成,
而原始的
A
*
算法需要遍历多个节点才能找到指定元素
。
这一方法有效保留算法的优点
,
提升运行效果。
2016
年
Guruji
等
[
28
]
为达到缩短
A
*
算法的计算时间
,
提出一种时间效率
A
*
算法的移动机器人
路径规划
。
该改进
A
*
算法在碰撞阶段前确定启发式函数的值
,
而不是初始化阶段
,
在处理时间上具有
较高的速度
。
2018
年王维等
[
29
]
针对复杂室内环境下移动机器人路径规划中存在实时性差的问题提出了 一种改进 A
*
算法
。
对当前节点及其父节点的估计路径代价进行指数衰减的方式加权
,
使该算法在距离目标点远时快速向目标点靠近,
而在近目标点位置时完成局部细致搜索
,
保证目标点附近障碍复杂且多 的时候目标可达。
并通过实验证明该改进算法具有良好的适应性和实时性
。
3路径规划的发展趋势
1
)
已有优秀路径规划算法的改进
。
在实际应用的过程中
,
任何一种算法都会面对许多困难
,
尤其是 自身局限性所导致的问题。
而在具体应用方向做出针对性的改进
,
可以快速有效的提升算法的性能
,
同时解决实际问题。
2
)
混合算法
。
路径规划的混合算法即各个算法之间的有效结合
。
任何一个单独的算法
,
都不足以
解决实际问题中的所有路径规划问题
,
尤其是在针对一些交叉学科中出现的新问题
。
创造出新的算法难度大,
而路径规划算法之间的优势互补可以有效提供一种解决问题的新思路
。
一些职能算法如群体智能算法、
强化学习算法
、
模糊控制
、
神经网络等渐渐引入到路径规划问题中
。
这种互补式的混合算法促使了各种方法的融合发展,
通过取长补短
,
从而产生出一系类更为优秀的算法
。
而将人工智能的方法
、
新的数理方法、
仿生算法之间相结合具有一定的发展前景
。
3
)
多机器人协调合作的路径规划方法
。
随着机器人作业范畴的不断扩展以及作业任务日益复杂化
,单个机器人已经很难完成人们制定的任务,
这时则需要多个机器人之间通过协调合作
,
在保障工作效率的同时,
解决因为作业环境发生变化或者机器人系统出现一些局部故障时所造成的工作停滞问题
。
单机器人在某些环境下已经无法达到使用要求,
这时就需要多机器人进行协调合作
。
当然多机器人也同样存在一些问题,
相比单机器人
,
多机器人的路径规划要复杂得多
,
由于障碍物
,
机器人数目等增加
,
所以极大的提高了路径规划难度,
因此
,
这也引起国内外学者的广泛兴趣
。
4
)
复杂环境及多维环境中移动机器人路径规划的研究
。
针对于具体的研究对象
,
移动机器人路径
规划多数为了解决陆地作业环境下智能机器人的路径规划研究
,
例如扫地机器人
,
迎宾机器人
,
反恐防爆机器人等;
而针对空中的飞行机器人和水下机器人的研究就相对较少
。
随着空间探测的发展需要
,
移动机器人的研究也开始将关注点放在崎岖地形和存在大量障碍物的复杂环境中。
从路径规划的环境描述方向上看,
针对二维平面环境的路径规划研究相对较多
,
而三维环境下的路径规划则一般较少
。
但是
,仍然有许多移动机器人作业环境是处于三维环境空间中进行的,
例如飞行器
,
仿生鱼类机器人等
。
陆地机器人多数处于环境稳定的陆地中,
而飞行机器人
,
仿生鱼类机器人所处的环境相较于陆地机器人所处的环境要恶劣的多,
所以对传感器的要求更加苛刻
,
同时还会面临许多不确定的危险因素
。
故而
,
对飞行器及仿生鱼类机器人的研发更加困难。
综上所述
,
增强对现实环境中机器人路径规划的研发是针对实际应用无可避免的问题,
同时也是路径规划技术未来的一条重要研发方向
。