梁伟鄯 侯冰宇
(柳州工学院 信息科学与工程学院,柳州 545616)
随着互联网技术的发展,人们对机器自动化技术的研究不断深入。机器人作为集机械、控制、人工智能等多学科先进技术于一体的自动化装备,一直是人们的研究重点[1]。轮式机器人作为机器人学中较为重要的一类机器人,一直备受青睐。
在实际使用中,全方位移动机器人的控制性能通过其定位系统和导航算法进行考量。全向轮底盘作为机器人的基础运动系统,常用于全国大学生机器人大赛。这项赛事对机器人的灵活性和精准度要求较高。为了满足比赛要求,在全向轮底盘的设计上运用正交码盘和陀螺仪,采用基于Bezier 的曲线路径规划算法,融合梯形加减速和速度分解等算法。
设计需要满足2020 年第十九届全国大学生机器人大赛ROBOCON 赛事需求,即在比赛场地上进行任意位置的路径规划,且底盘运动系统能准确按照设置好的路径运动。比赛场地图,如图1 所示。
图1 比赛场地图
设计总体方案时,系统主要由最小系统主控板、定位模块以及电机驱动等模块构成。定位系统先反馈相对位置给主控板,主控板向电机驱动发送移动命令。电机转动后通过编码器将脉冲值反馈给主控板,主控板根据反馈的脉冲值和定位系统的位置判断是否到达目标点。
2.1.1 电机选型方案
电机选型主要有两种方案:一是无刷电机;二是775 有刷带行星减速齿轮电机。综合可行性和精度指标分析后,选用775 有刷带行星减速齿轮电机。它的优点在于力矩大、易控制、结构相对简单、便于维修、控制精度高、响应快、价格低廉、实用。
2.1.2 编码器选型方案
电机选型主要有两种方案:一是磁编码器;二是光电编码器。综合可行性和精度指标分析后,选用磁编码器。它的优点在于可以提供较高的分辨率,因此可以提供精确的位置和运动信息。此外,它寿命较长,且不需要高精度光栅,降低了安装要求。基于它的工作原理,磁编码器可以实现非接触安装,减少了机械接触的磨损和故障风险。
定位方式选型主要有两种方案:一是传感器定位;二是单边码盘加陀螺仪定位。综合分析可行性和精度指标后,选用单边码盘加陀螺仪定位。它的优点在于定位精度高,安装方便。它可以以原点为参考点,在较短时间内提供一个高精度的相对位置,对机器人工作环境依赖性较小。
研究的全向轮底盘由4 个全向轮组成。实际应用中,考虑实用性和轮子的负载能力,设计如图2 所示的模型。以底盘中心为圆心,4 个全向轮分布在与中心相切的正方形的四角。轮系结构是全方位移动机器人可以进行全向无死角平移的关键。它的轮系结构由大轮边缘和小轮组成[2],可以避免侧滑带来的非完整性运动限制,实现任意角度的平移和自转。
图2 模型3D 建模图
根据机器人实际用途,假设该底盘为刚体底盘,4 个轮组都有独立的电机驱动。运动信息主要通过编码器和陀螺仪获取。陀螺仪固定在底盘水平位置,以获得机器人的自转角度信息[2]。根据底盘移动特点,设计通过每个编码器连接一个小型全向轮来获取轮子的转速信息。
以起始点为原点,建立场地全局坐标系Xw-Yw和机器人自身坐标系Xm-Ym,如图3 所示[2]。自身坐标系原点为底盘的几何中心,δ为轮子的运动方向和机器人的运动方向的夹角,θ为车子自转的角度,xm和ym分别为车体沿横坐标和纵坐标行走的路程,L为4个轮子到底盘中心的距离,v1~v4为4 个电机带动轮子转动的速度。车子本身转动后和全局坐标系的偏差角为θ,因此需要根据θ的变化将自身坐标系转化为全局坐标系。
图3 坐标系及每个轮子的速度分解示意图
将机器人坐标的xm和ym进行正交分解到世界坐标,可以得到
为方便运算,将式(1)转化为矩阵形式,有
机器人位姿θ和自转角速度ω可由陀螺仪数据计算得到,车体横坐标方向和纵坐标方向的速度vxm和vym可由编码器数据计算得到,由此可以计算得到机器人在一个系统采样周期内的位移。
根据底盘中心与4 个全向轮位置的几何关系,得到电机驱动全向轮运动学方程为
将式(3)转化成矩阵形式,得到机器人运动模型为
通过式(4)可得机器人轮子与全局坐标的关联。
通过曼哈顿距离计算两点距离。已知两点之间的距离、目标最大速度,通过路径的速度规划所需要加速距离和减速距离。在达到最大速度前,速度逐步增大,直至最大速度,之后以最大速度匀速运动,在快要接近目标终点时,使速度逐步接近零。梯形加减速规划速度可以极大可能地满足速度快且稳的特性。通过将梯形加减速规划的速度-比例-积分-微分(Proportion-Integral-Differential,PID)算法相结合[3],向全向轮底盘提供快速、稳定的机动性能和制动性能。
经定位方式和距离计算方式只能实现两点之间直线运动,通过贝塞尔曲线优化路径轨迹,使路径由只可以直线移动变为可以沿曲线移动。贝塞尔曲线通过节点和线组成连续的曲线,能够对转角进行平滑处理,缩短部分路径长度,节约直线行驶过拐点的时间[4]。
4 阶贝塞尔的曲线方程为
式中:t为时间;P1~P4为各个顶点坐标值。
当t∈(0,1)时,能生成4 次贝塞尔曲线。曲线上任意一点的曲率K(u)的计算公式为[5]
式中:u为曲线上的任意一点;x'(u)为曲率在X轴方向上的切向量;x''(u)为曲率在X轴方向上的法向量;y'(u)为曲率在Y轴方向上的切向量;y''(u)为曲率在Y轴方向上的法向量。
该底盘主控板选用STM32F103RCT6 作为控制芯片,原理如图4 所示。
图4 主控电路原理
电机驱动采用2 个预驱芯片和4 个N 沟道大功率金属-氧化物-半导体(Metal Oxide Semiconductor,MOS)管构成双H 桥结构,实现对有刷电机的控制。一般有刷驱动需要2 个互补的脉冲宽度调制(Pulse Width Modulation,PWM)波和1 个方向引脚,才能控制电机的正反转和调速。在驱动的输出两端并联一个压敏电阻和一个双向瞬态抑制二极管,可有效抑制电机瞬间停转或者反转时产生的浪涌,防止电流倒灌驱动部分烧毁MOS 管。
软件部分可以分为底盘定位系统、编码器模块和单片机系统。通过定位系统反馈底盘的位置信息,直接通过编码器模块接口将获取的脉冲数值经过处理得到的相对位置信息发送到单片机系统。单片机系统对电机通过电机驱动控制其速度和方向,使底盘高效精准地到达目的地,然后停止运动。
底盘定位系统是机器人导航和控制的重要组成部分。通过定位系统反馈底盘的位置信息,可以实现机器人的自主导航和精确定位。
编码器是一种能够将旋转运动转换为电信号输出的装置。在机器人底盘中,通常采用光电编码器或磁性编码器获取电机的转动信息。
单片机系统是机器人控制系统的核心部分。在机器人底盘中,单片机系统通常负责接收编码器反馈的位置信息,并根据预先规划好的路径进行控制。单片机系统可以通过PWM 信号控制电机的转速和方向,从而控制底盘运动。
全向轮底盘长为1 000 mm、宽为1 000 mm,底盘单个驱动轮半径为75 mm,底盘质量为9.2 kg,在长为10 m、宽为9 m 的区域内。全向轮底盘执行根据比赛路径设定不同规划速度的不同路径。经过大量测试,机器人的路径跟随误差在2.5 cm 以内,位姿跟随误差在0.04 rad 以内,满足实际比赛的需求,如表1 所示。
该全向轮底盘作为机器人的基础运动平台,在参加2020 大学生机器人大赛过程中运动控制效果良好,满足竞赛对于精准度的要求。此外,提出的定位和路径规划可以推动全向移动机器人的发展。