吸尘机器人控制系统设计

时间:2022-05-16 11:01:37

吸尘机器人控制系统设计

摘 要:介绍一种基于ARM7微控制器的清洁机器人控制系统。该系统实时性高,功能完备,包括控制器、传感器部分、电机控制部分和人机接口部分。由碰撞传感器、超声波传感器和接近传感器来探测周围的环境,由直流电机带动两个驱动轮旋转,结合旋转编码器的反馈信息进行路径规划。经过实验证明了设计的可靠性,实现了清洁机器人的自动清洁行走功能。

关键词:吸尘机器人;ARM7;传感器;运动控制

中图分类号:TP242.6文献标识码:B

文章编号:1004-373X(2009)12-127-04

Control System Design of Cleaning Robot

LIU Hai,GUO Xiaoqin

(College of Mechatronics and Control Engineering,Shenzhen University,Shenzhen,518060,China)

Abstract: This paper presents the system integration and overview of autonomous cleaning robot based on ARM7 microcontroller.The real-time characteristic and function of the system are in good condition.The system consists four segments:controller,sensors,motor control system and man-machine interface.Several sensors of the approaching in order to detect the surrounding obstacles while cleaning,two driven wheels are driven by two DC motors,combining with the feedback information of rotating encoder,the cleaning robot can complete the path planning.Experiments show that the control system run well and the robot have the ability to clean the floor automatically.

Keywords:cleaning robot;ARM7;sensor;motion control

0 引 言

随着人口的老龄化和社会福利制度的完善,导致劳动力成本的急剧上升,一些简单的重复性的体力劳动为服务机器人提供了广阔的市场。清洁机器人是服务机器人的一种,可以代替人进行清扫房间、车间、墙壁等。提出一种应用于室内的移动清洁机器人的设计方案,其具有实用价值。

室内清洁机器人的主要任务是能够代替人进行清扫工作,因此需要有一定的智能。清洁机器人应该具备以下能力:能够自我导航,检测出墙壁,房间内的障碍物并且能够避开;能够走遍房间的大部分空间,可以检测出电池的电量并且能够自主返回充电,同时要求外形比较紧凑,运行稳定,噪音小;要具有人性化的接口,便于操作和控制。结合清洁机器人主要功能探讨其控制系统的硬件设计。

1 测控系统及功能

为了使吸尘机器人运动更加流畅,防止出现卡死的现象,把吸尘机器人外观设计成扁圆柱形的,扁圆形的设计可以使其自由进入沙发、床和家具底下,把一些边角都能够清扫干净。与地面平行的圆形底盘由三个轮子共同支撑,左右两侧的为驱动轮,分别由两个微型直流电机直接驱动,前面的支撑轮为万向轮。机器人的这种外形和车轮布局可使其方便地实现原地转弯,大大提高了行走的灵巧性,这在空间范围较小的地方更为突出。采用碰撞、超声波和红外传感器组成多传感器系统,在机器人的上方装有红外接收装置;在机器人的底部边缘,每隔45°装有接近传感器,用来检测台阶,防止跌落;在机器人的前方装有碰撞传感器,前方和左右装有超声波传感器,用来检测周围环境。机器人上装有电源管理系统,如果电压过低会停止清扫,并且去自动充电。

1.1 微控制器

传统的微处理器如51系列虽然开发周期短,成本低,但其实时性不好,难以实现复杂的控制算法[1];另外,增加的电路数据转换速度慢, 使机器人的性能得不到充分的发挥。高速DSP的出现虽然使得系统模块化和全数字化,但其开发成本高[2]。与DSP具有同等性能的ARM微处理器资源丰富,具有很好的通用性,其主要技术优点是高性能,低价格,低功耗,广泛地应用于各个领域,因此将ARM应用于机器人控制系统不失为一种好的策略。LPC2210是飞利浦带有一个支持实时仿真和跟踪的ARM7TDMI-S 微处理器,其采用3 级流水线技术,能够并行处理指令。由于具有非常小的尺寸和极低的功耗, 多个32 位定时器、PWM 输出和32 个GPIO使它特别适用于工业控制和小型机器人系统[3],满足了机器人对控制器运算速度的要求。以LPC2210 为核心,设计结构简单,性能稳定的清洁机器人车体系统。

