徐文丽,刘 丹,党 兴,刘伟静,李 鹏
(天津航天机电设备研究所,天津 300458)
随着工业机器人技术的高速发展与制造加工业的迫切需求,工业移动机器人技术越来越受到社会的关注。由传感器、遥控操作器和自动控制移动载体组成的机器人系统,得到了迅速的发展[1-3]。全向移动平台能够原地横移、原地零半径回转,非常适用于工作环境狭窄、对准确定位和位置调整能力要求较高的场合。由于这些场合通常不适合人为操作,因此,迫切需要研制一种拥有自动导引和轨迹跟踪功能的全向移动平台[4-5]。基于嵌入式系统设计的移动平台,以其强大而灵活的可应用性、高度的可靠性以及低成本等优点,得到了广泛应用[6]。本文以麦克纳姆轮式全向移动机器人为研究对象。其控制系统使用进阶精简指令集处理器(advanced RISC machine,ARM)作为主控制器。该系统利用视觉传感器,对前方道路环境进行图像捕捉,通过计算提取图像中的道路边缘信息提供给道路识别程序,判断自身位置和外部环境,并根据识别结果制定系统的行进规划,实现自主、智能导航[7-9]。
全向移动平台循迹系统主要由ARM控制器、视觉传感器、避障传感器、驱动器、电机、无线遥控器、无线接收模块、供电单元以及轨迹等组成,其系统结构如图1所示。首先,通过无线遥控器向全向移动平台发送循迹命令;然后,ARM控制系统进行相关信息的初始化,完成循迹控制的准备工作。视觉传感器将实时采集的路径信息输入ARM控制系统。系统根据循迹控制算法处理结果得出电机的转向与速度,进而实时控制全向移动平台的运行[10]。在运行过程中,若遇到障碍,移动平台依据避障传感器检测到的障碍物距离信息作出相应处理。
图1 循迹系统结构图Fig.1 Structure of tracking system
控制系统性能的优劣,直接决定了整个移动平台控制系统性能的好坏以及控制系统性能的稳定性。主控制器作为循迹系统的核心部分,负责完成视觉传感器输出信号的采集、路径信息与当前环境的判断、移动平台运行速度与方向的控制等功能[11]。本设计选用ARM系列芯片LM3S9B96作为系统的控制核心,其集成了脉冲宽度调制(pulse width modulation,PWM)、通用输入/输出(general-purpose input/output,GPIO)端口、控制器局域网总线(controller area network,CAN)、模拟数字转换器(analog-to-digital converter,ADC)、通用异步收发传输器(universal asynchronous receiver/transmitter,UART)等模块,具有丰富的I/O接口及寄存器等资源,可进行二次开发,使用方便[6]。
该系统通过无线遥控器向全向移动平台发送循迹控制命令。无线遥控模块采用CC430F6137控制器,其内部集成了CC1101射频收发模块,采用通用的ISM频段(433 MHz)实现数据的无线传输[12]。
该系统采用自主研发的视觉传感器作为路径信息采集传感器。该传感器输出采用RS-485接口,采用“一问一答”的通信方式,可识别二维码与色带,并通过对接口发送选择命令识别色带的颜色。该系统轨迹可选用绿色、红色、蓝色3种颜色的色带,并将其粘贴在地面上。通过定时发送询问命令,视觉传感器输出接口将输出移动平台相对于色带的横向与纵向位置,以及角度的偏差值。
传动模块包括电机驱动器和电机。电机驱动模块在单片机控制系统中是必不可少的,它和电机共同组成移动平台的运动控制系统[13]。该系统的驱动电机选用雷赛ACM低压交流伺服电机,适配ACS系列交流伺服驱动器。
避障模块采用“西克”公司的激光扫描器TIM310。其可扫描270°的范围,最多可设置16个保护区域,扫描距离可达到4 m。设置扫描器的正常、报警、急停3个区域,并通过3个开关量输出来实现,使得全向移动平台在不同情况下对检测到的障碍物进行不同的反应。
电源模块采用灵活、方便的单电源供电模式为所有模块供电。控制模块采用5~30 V宽电压供电。电机采用60 V磷酸铁锂电池供电。各模块采用36~72 V转24 V DC/DC稳压电源模块供电。
软件系统主要实现决策与导向的功能。该系统软件采用C语言编写,以Keil uVision4软件作为开发环境。根据系统硬件设计,软件系统使用模块化的软件,可以大致分为主程序、循迹模块程序、电机的PWM转速与方向控制模块以及安全防护模块。软件控制系统主程序流程如图2所示。
图2 软件控制系统主程序流程图Fig.2 Flowchart of main program of software control system
当操作人员通过无线遥控器发送循迹指令时,全向移动平台控制系统进入循迹模式,主程序将对视觉传感器、GPIO与PWM口、定时器以及中断程序等进行初始化。在运行过程中,程序将不断地扫描视觉传感器输出信号与激光扫描器连接的I/O口,对路径信息进行判断,并进入相应的处理程序。
循迹控制算法以视觉传感器输出的横向与纵向位置、角度的偏差作为输入,计算出移动平台的预定行车速度,并完成转向和速度控制。
全向移动平台循迹控制算法流程如图3所示。
图3 循迹控制算法流程图Fig.3 Flowchart of tracking control algorithm
程序初始后启动定时器,定时向视觉传感器发送命令,以询问当前的位置信息。当视觉传感器检测到色带时,程序将赋予移动平台前进速度初值VY0,控制其开始向前移动。若传感器输出的横向距离偏差为负值,则色带位于移动平台中心线右侧,需控制移动平台向右移动,即控制量VX为正值;反之,若传感器输出为正值,控制量VX为负值。传感器检测的角度偏差以传感器Y轴方向为零点,逆时针方向角度增大。当输出角度偏差在0~90°时,移动平台相对色带右旋转了一定角度,需控制移动平台向左旋转,即控制量W为负值;反之,若输出角度偏差在270°~360°时,需增加的控制量W为正值。
为使全向移动平台能够沿色带线快速而稳定地运行,除了合理地控制方向外,还要结合路径的各种情况调整移动平台的前进速度,使得移动平台在直道上能以较快速度行驶,在弯道上又不会因为速度过快而偏离色带。因此,必须根据实时路径弯曲程度,即偏角的大小,正确地调整移动平台的当前前进速度。该系统采用前进速度与偏角成反比例的关系,实时调整前进速度,实现入弯减速、出弯加速的控制方式。
当视觉传感器检测到二维码时,可识别距离与角度偏差值以及二维码编号。视觉传感器依据偏差值进行纠偏,依据二维码编号来执行相应的动作或命令。
该控制系统通过输出不同频率的PWM波与I/O电平,实现对电机的有效控制。频率越大,电机转速越快。电机额定转速为3 000 r/min,采用0~500 kHz频率PWM波,正比例控制电机转速。
以循迹算法的输出参数VX、VY、ω为输入,根据全向移动的数学模型计算公式,实时计算全向移动平台4个轮子的当前速度与方向。数学模型公式如下[14]:
(1)
式中:V1、V2、V3、V4分别为4个轮子速度矢量;VX、VY、ω分别为全向移动平台在平面X、Y方向上的平移速度和绕Z轴的转动速度;W为移动平台轮距;L为移动平台轴距。本文设计的移动平台中:R=215 mm,W=804 mm,L=1 022 mm,电机0、3与电机1、2采用对称装配,V1、V3方向与电机转动方向一致,则V2、V4方向与电机转动方向相反。当速度V>0时,轮子正转;反之,则为反转。
激光扫描器TIM310将距离信息转换成开关量信息输入到GPIO接口。应用程序通过读取开关量信号的数值,即可判断前后方有无障碍物以及障碍物的距离信息。当检测到障碍物距离小于50 cm时,移动平台减速;距离小于20 cm时,移动平台将停止运行。
当全向移动平台未检测到色带与二维码时,进行丢道处理,移动平台将停止运行。此时,可以通过无线遥控器来控制全向移动平台。若重新检测到色带(即回到轨道),可恢复正常循迹状态。
试验场地选择厂房内干净、平整的浅灰色地面,循迹轨道为1 cm宽的绿色与红色胶带。轨道分为圆弧形、矩形和S型。环境光线为一般强度的漫射自然光。视觉传感器置于全向移动平台的底端,激光扫描器置于全向移动平台上端中央(相对于轨道中间)。
视觉传感器识别的色带颜色初始值设为“红色”。在循迹过程中,此识别颜色可依据命令随时更改,并经反复调整视觉传感器离地面的距离实现精准检测。通过无线遥控器向全向移动平台下达“前进”“后退”“左移”“右移”“转向”等命令,使全向移动平台处于红色色带轨道上。此时,发送“循迹”命令,全向移动平台可自主循迹。在循迹过程中,全向移动平台可实时检测周围障碍物的情况。若检测到全向移动平台与障碍物的距离小于20 cm,即刻停止运行,以实现安全防护。
多次调整全向移动平台的前进速度并进行循迹试验测试。结果表明,影响全向移动平台循迹效果的关键因素有两个:一是视觉传感器离地面的距离,二是全向移动平台行驶的速度。前者决定了视觉传感器检测轨迹的准确性和灵敏度,后者与全向移动平台循迹的准确性和成功率有关。该循迹系统入弯减速出弯加速的循迹方式,提高了转向的灵敏度,同时有效控制了行驶速度,使全向移动平台在循迹过程中左右摇摆幅度较小、紧贴轨道行驶。该循迹系统经过多次试验测试,循迹效果皆较为理想。
本文设计的基于ARM控制器的全向移动平台智能循迹系统,具有一定的道路辨认适应能力和环境变化适应能力。其可在狭小空间内实现自主巡线、自动调速、安全防护,并能够以较快的速度完成循迹运动。
该系统运行稳定、可靠,能满足系统的实时性要求,达到了预期的目标和要求,可以应用到装配生产、仓储物流等领域,具有一定的实用性。
参考文献:
[1] 黎红.自主移动机器人路径规划中的主要方法[J].中国电力教育,2010(S1):814-816.
[2] 李波,杨卫,张文栋,等.一种智能小车自主寻/循迹系统设计[J].计算机测量与控制,2012,20(10):2798-2801.
[3] 侯华,冯波,宋彬.自适应智能光电循迹系统的设计与实现[J].自动化仪表,2014,35(3):77-81.
[4] 李磊,叶涛,谭民,等.移动机器人技术研究现状与未来[J].机器人,2003,24(5):475-480.
[5] 徐国华,谭民.移动机器人的发展现状及其趋势[J].机器人技术与应用,2001(3):1-3.
[6] 孙雪飞,胡巍.例说TI ARM Cortex-M3—基于LM3S9B96[M].北京:北京航空航天大学出版社,2013.
[7] KAHRAMAN A F,GOSAVI A,OTY K J.Stochastic modeling of an automated guided vehicle system with one vehicle and a closed-loop path [J].IEEE Transactions on Automation Science and Engineering,2008,5(3):504-518.
[8] 陈超,叶庆泰.基于图像引导的自动导引小车系统设计[J].机械设计与研究,2004,20(1):65-67.
[9] OLMI R,SECCHI C,FANTUZZI C.Coordination of multiple AGVs in an industrial application[C]//IEEE International Conference on Robotics and Automation.IEEE,2008:1916-1921.
[10]庹朝永.基于单片机的直流电机PWM调速系统设计与开发[J].煤炭技术,2011,30(6):62-63.
[11]宋永献,马娟丽,贺乃宝,等.基于TMS320F2812 的智能循迹小车控制系统设计[J].计算机测量与控制,2011,19(9):2128-2130.
[12]林凡强,马晓茗,谢兴红.CC430无线传感网络平台基础与实践[M].北京:北京航空航天大学出版社,2012.
[13]陈秀霞,卢刚,李声晋,等.轮式机器人用无刷直流电机控制系统设计[J].测控技术,2010,29(5):55-59.
[14]李洪振,侍才洪,康少华,等.全向移动机器人行走机构控制系统的设计与优化[J].制造业自动化,2013,35(9):34-37.