基于麦克纳姆轮的物流机器人设计与技术研究
2024-01-20严远斌宋蕾余继鹏田耀鹏
严远斌 宋蕾 余继鹏 田耀鹏
关键词:麦克纳姆轮;视觉识别;物流机器人;机械臂
中图分类号:TP242.6 文献标识码:A
0引言
物流是现代供应链管理中的一个关键环节,人们对自动化物流系统的需求不断增加。为了满足这一需求,智能物流机器人越来越受关注,其不仅可以提高物流效率,还可以减少劳动力成本,提供更快速和精准的物流服务。传统物流机器人通常采用差动轮底盘,虽然它们可以在直线上移动,但在狭窄空间中导航困难,且需要进行频繁的转向操作。
为了克服这些问题,本文引入了共轴麦克纳姆轮底盘,这一底盘结构允许机器人在任意方向上自由移动,而无须复杂的转向动作。引入这一技术旨在开发一种具有卓越机动性和导航能力的物流机器人,以应对不断变化的物流环境。本文将详细介绍机器人的系统设计、数学建模、视觉识别和导航算法。
1系统设计
1.1机械设计
机器人底盘采用共轴排布的4个麦克纳姆轮,这些轮子以统一转轴的形式安装在底盘。每个麦克纳姆轮都有多个滚动轮,可以独立驱动。这种配置允许机器人在任意方向上自由移动,包括前进、后退、左右移动和旋转。麦克纳姆轮的尺寸和材料的选择,对机器人的性能至关重要。通常,轮子的直径和材料会影响机器人的载重能力、稳定性和耐久性。轮子通常采用高强度的橡胶或聚合物材料,以提供良好的抓地力并減少地面磨损。
麦克纳姆轮排布对机器人底盘运动的稳定性至关重要。如图1a所示,对横移运动过程中的麦克纳姆轮进行受力分析,排布不当的4个麦克纳姆轮会出现旋转力矩,导致在进行横移运动时底盘发生旋转。而经过合理排布则可以将麦克纳姆轮的垂直分力抵消。因此,共轴麦克纳姆轮底盘应当使用的排布方式如图1b所示。
1.2硬件设计
机器人硬件零部件和供应商如表1所示。主控制单元是机器人的大脑,采用配备了i7处理器的Intel NUC工控机作为决策核心,负责执行导航算法、路径规划、感知数据处理和任务控制;此外搭配STM32F407核心板作为执行器核心,负责协调中间通信和控制电机实现决策执行。轮组驱动电机采用RoboMaster M3508减速直流电机,配备定制FOC(磁场定向控制)电调,最大持续功率为150 W,持续扭矩可达2.8 N.m。每个电机配备有编码器,可精准实现位置和速度控制。4个底盘电机都通过CAN(控制器局域网总线)通信与核心板进行信息交互,该核心板还配备了IMU(惯性测量单元),可通过状态估计较准确地获取机器人的位姿。
1.3软件设计
控制相关的软件必须足够高效才能支持较高带宽的输入信息,因此所有软件都是用C++编写的。此外,ROS(机器人操作系统)框架用于高层通信。卡尔曼滤波器使用IMU、电机编码器和雷达信息完成系统的状态估计。估计状态信息与其余所需的信息都反馈到控制器。控制器架构如图2所示,控制器由位置控制器、稳态控制器和云台控制器3个部分组成。位置控制器驱动机器人运动到指定位置;稳态控制器控制机器人保持自平衡;云台控制器搭配视觉识别并驱动机械臂,完成物流的智能取放。
2数学建模
线性二次型最优控制用于设计线性动态系统的最优控制器,以使某个性能指标最小化。控制系统的设计基于状态空间方程,并通过最小化一个线性二次型性能指标来确定控制输入。
2.2刚体模型
为了明确物理意义,便于数学推导,在建立系统的运动学和动力学方程时,忽略一些次要因素,做出如下假设:①地面与驱动轮之间的摩擦与驱动轮速度成正比,同时忽略静态摩擦力;②忽视电机动力学;③忽略电极电枢绕组的电感;④忽略系统延时;⑤所有连杆与主体均是刚体。
模型由3个主体组成:2个轮子和1个倒立摆体,包含机体所有物质组成的质量、长度和惯性等物理特性。依据动力学和物理特性可以分别推导得出机器人动能和势能,再由下式可得出拉格朗日函数(£):
3视觉识别
3.1数据集
依靠Python爬虫获取数据集、依靠You-GET获取视频,之后使用OpenCV以帧为单位将其拆分成图片。使用检测程序和ROI(region of interest,感兴趣区域)对数据集进行精细化过滤和筛选。对于数据集,使用LABELMG(一种标注工具)开源组件,人工标注一部分先进行训练以得到初步模型,再使用得到的模型对数据集进行二次自动标注。
3.2图像处理
使用海康威视相机获取图像,格式为YUYV。相机开发部分的代码为海康威视官方的OpenCV开发程序。获取到的图像通过fpush函数保存在结构体里。图像预处理部分采用的传统流程包括图像颜色通道相减、二值化处理、形态学处理、查找轮廓。与以往不同的是,颜色通道相减的功能是通过指针来实现的,这在一定程度上可节省时间、加快运行速度。
处理过程中根据颜色特征对原始图片进行色彩通道分离,在此基础上进行二值化处理得到二值图像并对图片进行形态学操作以排除部分噪声干扰、完成区域联通。利用Findcontours函数取得处理后结果轮廓。对轮廓初步筛选后进行拟合返回,其中包含识别物体的基本信息。
3.3位置解算
位置解算主要为通过SolvePnP函数测量已经匹配好的物体与机械臂之间的距离。相机的标定文件由MATLAB中的相机标定程序完成。除了SolvePnP函数,在距离较远时,还会使用小孔方式测距。通过计算可将物体与机械臂的位置转换成云台与机械臂的运动角度,再将解算后的信息输入到云台控制器。
4导航算法
GMapping(基于网格映射的地图构建)是一种用于构建环境地图的概率机器人地图建模算法,通常用于移动机器人和自主导航系统,其基于激光传感器数据的SLAM(同时定位与地图构建)算法。其主要目标是通过分析机器人的传感器数据,特别是激光扫描数据,来建立环境的网格地图,同时定位机器人在该地图中的位置。
机器人通过ROS接口从中获取激光雷达和IMU的数据,IMU传感器获取数据的帧率为100Hz,激光雷达获取点云数据的帧率为10 Hz。由于激光雷达完成一帧点云的扫描需要一定时间,而在这段时间内机器人会发生运动,导致获取到的点云数据缺乏一致性,被称为点云畸变。在实际应用中,需要对点云进行去畸变处理。所以在每次接收点云数据之前,先利用IMU的数据进行机器人的状态递推,在接收到点云数据之后,再利用递推得到的状态(旋转和平移)对点云进行畸变去除,然后将去除畸变后的点云与地图进行匹配,最后进行IEKF(迭代扩展卡尔曼滤波器)的更新。
选取一个在停车场中通过Livox Avia雷达采集的点云和IMU数据集以及该停车场的地图来测试定位算法,数据集中激光雷达数据的帧率为10 Hz,IMU数据的帧率为200 Hz,时间跨度为800 s。因为停车场和物流仓库都是高度结构化的室内环境且存在一定对称性,所以能够较好地验证算法的可行性。
在给定数据集的粗略位姿后,进行位姿的初始化,初始化结果如图4所示。可以看出当前帧的点云与地图具有很好的重合度,代表位姿初始化成功。通过进行多次仿真并对每次记录的数据分别计算偏航角误差的最大值、偏航角的均方根误差、位置距离误差的最大值以及位置距离的均方根误差,发现最终的评价结果满足设计的指标要求。
5结论与展望
本文设计了一款基于共轴麦克纳姆轮的智能物流机器人,该机器人采用了共轴麦克纳姆轮技术,搭配视觉识别和SLAM导航定位算法,能够实时获取各类传感器数据,并且对周围环境进行感知和运动。未来,随着共轴麦克纳姆轮技术的不断发展和创新,还会出现更先进的感应技术、更强大的人工智能和更灵活的机器人设计,这些都将进一步提高物流效率和可持续性。随着技术的不断演进,从生产线到医疗保健,从城市交通到危险环境,智能物流机器人都具有广泛的应用前景。