APP下载

智能物流小车机械臂系统设计*

2022-01-14胡振圆王路平孟逸飞王子健

科技创新与应用 2022年2期
关键词:色块舵机运动学

胡振圆,王路平,孟逸飞,王子健

(1.沈阳航空航天大学 航空发动机学院,辽宁 沈阳110000;2.沈阳航空航天大学 工程训练中心,辽宁 沈阳110000;3.沈阳航空航天大学 自动化学院,辽宁 沈阳110000)

随着购物方式的变化,网上购物模式目前已经成为人们首选的方式,同时这也刺激着物流行业迅速发展。但是传统的人工分拣模式以及搬运模式已不能满足物流行业的需求,整个物流行业也逐渐向智能化、自动化发展。此时智能物流机器人应运而生。本文提出了一种用来配合底盘系统进行工作的六自由度机械臂系统,并对其机械结构设计方案、运动学分析、机械臂固定动作组调参、Open MV颜色识别方案以及相关程序算法进行了介绍。

1 机械设计方案

在机械臂整体设计阶段,根据使用要求提出可实施方案,从现有可采用的硬件以及加工方法衡量并综合考虑运动学、动力学以及机械设计的分析方法,敲定设计方案。

机械臂框架作为整个机械臂系统上的骨架部分,起着安装舵机、放置Open MV、布线、承载物块重量的关键作用。合理地设计各个关节的机械结构,不仅可以使整个系统看起来简洁,而且较好的设计还可以简化运动过程,降低系统在后续调参过程中的难度,以及增强系统在工作过程中的稳定性和抗干扰性。图1 为机械臂系统模型结构;图2 为机械臂工程图;图3 为机械臂系统实物。

图1 机械臂系统模型结构

图2 机械臂工程图

图3 机械臂系统实物

2 硬件电路设计方案

智能物流小车机械臂硬件电路主要分为运动执行单元、信息处理单元和信息获取单元三大部分,采用7.4V直流电源为全部单元进行供电。机械臂系统硬件电路结构如图4 所示。

图4 机械臂系统硬件电路结构

2.1 运动执行单元

对于如何驱动机械臂框架结构,经过综合考虑,该机械臂系统选择使用舵机作为执行机构。舵机是一款集成伺服单元,有较高精度的输出、简单的控制、便于与单片机进行通信等优点,适用于角度需要变化或角度需要保持的地方。而该机械臂系统在抓取和放置物品时,各个关节的角度一直在变化,采用舵机可满足使用要求。

2.2 信息处理单元

采用Arduino Mega2560 向该机械臂系统发送执行命令。因为Arduino Mega2560 是采用USB 接口的核心电路板,十分方便与计算机之间进行串口通信,而且具有54 路数字输入输出,适合于舵机这种需要大量IO 接口的系统设计。

在此部分,Arduino Mega2560 一方面与底盘系统上的STM32F103rct6 进行串口通信,用于接收STM32 发送的信息以及向STM32 反馈信息,充当下位机的作用;另一方面用来储存机械臂系统固定动作组,当接收到上位机发送的信号时,执行相对应的动作组。

2.3 信息获取单元

颜色信息通过Open MV 进行获取。Open MV 是嵌入式图像处理系统,其摄像头是一款小巧、低功耗、低成本的电路板,它能轻松地完成机器视觉(machine vision)应用。任务码获取主要运用二维码条形码扫描模块,通过图像智能识别算法,可快速准确地读取纸质或屏幕上的条形码及二维码。

3 运动学分析

机器人仿真技术在六自由度机械臂的设计和研究中具有极其重要意义。Denavit-Hartenberg 模型,简称D-H模型,是在1955 年由Denavit 和Hartenberg 针对机器人系统提出的一种十分简单的建模方法。该建模方法适用于各种形状的机器人,并且早已成为机器人仿真技术中建模使用的标准方法。

通过D-H 模型,对机械臂进行运动学分析,可分为正运动学分析和逆运动学分析。在本文中对此部分不再过多叙述,可参考相关文献。

