基于行为的智能吸尘机器人设计
扫描二维码
随时随地手机看文章
自主吸尘机器人(AutonomollsCleaningRobot,ACR)又称为清洁机器人或智能吸尘器,是移动式智能机器人进人家庭的一个典型应用。
其结合了机器人和吸尘器的核心技术,能在无人看守情况下轻松地完成实现家庭、宾馆、写字楼等室内环境的全自动清洁。集机械学、电子技术、传感器技术、计算机技术、控制技术、机器人技术、人工智能等诸多学科为一体。吸尘机器人作为智能移动机器人实用化发展的先行者,其研究始于20世纪80年代,他是目前家用电器领域最具挑战性的热门研发课题。目前国内外在吸尘机器人研究开发方面已取得一定的成果,并有成品上市。虽然自主吸尘机器人已经形成产品并推向了市场,但其性能还有待进一步提高。
l 基于行为
Rodney Brooks在1986年发表的论文中提到的包容式结构表明了基于行为的编程方法的正式起源。包容式结构:在进化过程中,人类永远不会丧失比较低级的和原始的大脑工程,而高级功能则在此基础上进行添加,因此在每个人的大脑内部都保留有类似于爬行动物的低级意识残余。与此类似,采用基于行为的方法需要为机器人设计一系列简单行为(所谓的行为也就是通过感知信息控制执行过程的算法),这些行为相互协调和协作,产生所需求的机器人整体行为。系统的行为并不是完全确定的,而是包含了很多随机的东西。执行过程并不十分稳定,但系统的整体行为是非常稳定的。基于行为的机器人将尽可能地将传感器信息同执行过程直接连接。具有很强的反射性:只要机器人对相关环境做出了判断,就立即采取行动。一有信息就立即据此动作。
2行为设计
行为分为2种类型:伺服行为和弹道式行为。伺服行为采用反馈控制环作为他的控制单元。弹道式行为,自始至终都会按照预先没定好的模式运行。弹道式行为的整体规划过程同实现程序代码密切相关,执行过程中的环境变化或者行为初始化过程中的任何微小错误(如噪声假信号所导致的误操作),都会给机器人带来麻烦,导致彻底失效。伺服行为具有良好的抗噪声能力,对工作过程中的其他微小故障也具有较强的容错性。 本文的行为采用有限状态机(Finite state Machine,FSM)使能够更方便地理解系统工作过程,从而可以容易地编写系统实现代码。
2.1 巡航行为
巡航行为是最基本也是机器人最常使用的行为。该行为使2个驱动电动机输出相同的转速,机器人近似直线的向前方运动,直到其他行为触发,当其他行为运行结束时,将又回复到巡航行为。
2.2 沿墙行走行为
沿墙行走行为能够帮助机器人在障碍物之间搜索路径。特别是对于多个房间的环境来说,在门的附近进行一小段沿墙行走行为将使机器人更有机会进入其他的房间,所以机器人在遇到障碍物时,隔一段时间需要进行一小段沿墙行走行为。如图1所示:
2.3 归航行为
归航行为与泊位传感器相结合,使机器人在电量不足时能够回到充电处进行充电,以保证任务能够完成。实现机器人归航行为的左右2个红外信标接收器的性能不可能完全一致,当机器人通过比较传感器输出确定出自己直接面/对光源时,其实际朝向却偏向光源的一测,机器人沿着某个螺旋线向着信标的位置前进。机器人前进的同时旋转,旋转角度ω=k(L一R),其中k为增益参数;L,R为红外接受器接收到的接受信号强度。当机器人电量不足时,机器人未必处于充电的房间,因此检测不到红外信标的信号,此时应触发沿墙行走行为使机器人走到能检测到信标信号的房间再触发归航行为。如图2所示。
2.4 逃离行为
逃离行为能保护机器人避免发生危险,保证任务得以顺利完成。机器人的旋转角度是用来平衡系统环境适应能力的一个重要参数。如果该值较大,那么机器人将能非常干净利索地离开墙或者其他比较大的障碍物;但机器人却因此而丧失了寻找狭小通路的能力,严重限制了他在错综复杂的环境中进行自主导航的能力;如果角度比较小,机器人将会比较容易地在凌乱的环境中穿行,然而在执行避开墙壁的操作时则需反复多次才能成功,因此应选择随机旋转角度。如图3所示。
2.5 防堵转行为
永磁直流电动机的输出转矩同电流成正比。当电动机两端施加电压而电动机没有旋转时,转矩和电流达到最大值。如果机器人同某个障碍物发生碰撞,并且驱动轮同地面之间具有很大的摩檫力,那么驱动电动机将会处于停转状态。因此,如果电动机具有最大电流,并且电流已经持续了相对比较长的时间,那么表明机器人已经同环境中的某个物体发生了碰撞。堵转检测传感器只有当电动机在高电流状态(高于某个阈值)下持续了一段时间才能断定已发生碰撞的判断(电机启动会产生瞬间电流峰值)。
2.6防静止行为
虚拟静止检测传感器只要通过软件实现即可。机器人在运动时各传感器的输出信息都可能在不停地变化,而一旦停止运动,所有传感器的输出信息都将保持不变。
2.7 系统结构
机器人的功能和运行方式决定了机器人的结构。系统结构图如图4所示。
2.8 差速驱动
差速驱动底盘通过控制2个驱动轮之间的运动差异来控制机器人的整体运动。无论多么复杂的运动都可以分解为平移运动和原地旋转运动。图5为差速驱动模型,描述了2个驱动轮的速度同机器人曲率半径之间的关系,曲率半径为rL=VLW/(VR一VL)。当两个驱动轮的旋转速度完全相同时.半径rL的值将趋于无穷大,此时机器入沿直线行驶的过程可以理解为机器人沿某个半径为无穷大的圆的旋转过程;当左轮速度为O时,rL等于0,机器人将会围绕左轮进行原地旋转操作,此时vL=v,Vr=wW+v;当左右2个轮子的速度相同而符号相反时,机器人将会围绕着自己的中心位置进行原地旋转(rL=w/2)。差速驱动机器人可以围绕2个驱动轮轴心连线上的任意一点进行旋转操作(包括机器人本体外的点)。负半径表示机器人沿弧线方向逆时针行驶;正半径方向表示沿弧线方向顺时针行驶。
3仲裁器设计
在某个时刻仅有一个行为触发,系统能够比较平稳地运行。但当多个行为同时触发,并且每个行为都需要机器人执行不同的操作时,机器人就需要利用仲裁机制来妥善处理这种关系。这里采用固定优先级仲裁,每个行为都被惟一地赋予一个优先级值,冲突发生时,执行优先级高的行为。行为在发出控制请求后,需要知道自己是否已经得到仲裁器的批准。仲裁器带有一定的输出,每个行为都赋予一个惟一标识符(ID:Identifer)。仲裁器输出仲裁获胜行为的标识符。每个行为通过将自己的标识符同仲裁器输出相比较,能够确定出自己是否已经拥有了对仲裁资源的控制权。
机器人在运行时,环境存在很多不可控因素,机器人的实际运行方式与所期望的有很大差异,有时传感器彻底失效,有时在信息检测过程中经常出现漏报和误报错误(漏报是指当环境中存在某种传感器应该能够检测到的信息时,传感器却检测不到;误报则是指传感器所检测到的信息在环境中是不存在或不正确的)。尽管在重要信息损失或者运动控制命令变质的情况下,性能会受到一定程度的影响,机器人程序也应该能够尽其可能地做到最好,而不是完全彻底地瘫痪。在子系统发生错误或者工作失败的情况下,系统这种能够降低水准继续工作的能力被称为优雅降级。本文设计的机器人具有完善的优雅降级功能(见图6)。在碰撞传感器失效的情况下,防堵转和防静止行为将保证机器人继续完成任务。
4机器人仿真及分析
对以上提出的基于行为吸尘机器人设计方案进行仿真,图7为机器人在模拟房间中清洁任务的仿真界面。机器人采用随机覆盖的模式,不知道自己的具体位置,因此不可避免地会再次访问已访问过的某个区域。随着机器人的运行,覆盖区域的增长速度呈递减趋势,区域覆盖率则可以近似表达为:覆盖率=(1-e-t/a)其中,f为时间变量;a为一时间常数。表明了机器人在不访问旧区域的情况下进行确定性覆盖所花费的时间。通过实验仿真运行情况来看,本文的设计方案完全可以满足要求。虽然随机覆盖方法没有确定性覆盖的低重复性,但他却能避免确定性覆盖所带来的价格、复杂性以及系统脆弱性问题。
5 结 语
基于行为的机器人设计方法不采用价格昂贵的单一类型传感器去获取难以达到的精度和可靠性,而是综合使用多个可靠性相对来说比较差一些的传感器系统,通过这些系统之间的优势互补使机器人具有更强的鲁棒性。