杨家武 刘林 王琢 张铎
摘 要: 为了保证移动机器人的机动性和灵活性,提高登台越障运动的能力,设计了一种基于Mecanum轮的轮腿式全方位移动机器人。采用M3508直流无刷减速电机和4个Mecanum轮相配合的方式,实现机器人的全方位运动;通过同步带传动,完成前后辅助腿的伸缩运动,达到登台越障效果;采用STM32F405RGT6单片机控制中心板驱动底盘驱动电机和辅助腿伸缩电机,完成指控动作;利用串级PID控制电机,减少稳态误差,提高系统稳定性。结果表明,基于Mecanum轮的轮腿式全方位移动机器人机动性强、登台越障能力相对于普通移动机器人得到显著提高。
关键词: Mecanum轮; 轮腿式全方位移动机器人; STM32; 串级PID; FreeRTOS; 实时嵌入式系统
中图分类号: TN99?34; TP242 文献标识码: A 文章编号: 1004?373X(2020)05?0155?04
Research and design of wheel?legged omni?directional
mobile robot based on Mecanum wheel
YANG Jiawu, LIU Lin, WANG Zhuo, ZHANG Duo
(Northeast Forestry University, Harbin 150040, China)
Abstract: In order to ensure the maneuverability and flexibility of mobile robot and improving the ability of stepping platforms and crossing obstacles, a wheel?legged omni?directional mobile robot based on Mecanum wheel is designed. The M3508 DC brushless gearmotor combined with 4 Mecanum wheels is used to realize the omni?directional mobile of the robot; the front and rear auxiliary legs stretch out and draw back by synchronous belt transmission to step platforms and cross obstacles; the STM32F405RGT6 single chip control center plate drive, chassis drive motor and the motor for auxiliary legs stretching out and drawing back are used to fulfill the directing or controlling action; the cascade PID control motor is used to reduce the steady?state error and improve the system stability. The results show that the wheel?legged omni?directional mobile robot based on the Mecanum wheel is of highly maneuverability and the ability of stepping platforms and crossing obstacles are significantly improved in comparison with the ordinary mobile robot.
Keywords: Mecanum wheel; wheel?legged omni?directional mobile robot; STM32; cascade PID; FreeRTOS; real?time embedded system
0 引 言
在移动机器人系列中,具有在平面内可以实现前后移动、左右移动及绕机器人中心旋转的特征,则称为全方位移动机器人。在工作空间狭窄有限,需要移动机器人具有很高机动性的场合,全方位移动机器人具有较强的适用性和实用性[1?2]。目前应用较为广泛的全方位移动方式分为:Mecanum轮式全方位移动机器人、全轮偏转式全方位移动机器人及球轮式全方位移动机器人[3?4]。其中,Mecanum轮式全方位移动机器人因其单轮系只需要一个驱动电机,而整个全方位移动底盘只需要成对的单轮系进行组合安装,通过控制每个轮系的转动速度及方向就可以组合出任意方向的移动及原地旋转,具有整体结构紧凑、安装方便、控制灵活、反应迅速的特点。
Mecanum轮由框架式的轮毂以及多个被动的辊子装配而成,其中,辊子与轮毂轴线成一定角度均布安装[5]。在运动过程中,辊子始终与地面接触,这对最外层的包胶层磨损比较严重,而且多个均布的辊子之间需要一定间隙才能保证单个辊子被动的流畅性,这些因素限制了Mecanum轮全方位移动机器人的使用场合大多为结构化地形,除了平整的地面,小坡度的斜面、小间隙的沟壑以及一定高度的台阶其均能通过[6]。但超过半轮径高度的台阶型地形,普通的Mecanum轮底盘系统较难进行越障通过。本文研制的基于Mecanum轮的轮腿式全方位移动机器人,既能满足在结构化地形进行高机动性的全方位移动,也能进行两倍轮径高度内的越障运动。
1 机械结构设计
1.1 Mecanum轮全方位移动底盘设计
Mecanum轮最早是由瑞典麦克纳姆公司提出的,被动辊子与轮毂轴线多以呈45°角安装,分为左旋轮和右旋轮两种。在设计使用中多以成对安装形式出现,在此基础上,想要实现全方位运动,每个车轮需要独立的驱动来保证相对独立的转速及转向变化[7]。由于本文的研究设计针对于结构化地面,所以在移动底盘的设计中采用四轮底盘,整个移动底盘及伸缩辅助轮腿所需要的支撑框架均由方形空心铝方管焊接而成,底盘驱动电机座、辅助轮腿伸缩电机座、电源模块安装座等,通过在框架上打孔,利用螺栓连接进行整体样机的安装。
M3508直流无刷减速电机是专门为中小型移动平台和机器人等量身打造的高性能伺服电机,可搭配C620电调实现正弦驱动,相比传统方波驱动具有更高的效率、机动性和稳定性。本移动底盘选用的减速箱减速比为19[∶]1的M3508作为驱动电机,搭配的Mecanum轮是一款直径为152.5 mm的45°全向轮,轮毂由钣金件焊接而成,每个轮子安装有16个橡胶小棍子,中心有6个直径为5 mm的安装孔位均布在直径为45 mm的圆周上,左右中心厚度为28 mm。
1.2 辅助轮腿式结构设计
Mecanum轮式移动底盘在微弱不平的地面运动时,可通过增加减震结构使各轮与地面保持良好的接触性[8]。在面对超过轮半径的垂直障碍时,全方位移动底盘很难完成登台运动,而在进行较高垂直度的越障运动时,腿式结构有其明显的优势[9]。本文设计制作的轮腿式全方位移动机器人,其腿结构以伸缩辅助形式存在,结构示意图如图1所示。辅助腿式结构分为前后两个部分:其中,前辅助腿安装有两个主动橡胶轮,驱动电机为RM2006,减速箱的减速比为96[∶]1;后辅助腿安装有两个被动橡胶轮。前后辅助腿分别安装在全方位移动底盘的前立滑轨和后立滑轨上,在滑轨上的直线运动分别用两个M3508电机作为动力源,采用同步带传动的方式实现竖直方向的伸缩运动。以底盘Mecanum轮圆周轮廓线最低点组成的平面为参考面,在此参考面的法线方向上,前辅助腿的运动范围为0~345 mm,后辅助腿的运动范围为-280~65 mm,可实现最高345 mm的登台越障运动。机器人的样机如图2所示。登台越障过程示意图如图3所示,下台阶运动为其反过程。
2 电路系统设计及实现
2.1 总体框图
在设计电路时尽量使其简洁,减少元器件的数量,缩减PCB电路的面积。对电路进行详细的分析后,精简电路,对器件进行合理的布局排列和走线。电路設计思路框图如图4所示,控制器采用单片机STM32F405RGT6,通过中心板向底盘驱动电机及辅助腿伸缩电机提供24 V的直流电源和CAN信号,从而达到控制电机的目的。
2.2 硬件电路设计
主控板是整个全方位移动机器人电路部分的核心,主控板集成电源模块、MCU模块、CAN通信模块、串口模块、遥控器接收模块等重要模块,每个模块扮演着不可替代的作用。
2.2.1 MCU模块
单片机采用STM32F4系列的STM32F405RGT6芯片,基于ARM Cortex?M4的STM32F4系列单片机采用意法半导体的NVM工艺和ART加速器,在168 MHz的工作频率下通过闪存执行指令时可实现210 DMIPS的性能[10]。高达1 MB内存,而且性价比极高。通过对STM32F4系列芯片的了解,选用STM32F405RGT6芯片,此芯片含有51个GOIO口,16个ADC通道,10个定时器等,并且此单片机的接口类型可以复用为CAN,I2C,I2S,SPI,USART,丰富的外设接口足以满足需求。
2.2.2 电源模块
电源模块对于一个控制系统来说极其重要,一个稳定的电路关系到整个系统是否能够正常工作,因此在设计控制系统时,选好合适的电源模块尤为重要。整个系统采用24 V直流电源TB47供电,而MCU模块、CAN通信模块等采用的是3.3 V供电,遥控器接收模块、串口模块等采用5 V供电。
采用由TI公司最新推出的一款DC/DC开关电源TPS5430转换芯片组成其外部电路如图5所示。TPS5430具有良好的特性,高电流输出和高转换效率使其具有良好的稳压功能,并且内部有过流保护及热关断功能,这些优质的特性更好地保护了TPS5430,从而能够更稳定的输出电压,从而为所需要的模块供电。再采用AMS1117?3.3 V,AMS?1117是一种输出电压为3.3 V的正向低压降稳压器,适用于高效率线性稳压器,其外围电路十分简单。通过它将电压降为3.3 V,从而为单片机供电。
2.2.3 CAN通信模块
轮腿式全方位移动机器人底盘的4个驱动电机M3508和2个辅助腿伸缩电机M3508,采用两路CAN总线网络进行控制,通过遥控器向电机电调发送高八位和低八位字节从而驱动电机的转动,而CAN总线网络主要挂在CAN_H和CAN_L上,各个节点通过这两条线实现信号的串行差分传输。为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120 Ω的终端电阻。而为了实现CAN通信,就要通过CAN收发器实现单片机和电机电调之间的CAN通信。采用MAX3051收发器,电路如图6所示。
3 软件设计
3.1 总程序控制流程
轮腿式全方位移动机器人系统的主程序控制部分程序流程图如图7所示,其主要实现模块通信、数据解析、电机控制以及状态显示。首先,片内资源初始化;启动串口接收任务,监听片内串口状态,并启动DMA自动传输通过串口传递的信息,在串口空闲中断中打包投递到串口解析的邮箱;启动串口发送任务,监听串口发送邮箱内容,当有发送内容投递过来时,调用DMA自动发送信息到相应串口;启动解析模块,监听串口解析邮箱,当有内容是进行解析并更新相应执行机构的状态;启动电机控制模块,通过读取电机状态与目标设定值,调用PID运算函数完成电机控制量的计算,并投递到相应的串口发送邮箱,等待被发送任务发送;启动显示模块,通过读取当前机器人的状态,翻译成相应的灯信号,控制LED相应的I/O完成显示;最后启动任务调度器,进行任务调度并运行。
3.2 软件总体结构
轮腿式全方位移动机器人软件部分的总体结构主要包含通信模块、数据解析模块、电机控制模块、显示模块。
3.2.1 通信模块
由于整个系统执行任务复杂,执行机构多,所以,绝大多数执行机构的驱动并没有直接集成在主控电路板上,而是单独封装在独立的驱动单元上。因此,控制电机与其他执行机构的最终控制方式则是以发送命令的方式。因此,通信模块主要负责封装统一的接口,自动接收总线上的命令与通过不同的协议发送控制命令到不同的总线上。
3.2.2 数据解析模块
系统含有不同种类的执行器,每种执行器反馈的协议各异。为了方便主程序的调用,数据解析模块则主要负责根据不同执行器种类以相应的协议解析执行器反馈的数据,并对主程序提供统一的接口。
3.2.3 电机控制模块
独立单元往往只能进行电机的驱动方式,而没有运算功能。电机的控制一般大致分为位置控制与速度控制两类,其控制率采用串级PID控制[11]。轮腿式全方位移动机器人电机又分为底盘驱动电机、辅助腿伸缩电机、辅助轮驱动电机等,每种电机由于型号不同,执行任务不同,所以控制参数也不同。電机控制模块则是将每个物理的电机虚拟化成一个统一的对象,每个对象独享一块内存,保存该电机的控制参数与运行状态,并在适当的时候进行PID控制运算生成控制命令输送给通信模块,并从数据解析模块获取电机当前的运动状态。通过封装成统一的对象,使得主程序只需要更改每个对象的目标位置、目标速度就能够使得实体电机完成相应的动作。
3.2.4 显示模块
为了直观地了解全方位移动机器人当前的运行状态,在程序中设计了能够表示机器人当前状态与提示问题的LED,在运行过程中将会通过不同闪烁频率、不同颜色、不同位置的LED状态提示当前的运动情况与可能存在的问题。
程序框架采用FreeRTOS实时嵌入式系统对每个模块进行调度。简化了程序设计难度,能够通过增加任务的方式完成复杂控制过程,通过信号量与邮箱的方式完成各个模块的同步与通信,通过优先级设定与内存管理充分调用单片机的片内资源,在不增加编程复杂度的条件下尽可能地完成更复杂的控制方式。
4 结 语
本文着重介绍了基于Mecanum轮的轮腿式全方位移动机器人的设计方案,在结构上采用增加辅助伸缩腿式机构,实现最高可达两倍轮径的自主登台越障及下台运动。整体框架的搭建采用氩弧焊完成,大幅降低了整个机器人的研制成本,本文研制的轮腿式全方位移动机器人为移动机器人的越障提供了一种可行的解决方案。
注:本文通讯作者为王琢。
参考文献
[1] 贾茜,汪木兰,刘树青,等.全方位移动机器人研究综述[J].制造业自动化,2015,37(7):131?134.
[2] 周卫华,张德发.四轮移动机器人平台的设计与实现[J].电气自动化,2018,40(5):10?12.
[3] 付宜利,李寒,徐贺,等.轮式全方位移动机器人几种转向方式的研究[J].制造业自动化,2005,27(10):33?37.
[4] 王兴松.Mecanum轮全方位移动机器人技术及其应用[J].机械制造与自动化,2014,43(3):1?6.
[5] 仇宇文,温浩凯,利圣佳,等.基于Mecanum轮的全方位运动平台的构建与分析[J].机械工程与自动化,2017(5):25?27.
[6] 王一治,钱晋武,常德功.不平地面上Mecanum轮全方位系统运动学通用模型[J].机械工程学报,2009,45(9):77?81.
[7] T?TH F, KRAS?ANSK? P, GULAN M, et al. Control systems in omni?directional robotic vehicle with Mecanum wheels [C]// 2013 International Conference on Process Control. Strbske Pleso: IEEE, 2013: 516?521.
[8] 蒋澄灿,芮延年.不平路面全方位移动机器人智能控制技术的研究[J].中国科学(技术科学),2017,47(5):463?471.
[9] 朱阳洋,朱新云,郑园成,等.基于Mecanum轮的全方位越障碍小车设计[J].科技经济导刊,2018,26(24):9?10.
[10] 李祥,崔昊杨,皮凯云,等.基于STM32的变电站巡检机器人系统设计[J].现代电子技术,2017,40(17):150?153.
[11] 田琦,张国良,刘岩.全方位移动机器人模糊PID运动控制研究[J].现代电子技术,2009,32(5):131?133.