4 机械臂系统调参

4.1 机械臂固定动作组

机械臂共采用六个舵机(编号a、b、c、d、e、f)驱动。其中,f 舵机控制机械爪开合,e 舵机控制机械爪旋转。因此,实际控制机械臂运动轨迹的为其余四个舵机,a 舵机控制机械臂整体旋转,b、c、d 舵机确定一平面,控制机械臂在该平面内运动,由此可采用圆柱空间坐标。

在b、c、d 舵机确定的平面内,根据设计情况,确定机械臂夹取点的起始点位置、终止点位置和运动轨迹,以及起始点、终止点对应的各舵机转角度数。定点位置可采取实际测量的方式确定,舵机转角的确定首先采用理论计算的方式得到估算值,后采用试测法进行调整。

在完成定点工作后,需确定机械臂运动轨迹。在起始点、终止点之间,各个舵机转过相应的方向和角度,通过线性比例的方式进行角度的加减。若对轨迹有一定的要求,为提高轨迹拟合程度,可将轨迹进行分段,确定每段轨迹的起始点、终止点位置及舵机转角,再通过线性比例的方式进行角度加减,实现运动轨迹的拟合。分段数越多,每段轨迹长度越短,拟合程度越高。由于模拟量舵机无法实现完全的同步转动,只得通过缩小单步转动角度,同时进行插补运算的方式进行轨迹点的调整和轨迹的拟合。

4.2 颜色识别方案

Open MV 上的机器视觉算法包括寻找色块、人脸检测、眼球跟踪、边缘检测、标志跟踪等。本系统主要运用寻找色块算法和寻找色环算法。首先是寻找最大色块算法,背景中存在很多杂质,为了降低杂质的影响,其中还加入了降噪算法,可以使识别色块更准确。色块颜色的阈值采用Lab,Lab 颜色空间中,L 代表亮度,a 的正值代表红色,负值代表绿色;b 的正值代表黄色,负值代表蓝色。与RGB 和CMYK 色彩空间不同的是,Lab 颜色是被设计来接近人类视觉的。设定一个颜色的阈值结构为(minL,maxL,minA,maxA,minB,maxB)。在判断色块是否为指定物块之后,Open MV 与Arduino 之间通过字符串进行通讯,实现机械爪的抓取或机械臂判断下一个位置。当机械臂接收信号放下物块之前,首先通过Open MV 来判断是否为正确的颜色,如果正确,会标记出中心坐标,并将其发送给Arduino,之后Arduino 控制机械臂进行放置。

在测试过程中发现,Open MV 有一个很大的弊端是对光的变化异常敏感,光强的变化对色块的识别准确率有巨大影响,因此在后续改进中将使用Open CV 代替Open MV 进行色块识别。Open CV 拥有丰富的图像处理和计算机视觉领域通用的算法,并且支持机器学习和深度学习。其中机器学习库侧重于统计方面的模式识别和聚类,深度学习库侧重视觉任务。

在后续改进中,将会运用Open CV 中的Tensorflow模型来对色块的颜色及形状进行分析和训练。多次拍照,长时间的学习可以更好地提升训练结果。运用Open CV后,可确保系统在进行色块识别工作时光线对其影响大大减弱,识别将更加准确和迅速。

5 结束语

本项目是基于ARDUINO,采用C 语言进行编程,通过Open MV 进行颜色识别的六自由度机械臂系统。本文根据智能物流小车的使用要求,对物流小车的机械臂系统进行了机械设计和硬件电路设计,为准备物流小车比赛以及学习自动化控制的人群提供参考。

猜你喜欢

色块舵机运动学
基于MATLAB的6R机器人逆运动学求解分析
基于校验信息隐藏的彩码抗篡改攻击技术*
工业机器人在MATLAB-Robotics中的运动学分析
含齿隙弹载舵机的全局反步模糊自适应控制
基于D-H法的5-DOF串并联机床运动学分析
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
阎先公和他的瓷板色块泼彩画
基于运动学原理的LBI解模糊算法
三个色块