赵成刚,韩向可
(安阳工学院 机械工程系,河南 安阳 455000)
移动机器人是能在复杂环境下作业的具有高度自主性的机器人。由于其较强的活动能力、良好的可控性等特点,在制造业、农业、国防等各个领域具有广阔的应用前景。传统的机器人传感检测系统与上位工控机常采用RS232/485等串行方式进行信息传输,已经不能适应目前高可靠性、高实时性和开放性等柔性化机器人性能的要求。因此,设计了一种四轮驱动式、基于CAN总线的远程遥控移动机器人系统。
整体系统由远程遥控平台、GPRS无线传输模块和移动小车三部分组成。系统采用PC机作为遥控平台,实现对移动小车轨迹控制、信息采集控制和人机界面显示等功能。远程控制平台与移动小车之间的通讯采用GPRS无线传输收发模块,实现远距离遥控,如图1所示。
机器人小车是系统的核心部分,为了实现运动的平稳,采用四轮驱动、两轮差动转向控制方式,每个轮子有一台直流伺服电机驱动;机器人环境信息采集采用超声波传感器和红外测距传感器实现,分别安装于小车四周,在移动中对环境信息实时采集,实现机器人避障导航;机器人控制系统分上下位机模式,如图2所示;上位机负责与遥控平台通讯,接受远程指令并根据下位机采集的环境信息,规划运动轨迹,向各电机驱动器发出运动控制信息;各下位机节点主要完成上位机控制指令的接收、环境信息检测和电机速度或位置控制等。上下位机之间通讯采用CAN总线传输,实现数据传输安全可靠。
无线通讯模块选用华为GPRS模块GTM900C,双频高度集成模块,通过串口与PC机相连。
上位机控制器和各CAN节点控制器均采用16 bit微控制器 MC9S12DP256,最高频率达 25 MHz,8路 PWM模块,内嵌 CAN控制器,支持CAN2.0A/B,给本系统的硬件设计带来了极大便利。CAN总线节点电路如图3所示,图中82C250是控制器和物理总线间的接口,它提供对总线的驱动发送功能和对控制器的差动发送与差动接收功能,MC9S12DP256主要负责完成CAN协议的任务,完成物理层和数据链路层的所有功能,如发送缓冲、接收缓冲、接收滤波等。6N137为光耦,其作用为防止串入信号的干扰。
超声波传感器选用西门子XPS-10,测量距离0.3 m~10 m,发射频率44 kHz;红外测距传感器选用夏普GP2D12,测量距离0.1 m~0.8 m。各个超声波传感器和红外传感器分别用一个控制器巡回检测,采集数据通过CAN总线传输给上位机融合。
伺服电机运动控制模块由16 bit微控制器MC9S12-DP256、电机驱动器LMD18245和光电速度传感器组成闭环控制系统。MCU根据上位机发出的决策指令和光电速度传感器信号,通过PID算法,发出PWM调制信号给LMD18245控制电机速度。
上位机程序主要负责系统初始化,与遥控平台通信和下位机CAN网络间的通讯。在下位机通讯中,向红外测距节点和超声波测量节点发送远程帧,得到机器人环境信息,并对信息融合,规划机器人运行轨迹;向电机控制节点发送数据帧指令,控制机器人运动方向和速度等。
下位机软件主要由电机运动控制程序、超声波测距和红外测距三部分组成,其中超声波测距程序与红外测距程序结构相同。电机运动控制根据上位机发送数据帧信息,通过PID调节,发出PWM信号对电机速度或位置进行控制,电机速度和位置通过数据帧传给上位机。超声波测距程序根据上位机远程请求帧信息,测量不同方位障碍物距离,并向上位机发送实时距离的数据帧信息。程序流程图如图4所示。
CAN协议是在国际标准化组织的开放系统互连模型基础上建立的,协议中规定了物理层、数据链路层协议。并由硬件电路实现,用户需要根据实际应用情况来规定应用层协议。系统采用CAN2.0A标准,11位标识符,各节点通过标识符对报文滤波或接受,考虑实际情况规定主节点(上位机)优先级最高,电机控制次之,数据发送优先级最低。具体报文标识符如表1所示。
表1 CAN总线节点标识符
本文采用高性能微控制器设计了基于CAN总线的移动机器人系统。充分利用了CAN总线的优点,实现了分布式网络控制和环境信息的实时采集。MC9S12DP256微控制器的采用简化了硬件电路设计,且使系统具有高抗干扰性、高可靠性等特点。此外,仍需进一步研究智能化传感检测和视觉系统,使机器人具有更高的自主性、智能化。
[1]邬宽明.CAN总线原理和应用系统设计[M],北京:北京航空航天大学出版社,1996.
[2]杨树风.带有机械臂的全方位移动机器人的研制[D].哈尔滨:哈尔滨工业大学出版社,2006.
[3]李剑峰,原魁,邹伟.自主机器人非视觉传感器数据采集系统的研制[J].传感器与微系统,2006(2):125-129.
[4]王威.HCS12微控制器原理及应用[M].北京:北京航空航天大学出版社,2007.