Microsoft Robotics Studio中文教程1 联系客服

发布时间 : 星期日 文章Microsoft Robotics Studio中文教程1更新完毕开始阅读

第三章 机器人运动规划 23

用来在机器人遇到障碍物时控制机器人后退,后者具有更高的优先级。当机器人没有发现自己要追寻的光源位置位于某个矮墙的后面时,它能够可靠运行。然而,随着离墙越来越近,机器人会突然看上去好像停止了,但却又伴有轻微的抖动现象。这种情况的发生是由于光源跟踪行为一致命令机器人前进,直到检测到障碍物的存在,此时避障行为触发,该行为驱动机器人后退。然而,只要机器人稍微后退一点距离避障行为就会变成非触发状态,光源跟踪行为又开始接管控制权,从而再次驱动机器人前进。这样,仲裁器在两个行为之间轮流选择,并且每个行为发布的命令都与前一个行为发布的命令相互抵触,从而导致了抖动现象发生。

红外传感器 光电传感器

图3.3 抖动问题

解决这种问题的一个方法是使用循环行为,这种行为能使机器人具有一定的自我反省能力,他检测的对象不是外部环境信息,而是机器人本身的运行状态。当感知到轮子正在进行一系列快速切换地前进—后退操作时,或者当发现机器人没有任何动作是,循环诊断行为将会接管机器人的控制权,并采取一些截然不同的操作方式,控制机器人随机旋转或者发布其他一些能够打破目前僵局的随机命令。

基于Microsoft Robotics Studio的机器人设计 24

循环诊断行为提供了一种能够避免行为组合出现不良运行后果的通用方法。然而,如果可能的话,更好的办法是深入了解经常邻近调用的两种行为之间的相互影响方式。 3.2.2 峡谷效应问题

在机器人运动中,若环境中遍布许多障碍,或者有些占该物的形状是非凸的,则会造成程序出现一些错误。这种错误发生在机器人遇到某个拐角或者箱形峡谷时,如图所示:

图3.4 峡谷效应示意图

在这种情况下,机器人首先检测到自己左侧出现障碍物,并开始向右旋转;经过旋转,它将会感知到右侧物体的存在,并将因此左转,从而再次感知到左侧障碍物。这种恶性循环将会无休止的进行下去,从而使机器人陷入了本应该很容易就能摆脱的角落里。机器人这种不能脱离内部角落的现象被称为峡谷效应。

可以利用这种方法对避障行为进行修正:当机器人检测到两侧都有障碍物时,进行后退操作,这样,机器人就能从任何一个峡谷中退出来。然而遗憾的是,这种做法只是将问题变换了一下表现形式,对于行为的改善没有起到根本性的作用。此时,机器人驶入峡谷,如果检测到两侧同时都有物体,它将进行后退操作,直

第三章 机器人运动规划 25

到感知不到任何物体位置;随后机器人将再次前进,又一次检测到两侧的墙壁,然后又一次后退,?,这样机器人又一次陷入了永不停止的重复循环过程。

根据上面的分析我们可以看出,修改部分程序就可以完成机器人的行动任务,我们在后退后添加一个状态,让机器人进行随机的转向,这样机器人就从峡谷效应中脱离出来,使后续任务可以继续完成。

3.3 本章小结

本章介绍并分析了基于接触传感器的避障程序和基于测距传感器的避障程序,同时还分析了机器人避障程序中通常会发生的两种问题,同时也提出了解决方案,本章的分析使后面设计机器人避障程序时有了基本思路。

基于Microsoft Robotics Studio的机器人设计 26