现在的位置: 首页 > 综合 > 正文

【课程论文】基于模糊控制的路径规划算法的仿真实现

2013年01月25日 ⁄ 综合 ⁄ 共 3200字 ⁄ 字号 评论关闭

基于模糊控制的路径规划算法的仿真实现

 

摘要:对未知环境下移动机器人的路径规划进行了模拟研究, 提出了一种基于模糊控制的最短路径规划算法。运用模糊推理,构造出一张实践效果较好的控制响应表。针对局部路径规划算法存在的死锁问题,该算法充分利用三个探测距离信息建立预防死锁机制, 能够使机器人探测到危险区域即沿障碍物的边缘行走绕出障碍物, 从而有效避免了死锁现象的发生, 为解决死锁问题提供了一种新的思路。在半径大小不一的圆形障碍环境中进行了仿真实验,仿真结果表明了该算法的有效性和可行性。

关键词:移动机器人 路径规划 模糊控制

 

0  引 言

路径规划是移动机器人技术领域中不可缺少的组成部分,根据机器人对环境信息知道的程度不同,可分为两种类型:环境信息完全知道的全局路径规划和环境信息完全未知或部分未知的局部路径规划[1]。模糊逻辑法模拟驾驶员的驾驶思想,将模糊控制本身具有的鲁棒性与基于生理学的“感知--动作--行为”结合起来,避开了传统算法中存在的对移动机器人的定位精度敏感、对环境信息依赖性强的缺点,对处理未知环境下的规划问题, 显示了很大的优越性。模糊逻辑法存在着对称无法确定现象,当机器人遭遇某些类型的障碍物时,这种现象使得机器人陷入死锁,其中最典型的是U
型障碍物陷阱。传统的解决死锁模式通常是先判断机器人是否处于死锁状态,然后采取策略解决死锁,如虚拟目标点策略,沿障碍物边缘行走策略。这种模式的算法路径规划效果不太理想,因为机器人判断出处于死锁时就已经走了一段弯路。本文提出的算法摆脱了上述的死锁解决模式, 通过建立预防死锁机制来避免死锁的发生, 而不是等死锁发生后再去解决,从而使路径优化。该算法理论简单, 便于实现,并通过仿真验证了该方法的有效性和可行性。

本文所提及的机器人均进行了理想化处理,行走运动过程中无位置偏差,可以原地360度转向,考虑了其通过路径所需要的宽度而忽略了其转向所需要的空间。其中测距系统由三个互成锐角的测量传感器组成,一次测量可以获得三个距离数据,并依据实际应用情况限定了其最大测量距离。

1 模糊控制器设计

1.1 模糊控制器的输入输出变量

在移动机器人的路径规划系统中,选取控制器的输入为三个探测器的平均距离D和左右探测器的距离差值R,距离是指沿机器人到目标方向,机器人与前方障碍物之间的距离,输入变量如图1所示。控制器的输出为机器人转动的角度和行走步长比例因子。

图1 模糊控制器的输入语言变量

 

1.2  输入输出变量的模糊语言描述

将主传感器测取的距离范围D均匀量化到[ 0,10]区间内,论域为[1,3,5,7,9]。将左右探测器的距离差值R均匀量化到[-8,8]区间内, R的论域为[-7,-4,-1,0,1,4,7]。将输出转角比例因子Sa均匀量化到[-2,2]区间内,论域为[-1.5,-0.75,0,0.75,1.5]。将输出步长比例因子Sd均匀量化到[0,2]区间内,论域为[0,0.3,0.6,1,1.4,1.5,1.8]。定义各变量的模糊语言为D=
{VS,S, M, B, VB}, R={RVB, RB, CE, LB, LVB},Sa={TRVB, TRB, Z, TLB, TLVB },Sd={VS,S, M, B, VB},各字母含义为(V: Very, S: Small, M: Middle, B: Big, R: Right, Z: Zero, L: Left, T: Turn)。当位于机器人前进方向左(右) 侧的障碍物离机器人近些时,R为正(负);机器人向左(右)转为正(负)。取各个语言变量的隶属度函数形状为对称的三角形且模糊分割完全是对称的,
D、R、Sa及Sd的隶属度函数形如图2-5所示。

   

  

 

1.3 建立模糊控制规则

