刘相权,张万杰
(1.北京信息科技大学 机电工程学院,北京 100192;2.北京六部工坊科技有限公司,北京 102308)
机器人技术基础课程中包括串联机器人、并联机器人和移动机器人的教学内容,其中运动学分析是各种类型机器人的主要教学内容。为满足机器人技术基础课程的教学需要,开发了该模块化移动机器人底盘实验平台[1-2]。
移动机器人底盘实验平台采用模块化设计,如图1、图2 所示,包括1 个四轮底盘、1 个三轮全向底盘、4个伺服电机、1 个锂电池、4 个麦克纳姆轮、4 个橡胶轮、3 个全向轮、1 个控制器、8 个红外测距传感器和6个灰度传感器。
图1 四轮底盘实验平台
图2 三轮底盘实验平台
各模块之间采用磁力拼装接口设计,装配时,无需螺丝,瞬间固定。拆卸时,只需定向稍加外力,即可解锁。这样就减少了螺丝的拆装时间,在有限时间内可以对底盘构型进行快速迭代。
移动机器人底盘实验平台主要动力源为伺服电机模块。伺服电机模块采用进口直流电机,电机额定功率20 W,光电编码器闭环控制,在有效负载内能够保持匀速运动。
如图3 所示,移动机器人底盘配备4 个伺服电机模块,电机模块供电接口和通讯接口集成在1 个航插接口。电机模块使用RS485 总线通讯,理论上可以挂载上百个执行单元。电机模块提供2 个航插接口供多个模块总线级联,并配置1 个双色LED 指示通讯状态。
图3 伺服电机模块
移动机器人底盘实验平台配备了1 个24 V DC+3.5 Ah 的锂电池模块,如图4 所示。整个系统工作从电池模块取电。
图4 电池模块
移动机器人底盘实验平台中的控制器功能高度集成,具有4 路IO 输入、8 路IO 输出并配合LED 指示灯状态显示,15 路12 位精度的ADC 接口,4 路频率和占空比可调的PWM 信号输出接口,所有以上接口均布置在控制器面板,如图5 所示,使用者操作起来一目了然。控制器侧面布置有USB 转UART 接口,可以通过1根数据线实现与上位机通讯,另外控制器的RS485 总线接口集成在控制器另一侧面的2 个航插上,用于连接伺服电机模块。
图5 控制器
控制器使用Keil uVision4 编译环境,目前已为控制器编写了功能完善的服务程序模板,并将所有功能函数做了封装,提供方便调用的API 接口,并针对所有功能都有对应的Demo 程序,使初学者也能够很快地上手。如果熟悉C 语言,就可以直接调用这些函数接口编写程序,不用费心编写调试单片机底层程序,将注意力放在机器人上层控制算法上。
移动机器人实验平台提供2 种底盘和多种型号轮子。可以通过组合伺服电机、电池、控制器、不同底盘和不同轮子实现四轮差动、三轮全向及四麦克纳姆轮全向平台,如图6—图8 所示[3]。
图6 四轮差动底盘
图7 三轮全向底盘
图8 四麦克纳姆轮全向底盘
依托上述移动机器人底盘实验平台,可以开设若干实验,见表1。
表1 实验名称
下面以实验12 为例,对麦克纳姆轮全向底盘进行运动学分析,并在此基础上编程实现运动控制。
如图8 所示,麦克纳姆轮全向底盘是由4 个独立的麦克纳姆轮驱动单元呈四边形排布在底盘上,每个麦克纳姆轮的轮面上排布了一系列的小轮毂,小轮毂的轮轴与主轮轴的角度为45°。通过这4 个麦克纳姆轮的协作配合能够实现360°全方向移动和旋转,其中全方向移动又可以分解成平面二维方向上的速度矢量,所有的运动状态都可以看成这几种运动模式的复合状态。下面分析这几种模式的运动学逆解,从预期进行的运动状态去推算每个电机应该输出的转速[4]。
分析过程中,以机器人的正前方为X 轴正方向,机器人的左侧方向为 Y 轴,机器人的正上方为Z轴,旋转方向遵循右手定则。
为了便于描述轮子在地面接触点产生的速度,如图9 所示,本节中的所有速度分析图都是从下方面向车体底部的视角去分析。
图9 速度分析视角
麦克纳姆轮全向底盘在水平X 轴方向上的移动又分为前进和回退。这2 种模式只是速度方向不同,本质是一样的,这里仅以前进状态为例进行分析。
首先,分析单个轮子。
如图10 所示,左图是麦克纳姆轮侧视图,主要体现主轮速度关系;右图为麦克纳姆轮的俯视图,主要体现小轮毂对地产生速度与主轮速度的关系。
图10 中的变量定义见表2。
图10 单个轮子的运动分析
表2 单个轮子的变量定义
从图10 中可以得出关系式
前进时的运动模型图如图11 所示。
图11 中的变量定义见表3。
表3 X 方向移动时变量定义
从图11 中可以得出关系式
图11 X 方向移动时的运动模型
νr=νx×cos45° 。
联立前面单个轮子的关系式
可以推出关系
根据前进运动的模型分析图中的速度方向。可以得出麦克纳姆轮全向底盘在水平X 轴方向移动时4个轮子的转速关系
同理,可以得出麦克纳姆轮全向底盘在水平Y 轴方向移动时4 个轮子的转速关系
麦克纳姆轮底盘的旋转模式又分为顺时针和逆时针,这2 种模式只是速度方向不同,本质是一样的,这里仅以机器人逆时针状态为例进行分析。需要注意的是,机器人逆时针旋转,从底盘下方看上去是顺时针旋转。模型分析如图12 所示。
图12 中的变量定义见表4。
表4 旋转时的变景定义
由图12 可得知关系
图12 旋转时的运动模型
为方便计算,先将cos 展开
将这个展开式代入原来的等式
由之前单个麦克纳姆轮的速度解析,有
将其代入刚才的关系式
考虑轮子的转动方向,可以推出4 个轮子的转速关系
前面提到过,麦克纳姆轮全向底盘所有的运动状态都可以看成上述3 种运动模式的复合状态,所以最后4个轮子的转速的关系式即为上述运动模式的速度和
式中:只有νx、νy和ωz是未知数,其他都是已知。由此实现了依据指定的νx、νy和ωz来解算4 个轮子的转速。
下面通过实验来验证公式(1)的正确性,实验的内容是让机器人按照0.1 m/s 的速度向前直行10 s,查看其是否走了1 m 距离。其他运动模式的实验可以在这个例子上进行扩展。编写的main.c 文件源代码如下[5-6]:
将机器人底盘实验平台放置到地上,在平台前侧边缘投影的地面上画1 条标记线作为起点。打开控制器的电源,稍等片刻,机器人开始向前移动。计时10 s后,机器人会停止。此时再在平台前侧边缘投影的地面上画1 条标记线作为终点。经测量,机器人移动的起点和终点距离在1 m 左右。
如 果 将Mecanum (0.1,0,0) 替 换 为Mecanum(0,0.1,0),每次上电,机器人都会侧1 m 左右。如果将Mecanum(0,0.1,0)替换为Mecanum(0,0,(2*Pi)/10),每次上电,机器人都会原地旋转1 周左右。
根据机器人技术基础课程的实验需求,本文设计开发了采用磁铁吸合的可快速拆装的模块化移动机器人底盘实验平台,并通过对四麦克纳姆轮全向底盘运动学分析和实验测试验证了实验平台的可行性、可靠性。
基于该实验平台,学生可以进行多项实验,一方面可以增加学生的学习兴趣,提高学生的综合设计能力和创新实践能力;另一方面为学生今后参加创新实践项目和学科竞赛打下坚实基础。