机器人控制系统主要完成的任务:接收传感器和编码器传来的数据,综合处理进行清扫路径规划;驱动左右轮前进行走,控制清扫、吸尘机构,完成各种底层控制动作;设计合适的人机接口,在LCD上显示机器人状态和运行时间。因此,机器人控制系统包括传感器模块,电机驱动模块,红外遥控接收模块、LED指示灯和液晶显示模块。整个控制系统组成及各部分间相互关系如图1所示。其中外扩了1块512 KB的数据存储器SRAM(IS61LV25616AL)和2 MB的程序存储器FLASH(SST39VF1601),满足了路径规划时对存储空间的需求。

图1 控制系统相互关系图

1.2 传感器部分

传感器类似于人的五官,是机器人感知外部环境的直接手段。机器人通常采用测距传感器对周围环境和障碍物进行检测。常用的测距传感器有超声波、红外、视觉和激光测距仪。3D激光测距仪价格昂贵且笨重,2D的需要安装路标配合,不适合清洁机器人使用。立体视觉对处理器的要求太高,难以满足实时性和鲁棒性的要求。红外传感器采用发射固定波长红外线并接受同一回波的主动方式,探测视角小,方向性强,但是受环境影响大,距离比较近。超声波能测得目标的距离信息,但是有盲区,两个超声波比较近的时候还会出现串扰现象。红外线传感器和超声传感器单个使用只能获得目标的距离信息,不能获得目标的边界信息[4]。

1.2.1 超声波传感器

清洁机器人和一般的移动机器人不同,它要求把墙边,家具以及房间内的其他物体旁边都清扫到,因此其它要求能够非常接近障碍物但是不碰上。基于这个要求,用超声波传感器是比较合适的,它可以测量机器人与障碍物之间的距离,通过软件控制机器人的运动来保持机器人的沿边清扫。这里采用的超声波传感器是超声波模块Ping28015,模块集成了超声波的一对发射和接收以及检测部分,体积比较小,适合清洁机器人使用[5],如图2所示。

图2 Ping28015超声波模块

这一款超声波传感器有以下优点:适应各种环境,不受灰尘和光线的影响;盲区为2.5 cm,可以把传感器安装在合适的位置就可以避开盲区;探测发散角度为15°,反应距离2.5 m以内,该课题的检测距离为0.5 m。超声波传感器的基本原理是测量从声波发射和回到接收器所用的时间。这一款传感器的的发射端口和接收端口是一个管脚,首先由控制器发射一个5 μs宽度的高电平脉冲来激发传感器发射40 kHz的超声波,脉冲发出750 μs后,管脚电平置高;当传感器接收到回波时,管脚的电平被拉低。由信号端高电平的宽度就可以知道由发射到返回需要的时间,宽度为115 μs~18.5 ms之间。公式s=vt/2,其中s表示传感器与目标的距离;t表示发射到回收的时间;v是声波速度,v=340 m/s。由此可以知道传感器与障碍物之间的距离。一次探测时间最多是20 ms,5个传感器查询完毕,用时100 ms,因此两个相邻传感器采用分时段进行使能,就会避免相互干扰,而不会影响机器人速度。

1.2.2 红外接近传感器

反射式光电开关是由红外LED光源和光敏二极管或光敏晶体管等光敏元件组成,当有障碍物阻拦时光线能够反射回来,输出为低电平信号;当没有障碍物阻拦时,光线不能反射回来,输出为高电平信号。

吸尘机器人的近距离红外接近传感器由两组相同的红外发射、接收电路组成。每一组电路可分为高频脉冲信号产生、红外发射调节与控制、红外发射驱动、红外接收等几个部分。通过38 kHz晶振和非门电路得到一个38 kHz的调制脉冲信号;利用三极管驱动红外发射管(TSAL6200)的发射。发射管发出的红外光经物体反射后被红外接收模块接收,通过接收头(HS0038B)内部自带的集成电路处理后返回一个数字信号,输入到微控制器的I/O口,如图3所示。接收头如果接收到38 kHz的红外脉冲就会返回输出低电平,否则就会输出高电平。通过对I/O口的检测,便可以判断物体的有无。