机器人避障的基本思想是保证避障的同时尽量靠近目标。当目标点位于障碍物左(右) 侧时,则机器人左(右)转, 当目标点在机器人正前方且障碍物距离机器人很近时,则机器人需根据它的左侧和右侧的环境信息来决定左转还是右转。当左侧障碍物距离大于右侧障碍物距离时, 机器人选择向左转,因为左转比较安全, 反之向右转。模糊规则库如图6 所示,以供推理使用。

                                                       

图6 模糊规则库

 

1.4  模糊推理与清晰化

本文采用Mamdani推理法,清晰化方法采用加权平均法, 求得清晰值后, 经尺度变换变为实际的控制量。

 

2  路径规划算法的基本思想

2.1  机器人的探测前进过程

根据输入变量D和R的值,机器人按模糊控制器的输出转角因子和步长因子转动后,并不立即前进。因为机器人转动后并不知道新的前进方向上的障碍物信息,如果立即前进,可能撞到障碍物。所以机器人转动后还要探测前方障碍物距离是否大于规划步长。如果大于,机器人前进,否则机器人就不能前进,需要按一定方向(如向左)连续偏转角度δ继续探测, 即二次转动避障, 直到找到一个安全的前进方向,然后前进规划步长。机器人的探测过程如图7所示。在图7中,机器人位于A
点, AB1为机器人按输出转角转动后的前进方向。经探测, AB1方向上障碍物距离小于固定步长,则机器人向左(假定)偏转角度δ,方向为AB2, 继续探测, AB2方向上障碍物距离仍小于固定步长,于是再向左偏转角度δ探测,依次下去,直到找到安全的前进方向ABi,机器人前进固定步长到C 点。

 

2.2  解决死锁问题的基本思想

本算法在处理死锁问题时采用预防死锁的机制来避免死锁的发生。预防死锁的机制是: 当机器人到达新位置之后首先往目标方向探测,如果在此方向小范围内行动受阻,则进入危险区域,启动解锁算法。首先立于原地分别转向两边探测出口,选择转角比较最小那一侧,依规则左正右负地标记机器人进入解锁状态。当处于解锁状态下,机器人到达新位置时仍然受阻,则加深此种状态,否则减轻,以至解除危险标示,恢复为0。

  

 

图8 中前进点只有带箭头的实线说明机器人是转动转角δ后直接前进的。前进点即有带箭头的实线又有带箭头的虚线说明机器人转动转角δ后继续偏转角度才前进步长的。初始化时T= 0,机器人从起始点前进到A 点时, 此时由D、D2及D3可判知前方受阻, 机器人进入危险区域,预防死锁机制建立。根据规则库中的规则,机器人向左转避障,则T 设置为1。经探测,方向1安全,机器人前进到B 点。在B
点,目标方向仍然受阻,T值加1,根据解锁算法,输出转角因子Sa此时无效,步长因子较小,则机器人沿方向3向左偏转小角度沿方向2移至B位;经探测,方向2 上障碍物距离小于固定步长,根据T 值为1,机器人连续向左偏转角度δ,直到探测到安全的前进方向3,机器人前进到C 点。依次下去,机器人前进到E 点,可以看出机器人避障过程中体现为沿边行走行为。综上,可知机器人探测到危险区域即从B 点沿障碍物边缘行走到F 点,绕出了U 型障碍物。

3 路径规划仿真

该仿真程序是在matlab 2009a环境下开发的,在仿真过程中,圆形障碍物的半径和位置随机设置,起点固定为原点,终点的位置也可以任意设置, 进行路径规划的同时描绘出机器人的运动轨迹,这样就可以在任意环境下检验算法的正确性和可靠性。仿真结果如图9-10示。

4 结 论

移动机器人由于传感器探测距离有限以及周围环境的不确定性,很难从整体最优上进行路径规划,因此机器人从局部最优进行路径规划, 即在当前看来是最好的选择, 从而使最终结果接近最优路径。本文运用模糊控制算法对机器人进行控制, 在处理死锁问题时采用预防死锁的机制来避免死锁的发生。该算法理论简单,计算量小,实现了机器人在障碍物存在的未知环境中,成功的找到一条从起始点到目标点的无碰路径,路径规划效果是比较理想的。

      

 

参考文献

[1] 王耀南.机器人智能控制工程[M] .北京: 科学出版社, 2004.

[2] 李鹏,温素芳.基于模糊控制的路径规划算法的实现[J]. 杭州电子科技大学学报,2007.12(27):82-86.

【上篇】
【下篇】

抱歉!评论已关闭.