智能机器人避障路径规划算法研究
2016-05-30张永妮
摘 要:智能机器人只有具备自主移动能力才能实现应用价值。路径规划用于决策机器人在环境中如何行走的问题,是实现机器人智能化的关键技术。为提高机器人路径规划,对未知环境的实时性、适应性和优化性要求越来越高。自主移动机器人是集环境感知、动态策略与规划、行为控制与执行等多功能于一体的综合系统。近几年,移动机器人技术在工业、农业、医学、航天航空等许多领域发挥了重要作用。其中智能避障更是研究领域的难点和热点,智能避障是能够根据采集障碍物的状体信息,按照一定的方法进行有效的避障,最后到达终点。本文主要介绍了动态窗口和Bug2的避障算法和研究与仿真。实现这两种避障算法主要基于Matlab等语言编程开发,实现对移动机器人避障算法的仿真。Matlab功能强大、编程简单、适用广。
最后,验证基于Bug算法的几种路径规划方法,将避障实时性,环境的适应性、规划路径的优化性作为算法性能指标,进行仿真实验与对比实验分析。结果验证了算法的有效性。
关键词:智能机器人;避障;MATLAB仿真;路径规划
1 绪论
智能机器人避障算法的研究对于推进机器人领域的应用和发展具有重要的意义。随着计算机技术、传感器技术、控制技术的发展,智能机器人的避障技术已经取得了丰硕的研究成果,其应用领域不断的扩大,应用复杂程度也越来越高,因此对其关键技术提出了更高要求,相应的方法也更加成熟。
本文通过查阅文献资料,对目前智能机器人的发展动态有了一定了解。对现阶段机器人避障的一些常用方法做了研究,然后设计了不同算法在未知环境下的避障仿真实验来验证本文所设计的算法的可行性。路径规划要求机器人能够在较短的时间内,感知到范围尽可能大的区域,从而找到最近的路径使机器人能够沿着最优路径运动到终点,并避开障碍物。
2 基于动态窗口的避障算法及仿真
2.1 概述
机器人局部路径规划的方法很多,动态窗口法就是其中的一种,其主要是在速度(v,w)空间中采样多组速度,并模拟机器人在这些速度下一定时间内的轨迹。在得到多组轨迹以后,对这些轨迹进行评价,选取最优轨迹所对应的速度来驱动机器人运动。该算法突出点在于动态窗口这个名词,它的含义是依据移动机器人的及速度性能限定速度采样空间在一个可行的动态图范围内。
2.1.1 机器人的运动模型
在动态窗口算法中,要模拟机器人的轨迹,需要知道机器人的运动模型。它采用的是假设两轮移动机器人的轨迹是一段一段的圆弧或者直线(选择速度为0),一对(Vt,Wt)就代表一个圆弧的轨迹。具体推导如下:
在这里,假设不是全向运动机器人,它做圆弧运动的半径为:
2.1.2 速度采样
机器人的轨迹运动模型有了,根据速度就可以推算出轨迹。因此只需采样很多速度,推算轨迹,然后评价这些轨迹好不好就行了。
速度如何采样是动态窗口的核心:在速度(v,w)的二维空间中,存在无穷多组速度。但是根据机器人本身的限制和环境限制可以将采用速度控制在一定范围内:
移动机器人受自身最大速度最小速度的限制:
移动机器人受电机性能的影响:
由于电机力矩有限,存在最大的加速度限制,因此移动机器人轨迹前向模拟的周期内,存在一个动态窗口,在该窗口内速度是机器人能够实际达到的速度:
其中是机器人的当前速度,其他标志对应最大加速度和最大减速度。
基于移动机器人安全的考虑:
为了能够在碰到障碍物前停下来,因此在最大速度条件下,速度有一个范围:
为了简化每组速度对应轨迹的计算,该算法假设机器人在往前模拟轨迹的这段时间内速度不变,直到下一时刻采样给新的速度命令。
2.2 评价函数
在采样的速度组中,有若干组轨迹是可行的,因此采用评价函数的方式为每条轨迹进行评价。采用的评价函数如下:
2.3 方位角评价函数
方位角评价函数是用来评价机器人在当前设定的采样速度下,达到模拟轨迹末端时的朝向和目标之间的角度差距。
若采用的方式来评价,也就是越小,评价得分越高。
2.4 空隙
代表机器人在当前轨迹上与最近的障碍物之间的距离。如果在这条轨迹上没有障碍物,那就将其设定一个常数。
2.5 速度
Velocity(v,w)用来评价当前轨迹的速度大小。总结起来三者构成的评价函数的物理意义是:在局部导航过程中,使得机器人避开障碍,朝着目标以较快速度行驶,缺一不可。
2.6 matlab仿真(图1)
3 Bug2避障算法的研究与仿真
3.1 未知环境下基于Bug算法的移动机器人路径规划研究改进
在未知环境下的移动机器人路径规划己经有一些成熟实用的算法。这里介绍的爬行虫Bug算法就是一例。本章在已有的Bug族算法基础上,对传统Bug算法进行了改进,提高了Bug算法路径规划的优化性和实时性。
3.2 Bug2算法原理
Bug2算法在Bugl算法基础上进行改进,引入了从起点到终点的直线M。具体思想如下:
3.2.1 沿着直线M向障碍物移动,直到发生以下两种情况:
①到达终点,结束算法;
②遇见障碍物,标记为,转到3.2.2。
3.2.2 沿着障碍物左边移动,直到发生以下三种情况:
①到达终点,结束算法;
②找到一个点,满足条件,且该点在M上,则转到3.2.1;
③机器人回到相遇点,则表示机器人绕行一周,终点不可到达。
可知Bug2算法在Bugl算法上对从Hl运动到Hl的路径循环进行了改进,但是机器人的运动方向是固定的初始值,即算法规定为沿障碍物左边移动,那么在所有的沿障碍物移动的状态中,机器人都是向障碍物左方移动。
3.3 算法设计
本文提出的路径规划算法可在线运行,进行实时运动规划,对未知环境下的
机器人路径规划,该算法具有很好的环境适应性。
3.4 Bug2算法仿真(图2)
4 总结与展望
本论文在许许多多机器人研究者的研究经验与研究成果之基础上,综合相关的理论基础知识,对智能机器人进行了相关的研究。主要针对其避障控制算法及路径规划方案作了一定的研究和探讨,提出了相对有效的模糊控制算法和田埂式路径规划方案,并经过一系列的仿真实验来对本文中使用的算法和方案的稳定性及可行性进行验证。对于本研究课题,本人主要做了以下工作:
①综述智能机器人国内外研究及应用现状,了解到智能机器人在完成任务的过程中遇到障碍物或者落差区域时容易发生碰撞和跌落,而且其清洁路径不能做到全覆盖,重复率也较高。因此,本文将智能机器人的研究方向确定为避障和全覆盖路径规划这两个方面。
②简要论述了模糊控制算法,而且将其应用至智能机器人的避障控制之中,并且设定了模糊控制器以及模糊规则,使其适应于本文中所研究的智能机器人,让智能机器人在执行任务过程中能够避开障碍物并防止跌落,并且对本论文中提出的避障控制进行算法有效性仿真实验,证明了该算法是有效且可靠的。
③简要介绍路径规划的原理及分类,并就比较经典的算法作出了简要描述。研究了基于栅格地图法的田埂式路径规划方案,描述了该方案中的环境地图构建,运行模式,死角解决方案,并针对该方案进行了不同环境不同障碍物分布情况下的仿真实验,分别对比了无障碍环境下,有障碍无死角环境下,有障碍及简单死角环境下,有障碍及复杂死角环境下,有障碍及多种死角环境下的仿真实验结果,均验证了本论文所设计的路径规划方案能使智能机器人做到区域环境全覆盖并己最短路径跳出死角,提升了机器人清洁工作的完整性与高效性。
在本课题的研究过程中,一些不足之处也显现出来。例如栅格大小的划分是一个难点,栅格太大容易使准确率降低,影响机器人清洁效果,栅格太小会使算法复杂,导致运行速度过慢,也会对智能机器人的清洁效果有影响。另外,本文中所研究的都是静态障碍物,忽略了动态障碍物的研究,生活中的小动物和可动型玩具等也是机器人清洁工作中极易遇到的障碍物,因此,动态障碍的研究是很有必要的。这些问题都将是以后的研究工作中需要继续解决的。
在未来,智能机器人以及其他家用型机器人将会愈来愈频繁的进入到人类的生活和工作中,所以对于它们的研究很有必要性,且在很长一段时间内都将是一个热点。避障控制与路径规划更将是研究工作中的重中之重,未来的研究成果必将会在这两个方向突飞猛进,同时提高智能机器人的工作效率,避障运行的灵活性都将是研究热点。
作者简介:张永妮(1982-),毕业于西北工业大学,现主要从事北斗PVT解算及智能机器人路径规划等方面的研究。