1.2.3 碰撞开关传感器

两个槽型对射光电开关均布在机器人左前和右前方。如此的布局可以使机器人感知来自前方、左前、右前三个方向的障碍物,从而根据障碍物方向的不同做出不同的反应。当机器人碰到障碍物时,弹簧在障碍物的作用下,向内压迫碰撞开关摆臂,促使簧片挡住光电开关的光线,输出低电平。当没有障碍物作用时,簧片在弹簧的作用下恢复,光电开关的光线没有被遮挡,输出高电平,如图4所示。

图3 红外接近传感器模块

图4 碰撞开关传感器示意图

这三个传感器中,超声波传感器用来探测前方和左右的墙壁、障碍。左边和右边的两个超声波传感器垂直于行走方向放置,用于机器人的沿边行走规划;设定机器人行走时与墙边的距离值,调节机器人的行走方向,使两个超声波与墙边的距离近似等于设定值,保持机器人沿墙行走时保持适当的距离,不会撞到或者远离墙壁[6]。前方两个碰撞传感器和一个超声波配合用来用来探测前半部分的环境;接触传感器具有检测范围大、信号无需调理、占用资源少的优点,通过接触碰撞,检测那些未能被超声波传感器检测到的杆状障碍比如家具腿等,传感器之间的位置如图5所示。

图5 传感器布置示意图

接近传感器用来探测地面是否有悬崖,在机器人底部的正前、左前、右前和后方各布置1个。除了上述三种传感器以外,在三个轮子上都装有一个常开的开关传感器,当轮子悬空的时候,开关就会闭合,输出低电平。当轮子悬空时可以让机器人停止运转。

2 电机控制系统

在小功率系统中,直流电机线性特性良好,控制性能优越,适合于点位和速度控制。为了实现直流电机的正反转运行,只需要改变电机电源电压的极性。电压极性的变化和运行时间的长短可以由处理器实现,而提供直流电机正常运行的电流则需要驱动电路。

H桥式驱动电路是比较常用的驱动电路。该设计两个行走驱动电机采用分立器件功率场效应管和续流二极管搭建,成本低,便于散热,如图6所示。

图6 行走电机驱动电路图

用ARM7的P0.8和P0.9来控制电机,这两个管脚都是PWM输出管脚,可以控制电机的速度。该部分主要保证机器人能够在平面内移动,同时轮上带有编码器,可以对行走的路程进行检测。通过航位推算可以实现机器人的转弯,假设机器人光电码盘的分度数为N;控制器收到的脉冲数为m;轮子的直径为D;两个轮子之间的间距为W,则轮子前进的距离为:

S=πmD/N(1)

设机器人在环境坐标系中的位姿为(X(t),Y(t),φ(t)),则第n+1次采样的方位角φn+1值和第n次采样的φn值有以下关系:

φn+1 -φn = 1W∫n+Tn[vR(t)-vL(t)]dt=

1W(ΔSRn -ΔSLn)(2)

式中:vR(t)和vL(t)分别是在t时刻两轮的速度;ΔSLn和ΔSRn为两个主动轮从第n次采样时刻到第n+1次采样时刻之间所行走的距离。

ΔSRn=π(mR(n+1)-mRn)d/N(3)

ΔSLn=π(mL(n+1)-mLn)d/N(4)

如果规定要进行原地转弯,就是一个轮子正转,另外一个轮子反转的方式那么:

φn+1-φn=1W∫n+Tn[vR(t) + vL(t)]dt=

1W(ΔSRn +ΔSLn)(5)

从式(1)~(5)可知,由两轮编码器的脉冲数就可以知道两个轮子的转弯角度和行进距离,从而进行路径规划。

