0 引 言
移动机构是清洁机器人的主体,决定了清洁机器人的运动空间,一般采用轮式结构。传感器系统一般采用超声波传感器、红外光电传感器、接触传感器等构成多传感器系统。随着近年来控制技术、传感技术以及移动机器人技术等技术的迅速发展,智能清洁机器人控制系统的研究和开发已具备了坚实的基础和良好的发展前景。吸尘系统在原理上与传统立式吸尘器相同,主要是在结构设计上更多考虑结构尺寸、集成度以及一些辅助机构的合理布置和利用,以此来提高能源利用率和工作效率。本文主要研究智能清洁机器人测控系统的设计与实现,最终目标是通过软硬件的合理设计,使智能清洁机器人能够自动避开障碍物,实现一般家居环境下的自主清洁工作。
1 测控系统组成及功能
智能清洁机器人测控系统主要包括控制器核心系统、传感器系统和驱动系统等。其原理如图1所示。基于清洁机器人自身体积尽可能小的原则,本设计将控制器核心系统、传感器系统、行走驱动及相关电路集成在一块电路板上。为防止干扰,通过光电隔离器件将各模块在电气上隔离开来。利用超声波传感器、红外反射式传感器和接触传感器组成多传感器系统,检测信号经调理电路处理后送控制器;采用8位单片机SST89E554RC作为控制器,控制器对传感器信号加以判断,根据判断结果,选定相应的控制策略,并控制语音系统发出相应的报警信号;在相应的控制策略下,通过专用驱动器驱动直流电机,带动驱动轮,两轮独立驱动,实现避障功能;同时,控制器控制小型双风机真空吸尘系统对经过的地面进行必要的清扫。
图1 系统原理
该新型智能清洁机器人实验平台如图2所示,该平台为圆形结构,两轮独立驱动,具备完整的吸尘系统和电源系统等功能模块。最终将在该平台上对本文所介绍的测控系统的性能进行实验验证。
图2 智能清洁机器人实验平台
2 测控系统硬件设计
2.1 CPU控制模块
CPU采用美国SST公司制造的8位单片机SST89E554RC。器件使用与8051完全相同的指令集,并与标准的8051器件管脚对管脚兼容。片内拥有1 kB字节RAM空间,3个16位定时计数器,4个8位I/O端口,拥有可编程计数阵列(PCA),可提供5路256级PWM调速,可通过全双工增强型串口实现人机通讯。
依据SST89E554RC单片机的引脚特性,在实际设计中,各电机驱动信号由单片机P1口输出,左右驱动电机占用P1.1~P1.6共6个端口(其中 P1.3和P1.6作为PWM调速信号输出端口使用),吸尘风机和起尘电机分别占用P1.0和P1.7口;红外反射式传感器和接触传感器检测信号分别送给 P2口的P2.0~P2.7共8个端口;超声波接收器信号经调理后送人外部中断INT1(P3.3口);2个触摸式选择屏的触摸信号经处理后分别送给 P3.4口和P3.5口。
2.2 驱动模块
直流电机所需的驱动电压、驱动电流均比较大,因此采用双H桥高电压大电流驱动芯片L298N作为电机驱动芯片。L298N是推挽式功率放大专用集成电路器件,直流驱动电流总和可达4A,其内部具有2个完全相同的PWM功率放大回路,拥有PWM调速功能。在控制电路中,考虑到单片机会受到驱动部分的干扰,因此采用了光电藕合器TLP521,把控制部分和驱动部分在电气上隔离开来。采用8个1N5822高速大电流肖特基二极管组成续流保护电路,消除电机在起停、制动及换向时产生的反电势。系统工作时,单片机P1口输出的控制信号经过驱动器芯片74HC245和光电拥合器之后输入电机驱动芯片L298N,控制电机动作。当需要调速时,只需改变PWM波(本设计中由单片机P1.3和P1.6端口产生)的占空比即可,理论上可以实现256级调速。
2.3 障碍物检测模块
2.3.1 超声波检浏部分
超声波是一种一定频率范围的声波,频率为40kHz的超声波信号在空气中的传播效率最佳。本文选用中心频率40kHz,测距范围在5m以内的普通超声波传感器。传感器发射探头和接收探头安装在机器人正前方,系统工作时,通过汇编程序由P3.7口产生精确的40kHz发射脉冲,每隔25ms发射一组脉冲,每组的脉冲个数取6~10个,以保证发射波具备良好的传播性和反射性。发射波遇到障碍物反射回来,被接收器接收,转变成电信号脉冲,对该信号进行放大、滤波、比较和整形等处理后送入单片机外部中断口INT1,触发单片机外部中断,进入中断处理程序,获取从发射波发出到收到反射波时的时间间隔即测距时间,由此即可根据超声波测距原理计算出障碍物的距离。主程序中设定机器人行走过程中距离障碍物的最小距离,当被测距离小于最小距离时,控制器向驱动系统发出避障指令,避开障碍物。本设计中利用软件延时去除串扰带来的误操作,即在发射波发出一段时间后,再打开外部中断,避免发射波不经反射就直接被接收器接收而引起假中断。
2.3.2 红外反射式传感器检测模块
该模块用于主动探测机器人周边障碍物和地面落差。选用JY043W型红外反射式传感器,该型传感器调理电路简单,安装调试方便,每一路的检测距离可以达到 7cm,满足本文设计的需要。该部分由6路检测单元组成,其中在机器人左前方和右前方各安装2路,配合超声波传感器实现周边障碍物的检测。另2路分别安装在机器人前端左下方和右下方,探头距离地面4cm,用于检测地面是否有台阶等落差,防止机器人跌落。红外反射式传感器具体工作过程为,发现障碍物时,发射管发出红外信号遇到障碍物反射回来,接收管接收到反射信号后导通,则信号处理电路的输出端变为低电平,该低电平直接送入控制器P2的一个端口,当控制器检测到这个端口的低电平变化时则表明该方位发现障碍物。
2.3.3 接触传感器检刚模块
接触传感器具有检测范围大、信号无需调理、占用控制器资源少等一系列优点。本文选择小型接触开关作为接触传感器,安装在机器人前端的缓冲器上,作用在于通过轻微的碰撞接触,检测那些未能被超声波传感器和红外反射式传感器检测到杆状或微小障碍物,如座椅腿等。
3 测控系统软件设计
3.1 传感器信息处理
当各路传感器检测到障碍物时,控制器必须获得障碍物的准确信息后,才能发出正确的避障指令。为了获得有效信息,程序代码中为每一路检测信息都设定一个标志位,主程序不断检测各个标志位的值的有效性,以此作为障碍物方位信息。对于不同的传感器,其信息判断标志位有效值也可能不同。在本文所提到的3种传感器中,超声波传感器的信号处理程序最为复杂,其流程如图3所示。
图3 超声波传感器信号处理程序流程
3.2 驱动控制
驱动控制模块是智能清洁机器人自主行为的执行机构。根据传感器信息判断当前环境状态,对不同的障碍物信息,控制器将调用不同的避障策略,策略与驱动控制的动作组合指令相对应,通过左右驱动电机动作的有效协作,实现机器人前进、后退、转弯等自主动作。单部电机的控制信号与电机动作之间的关系如表1所示,其中 P1.1和P1.2为电机方向控制信号端口,P1.3为PWM波调速端口,需要减速时只需要降低PWM波的占空比即可,理论上可以实现256级调速。
表1 控制信号与电机动作关系
3.3 避障算法描述
根据模糊控制思想并结合实际行走试验设计避障算法。以传感器系统9路传感器的检测距离和障碍物所在的方位为模糊控制输入量,以驱动轮的前进、旋转和后退动作为模糊控制输出量。超声波传感器检测最小距离设定为15cm,距离远;红外传感器检测距离为7cm,距离适中;接触传感器是在发生碰撞后才能检测到障碍物,因此检测距离最近。据此设距离信号(记作:D)的模糊语言集合为:
D={近,中,远}
设定其相应的语言变量,记作:
ND=近,MD=中,LD=远
以各路传感器在机器人上的安装位置作为障碍物所在方位(记作:A)。超声波传感器安装在正前方,在其左右两边依次是接触传感器、下方红外传感器和周边红外传感器。则设方位信号的模糊语言集合为:
A={最左,较左,左,左下,中,右下,右,较右,最右}
设定其相应的语言变量,记作:
BL=最左,ML=较左,L=左,LD=左下,M=中,R=右,RD=右下,MR=较右,BR=最右
设机器人驱动轮的动作集合为:
{右转,稍微右转,后退,减速,前进,稍微左转,左转}
设定其相应的语言变量,记作:
TR=右转,TRL=稍微右转,GB=后退,SD=减速,GA=前进,TLL=稍微左转,TL=左转
对于清洁机器人来说,在避障的同时,还要能够对清洁区域进行遍历。在保证避障和遍历的前提下,为了减少控制器的计算量并避免程序复杂化,本文采用逐一查询方式获得模糊控制量之一障碍物方位,根据障碍物方位即可获得另一输入量即机器人与障碍物间的距离。容易理解,采用逐一查询方法意味着控制器获得的障碍物信息来自于最先被传感器系统检测到的障碍物,而且控制器将根据最先获得的障碍物信息来调用相应的避障策略。因此,当有2个或2个以上方位有障碍物时,执行避障策略时机器人有可能与障碍物发生碰撞。试验发现,只有当左边的最左、较左方位和右边的最右、较右方位都有一个或2个发现障碍物时,才有可能导致机器人与障碍物发生碰撞。为了避免这种情况发生,将机器人左右两边都发现障碍物的情况也作为一个障碍物方位变量,不论机器人左右2边是同时发现一个还是2个障碍物,都仅设其模糊语言为左右,设定相应的语言变量为LR。根据有利于避碰的原则,将障碍物方位信息的查询顺序确定为:
LD,RD,LR,M,BL,BR,ML,MR,L,R(左下,右下,左右,中,最左,最右,较左,较右,左,右)
从机器人有效避障并保证尽量少的重复先前行走轨迹的角度出发,当确定了障碍物的方位和机器人离障碍物的距离后,我们希望模糊控制的输出量不仅仅是机器人动作集合中某一种动作,而是集合里某几种动作的合理组合。因此,针对不同方位的障碍物信息,对机器人左右驱动轮动作集合的7种动作 (TR,TRL,GB,SD,GA,TLL,TL)进行合理组合,即得到相应的合成输出量,记作Fi(i=1,2,3…)。根据前述方法,最终可归纳出 10种控制规则,即避障策略,如表2所示。
表2 控制规则表
按照障碍物方位信息的查询顺序,其形式是:
if(Ai and D)then Fi
i=1,2,3…10
按照此种方法,在不影响机器人有效避障和相关功能的情况下,有效避障的控制规则大大减少,使避障算法简单化。
4 实验结果
在智能清洁机器人实验平台上对整个测控系统进行测试。实验在一间约10m2的房间中进行,在房间中随机摆放几件日常物品作为障碍物,将通过智能清洁机器人的行走实验,对本文所述的智能清洁机器人测控系统的软硬件性能进行验证。实验中,智能清洁机器人始终保持直线行走,遇到障碍物时,根据障碍物信息选择合适的避障策略避开障碍物,然后继续保持直线行走,直到遇到下一个障碍物。实验结果表明,该测控系统工作可靠,避障算法有效可行,智能清洁机器人能够自动回避障碍物,可以在无人情况下自主工作,能够实现家居环境下的智能化清扫。
5 结束语
在智能清洁机器人测控系统的进一步研究中,设计信息量更加丰富的检测系统,探讨非结构化环境下机器人的导航和自主定位技术,寻找更加有效的路径规划和避障算法,将是研究的方向和重点。