使服务机器人有了广阔的市场,已成为一些企业和科研院所研究的焦点。目前市场上的吸尘机器人虽然也具有智能性,但大多由于结构不尽合理、通用性差、集成度高而导致成本高,不利于普及。在研究总结市场上相对成熟产品的基础上,基于ARM Cortex-M3处理器设计一款具备自我导航功能的室内吸尘机器人。外形紧凑、结构简单、运行平稳、噪音小,并且成本低,操作方便,还具有可扩展接口,用户能够根据实际需要对其功能做进一步开发。
1、吸尘机器人总体构成
利用ARM Cortex-M3处理器设计一款
应用于室内的移动清洁机器人,主要任务是能够自主清扫房间,因此应该具备以下功能:
(1)能正确判断机器人所处的房间和在房间中所处的方位;
(2)能正确检测出房间内的墙壁、家具等障碍物;
(3)在游历完所有房间完成清扫任务后能自主回到出发点,关机。
为了防止机器人在工作时出现堵转现象,并且能自由进入一些家具比如沙发、桌子等的底下,吸尘机器人不能太高,外形采用半圆柱形。底盘由四个轮子共同支撑,其中左右两侧为驱动轮,分别由两个微型直流电机直接驱动,前后两个万向轮起到支撑和导向的作用。采用碰撞、红外传感器、超声波等组成多传感器系统。在机器人的上方装有红外接收传感器,底盘边缘均匀分布装有接近传感器,用来检测障碍物;在机器人的前方装有碰撞传感器;前方和左右装有超声波测距传感器,用来检测周围环境。
总体框架设计如图1所示。
2、硬件主体设计
硬件系统主要由ARM Cortex-M3处理器、传感器模块、电机驱动模块、人机交互模块、无线遥控发射模块组成。
2.1 ARM Cortex-M3处理
机器人控制系统的主要任务是根据传感器和编码器等反馈回来的数据,进行清扫路径规划,控制清扫、吸尘机构,完成各种控制动作。设计合适的人机接口,在LCD上显示机器人状态和运行时间。因此,机器人控制系统包括传感器模块,电机驱动模块,红外遥控接收模块、LED指示灯和液晶显示模块。采用ARM Cortex-M3处理器作为机器人控制系统的核心,主要是低成本、小管脚数和低功耗,并且具有极高的运算能力和极强的中断响应能力,工作电流仅为50 mA.
2.2电机模块
分成小电机驱动电路和两路大功率驱动板,包括用于行走的两个小直流电机和用于吸尘的大功率无刷直流电机、扫地的直流滚刷电机、扫边角的直流边刷电机。因为电机分别决定机器人的行走路径和吸尘功率,所以设计了专门的驱动板,如图2所示。行走模块的设计对吸尘机器人避障规划有着至关重要的作用,我们将吸尘机器人设计成一个闭环控制,主要包括驱动电路和光电编码反馈电路。光电编码反馈电路通过计算反馈回来的脉冲数量和相位而得到当前的电机速度。芯片最高可以驱动25 V的电机,吸尘机器人里行走电机的工作电压为24 V,芯片的电压为5 V,芯片输出的PWM波转化成大电压PWM波控制电机。其极限参数如表1所示。
2.3传感器模块
主要包括3部分:用于测量和感知障碍物的超声模块、红外和碰撞传感器,用于状态检测的传感器(检测电池电量、尘桶、电机堵转悬空)。传感器模块使机器人对周围环境做出正确判断,为顺利完成任务提供智能决策。
(1)超声波测距传感器模块
室内吸尘机器人由于工作环境的原因,必须具备检测各种大小、高低、颜色的障碍物,超声波是一种非接触式的检测技术,在空气中传播不受光线、烟雾、电磁场等外界因素的干扰,与红外传感器相比,超声传感器感应距离更远,可靠性高,且成本低。因此,使用高精度的超声波测距系统可以有效地完成障碍物的检测。
本文选用的是US-100超声波测距模块可实现0~4.5 m的非接触测距功能,拥有2.4~5.5 V的宽电压输入范围,静态功耗低于2 mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,工作稳定可靠。在机器人的前后各安装两个超声波传感器,处理器产生40 kHz的脉冲经I/O口输出,再经过与非门以及三极管放大形成极性相反的两路脉冲输入超声波发射头的两个引脚,探头便可发出一连串40 kHz的超声波,遇障碍物后返回给接收电路,处理器同时控制门电路,以实现发射波的间断如图3所示。超声波接收端通过压电转换的原理,把经障碍物反射回的信号转换为电信号经过低噪声放大和带通滤波,再比较产生中断给处理器进行时间测量,从而做出障碍物的距离判断,如图4所示。
(2)红外和碰撞传感器模块
本吸尘机器人在工作时对于远距离障碍物主要利用超声波测距,但是超声波对近距离障碍物不敏感,所以增设红外模块进行近距离检测,根据能量反射法设计红外测量模块。机器人前后安装两组红外传感器,每组由多达14组红外发射接收管组成,在机器人的上面和底盘各安装14个,每上位和下位的2个红外发射和接收管并联并且指向同一个方向构成一组,每一组电路可分为高频脉冲信号产生、红外发射调节与控制、红外发射驱动、红外接收等几个部分。通过38 kHz晶振和非门电路得到一个38 kHz的调制脉冲信号;利用三极管驱动红外发射管(TSAL6200)的发射。发射管发出的红外光经物体反射后被红外接收模块接收,通过接收头(HS0038B)内部自带的集成电路处理后返回一个数字信号,输入到微控制器的I/O口,如图5所示。