清扫电机就是带动清扫滚轮的转动,把灰尘带到风口处。吸尘机器人清洁地面的功能是通过其自身携带的小型吸尘器完成的。该小型吸尘器与一般家庭用的拖线式吸尘器相同,吸尘口贴近地面,是一条鸭嘴式的窄缝,在里边加入一个真空吸尘器,吸尘腔位于机器人体内。吸尘电机相当于一个排气风扇,用来吸引灰尘到垃圾收集箱。刷子电机用来把边缘处的的灰尘扫向中间的清扫滚轮处。

清扫、吸尘电机都是由场效应管的开关特性来控制电机的运转。控制器的I/O口只需要给一个高、低电平信号,由三极管做开关带动驱动MOFSET管来控制电源的通断,就可以控制电机。

3 人机接口模块

遥控可以使机器人的使用更加方便,其中有红外遥控方式和名片式无线远程通讯。无线电通讯方式容易受电磁干扰,红外遥控比较简单,发射距离也在10 m以上,能够满足需要。通用红外遥控系统由发射和接收两大部分组成,为了节省硬件资源,选用了一体化红外接收头,利用软件进行解码。发射器芯片选用DT9122,所发射的1帧码含有1个引导码,16位的用户编码和8位的键数据码和键数据反码。引导码由一个9 ms的载波波形和4.5 ms的关断时间构成,它作为随后发射的码的引导,当接收系统更能有效地处理码的接收与检测以及其他各项控制之间的时序关系,编码采用脉冲位置调制方式(PPM)。利用脉冲之间的时间间隔来区分0和1,每次8位的码被传送之后,反码也被传送,减少了系统的误码率,接收器采用HS0038B。

考虑系统需求,选用按键和LCD作为输入和输出接口。设置了4个按键,分别为电源开关、点位清洁、范围清洁和沿边学习功能。点位清洁是以机器人现有位置为中心进行2 m2的清扫,范围清洁是随机+局部遍历的路径规划,沿边学习是对房屋的边角进行清扫,并且能记下拐角点的坐标,估计房屋的大小。输出选用MG240128A型点阵图形液晶模块,LCD在系统中负责显示机器人的运行时间。同时,还有LED灯用来显示机器人状态,比如是否清扫完毕,电量情况。系统采用12 V镍氢电池给电机供电,再分出5 V给控制系统供电。由于LPC2210 是双电源供电,CPU 内核为1.8 V,I/O口需要3.3 V,所以电源电压经LM2575 转换成5 V电压后,由LDO分别提供1.8 V 和3.3 V 电压。图7中的R83是采样电阻,通过A/D转换就可以知道通过R83的电流,从而监控电源电压的变化。

图7 行走电机驱动电路图

4 结 语

清洁机器人作为服务机器人的一种,有着巨大的市场潜力和广阔的应用前景。随着传感技术的发展和微处理器的不断进步,价格也在不断下降。在此研究和设计一个基于ARM7微处理器的清洁机器人控制系统,不仅满足了实用性的要求,而且在不增加成本的基础上为软件提供了良好的硬件支持,为更好的算法和软件升级提供良好的技术支持。

参考文献

[1]Chih-Hao,Kai-tai plete Coverage Motion Control of a Cleaning Robot Using Infrared Sensors [A].Proceeding of the 2005 IEEE International Conference on Mechatronics[C].2005.

[2]Sewan Kim.Autonomous Cleaning Robot: Roboking System Integration and Overview [A].Proceedings of the 2004 IEEE International Conference on Robotics & Automation[C].2004.

[3]周立功.ARM微控制器基础与实战[M].北京:北京航空航天大学出版社,2005.

[4]李瑞峰,孙笛生,阎国荣,等.移动式作业型智能服务机器人的研制[J].机器人技术与应用,2003(1):27-29.

[5]28015-PING-v1.3数据手册[Z].2007.

[6]戴曰章,吴志勇.基于单片机的超声波测距系统设计[J].计量与测试技术,2005,32(2):17-19.

上一篇:基于VMM的流量管理芯片验证 下一篇:基于统计特征加权的模糊聚类方法及其应用