周卫华, 张德发
(台州职业技术学院,浙江 台州 318000)
移动机器人已经成为机器人领域一个重要的分支,在军事、危险作业和服务业等行业发挥着越来越重要的作用[1-2]。
移动机器人按照运动的机构可分为轮式、履带式和腿式等。其中轮式移动机器人由于其机构简单、运动灵活等优点,尤其受到青睐[3-4]。考虑到文中研究的对象是轮式移动机器人,故后续所称的移动机器人都是指轮式移动机器人。物体在平面上具有三个自由度,分别为前后运动、左右运动和自转运动,传统的汽车具有的自由度少于三个,又如文献[5]中描述的四轮移动车,具有前后运动和自转运动的能力,但是不能横向移动。全方位移动机器人可以实现前后、左右和旋转三个自由度的运动,运动灵活性高,可以原地旋转,在狭小空间运动优势明显,如物流仓储行业、星球探测[6]和服务机器人等。
全方位移动平台需要设计相应的控制系统,如文献[7]中采用专用芯片作为主控制器来控制基于Mecanum轮全方位移动机器人,控制简单,但是很难做进一步的扩展与深入研究。东南大学的夏国庆[8]用主控芯片DSP2812控制四个电机,每个电机驱动一个Mecanum轮。这种方法的优势在于节省成本,但是外围电路设计复杂且稳定性较差。
本文设计的轮式机器人采用工控主板作为主控制器,计算功能强大,而且丰富的接口可以方便扩展,为进一步深入研究提供了良好的硬件平台。
连续切换轮的轮毂周围由十根辊子相互交错排列,辊子与轮毂是相互垂直,如图1所示。
图1 连续切换轮
图2 连续切换轮(直径10 cm)
连续切换轮不仅具有轴向滚动的能力,且十根辊子也能绕自身轴旋转。图2所示为正交连续切换轮的实际样机,其中轮毂是主动轮,辊子是被动轮。辊子在外力的作用下绕着自身的轴旋转,速度方向与轮毂的速度方向垂直。
图3 移动机器人布局示意图
平面运动包含前后运动、左右运动和旋转运动三个自由度,故移动机器人要实现全方位运动,必须要有三个或三个以上的独立驱动的轮子。四轮机构相对于三轮结构,车体稳定性好且易于控制,四轮以上则结构冗余,故文中采用四轮的结构[9]。移动机器人样机四轮对称放置,采用正交的排布方式,轮1与轮3平行,轮2与轮4平行,组成一个正方形,如图3所示。
不考虑轮子与地面打滑的情况,可得移动机器人的逆运动学方程为:
(1)
式中:ω1~ω4分别为四轮的旋转角速度,rad/s;Vx、Vy和ω分别为移动机器人X轴速度、Y轴速度以及绕中心轴的旋转角速度;Vx、Vy,m/s,ω,rad/s;R为运动学逆矩阵。R表达式如下所示:
(2)
式中:r为连续切换轮的半径,m;l为轮子中心到车体中心的距离,m。
(3)
式(3)可以化简为:
(4)
式中:R+=(RT·R)-1·RT。计算可得:
(5)
由式(5)可得移动机器人的正运动学关系为:
(6)
为了进一步分析连续切换轮在实际运行中的特性,本文设计并制作了四轮全方位移动机器人的控制系统,从整体上研究连续切换轮的特性以及全方位机器人的运动性能。每个轮子采用直流无刷电机单独驱动的方式。电机轴的转速和位置信息通过光电码盘反馈给驱动器。
移动小车采用直流工控主板作为主控制器,型号是ITX-i7415。该工控主板支持Intel i5 CPU,最高2.4 GHz,4 GB DDR的内存。同时支持6个RS232接口,以及2个32 bit/33 MHz Mini PCI 插槽,2个32 bit/33 MHz PCI 插槽。
电机的驱动器采用Copley公司生产的ACJ型无刷直流电机驱动器,电机驱动器之间通过CAN网络连接起来。CAN (Controller Area Network)是一种有效支持分布式控制或实时控制的串行通信网络,具有实时性高、可靠性好等优点,通信速度可以达到1 Mbit/s。
CAN有两种数据通信方式:SDO和PDO。SDO是一种应答式的传输方式,可以实现一对一,一对多数据访问,每个消息都需要一个应答。相对而言,过程数据对象PDO不需要对每个消息生成一个应答,主要用来处理传输实时性要求较高的数据。数据的传输可以是点对点,也可以是广播。由于SDO是一种应答式的传送方式,相对于PDO而言,速度会慢一些。但是,PDO的通信方式需要SDO先行设置。在本系统中,对于需要经常交互的数据,如电机的电流、速度等信息,采用PDO的报文方式,其他数据采用SDO的报文方式。
图4 电控系统框图
上位机(工控主板)通过扩展CAN卡与各个电机驱动器组成CANOpen网络。在CANOpen网络中,上位机作为master,可以实时控制各个电机的运动状态,各个电机驱动器作为CANOpen网络的Slave。同时,电机的速度、位置和力矩等信息可以通过CANOpen网络反馈给上位机。
电控系统的总体框图如图4所示。
图5 上位机软件类的架构
图6 电机转速控制流程图
上位机软件是在Windows平台下开发的,采用Visual C++的编程语言。
上位机软件的整体架构如图5所示,采用具体的类来描述移动小车的各个组成部分。
其中,人机界面类主要负责小车的整体运动情况,包括移动小车各个方向的运动等操作。Device类用于描述NMT网络中各个CAN的节点,包含所有可以连接在CAN网络中的设备。由于电机的驱动器只是一种特殊的CAN设备,所有在类图中电机驱动器类是通过Device类派生出来的。CAN类用于描述CAN数据帧的收发状况。
单个电机在速度模式控制方式下,上位机(工控主板)通过CANOpen网络控制电机的流程如图6所示。
四轮采用连续切换轮的移动机器人的实物如图7所示。移动机器人采用两节12 V铅酸电池串联作为电机驱动器24 V的电源。直流工控主板的电源也是24 V,采用模块电源单独供电,与电机功率部分电源隔离开。
图7 移动机器人照片
根据运动学方程式(6),设置对应的电机转速与方向,试验测试可得移动机器人的整体运动与轮子运动配合的关系图,如图8所示。
图8 整体运动与轮子运动的配合图
本文建立了移动机器人的结构及控制系统的设计,通过分析对比其他控制方法,具有以下优势:
(1)四个轮子采用四个电机独立驱动的方式,控制方便,系统稳定性好。
(2)工业控制板与电机驱动器采用CAN通信的方式,实时性高,信号抗干扰能力强。同时相对于IO直连的方式,连接线少,系统简洁。
(3)从提高实时性和提高通信速率的角度出发,针对CAN网络中不同的数据寄存器采用不同的数据传送方式。对于经常访问的寄存器,如电机电流、速度和位置等信息,采用PDO的方式。对于不经常访问的寄存器,如初始化配置参数等,采用SDO的方式。
(4)现有的移动机器人平台,可以为后续的进一步研究提供基础。