基于Arduino的智能物料搬运机器人设计及样机试验论文

2024-05-24 14:46:12 来源: 作者:zhoudanni
摘要:物料搬运机器人的研究起源于20世纪60年代,Uni‐mation公司研制并生产了用于搬运作业的两款机器人:Versatran机器人与Unimate机器人,20世纪70年代,由于半导体和微处理器技术的发展,运动控制与电机驱动技术的成熟,使得移动机器人更加灵活且具有实用性[2]。1973年,瑞典VOLVO公司开始在自家KALMAR汽车装配厂中广泛使用AGV参与工作。在装配作业过程中,机器人可以灵活方便地实现物料搬运,显著地提高了生产效率[3]。
摘要:针对当前生产制造中物料分拣搬运任务的自动化需求,设计出的一款智能物料搬运机器人,分别从机械结构设计、硬件设计、程序设计3个方面对机器人进行研究分析。基于Arduino Mega2560芯片的主控制系统,通过二维码扫描模块获取待搬运物料信息,信息通过串口通信传入主控制器后将搬运信息显示在液晶屏上,机器人通过寻迹到达所需物料区域,通过OpenMV识别搬运物料,将所需物料位置发送给主控制器,控制舵机控制板使机械臂完成对应物料的抓取,运送到物料放置区,识别放置位置并进行物料放置。底盘采用4个麦克纳姆轮,通过灰度传感器,实现机器人的自主运动。根据结构设计,搭建智能物料搬运机器人物理样机,用物理样机进行实验室物料搬运试验,验证了物料搬运过程的稳定性和有效性。
关键词:Arduino,物料搬运,样机试验
0引言
随着人工智能、机器深度学习、网络移动通信技术、传感器控制技术、电子学和计算机及软硬件等现代科学信息技术的快速进步,推动机器人技术迅速发展。物料搬运作为工业生产的重要组成部分,其智能化的实现和研究格外重要[1]。
物料搬运机器人的研究起源于20世纪60年代,Uni‐mation公司研制并生产了用于搬运作业的两款机器人:Versatran机器人与Unimate机器人,20世纪70年代,由于半导体和微处理器技术的发展,运动控制与电机驱动技术的成熟,使得移动机器人更加灵活且具有实用性[2]。1973年,瑞典VOLVO公司开始在自家KALMAR汽车装配厂中广泛使用AGV参与工作。在装配作业过程中,机器人可以灵活方便地实现物料搬运,显著地提高了生产效率[3]。在20世纪80年代末,由于计算机技术的大幅发展以及新型传感器的成功研制,移动机器人的研发也在学术界引发了浪潮。刘天宋等[4]构建了基于视觉的机器人物料搬运系统,提高工业机器人的物料搬运精度。刘昊等[5]基于物联网的物料搬运机器人,解决了搬运物流体系中同时精准地搬运多个物料的问题。张余龙等[6]设计一款智能物料搬运机器人满足小型轻型物料搬运的市场需求。赖刘生[7]研究了基于PLC与工业机器人的物料输送系统,解决了传统设备稳定性差、自动化程度低的问题。王磊等[8]构建了基于Unity3D引擎的机器人物料搬运VR仿真系统,实现了虚拟现实漫游场景搭建。李玉寒等[9]设计了一种基于颜色识别的智能物料搬运机器人,实现对不同颜色物料的搬运与放置。潘建霞等[10]以STC89C51单片机作控制核心,配合红外传感器、舵机、颜色识别等元件及供电装置构成智能物料搬运小车。马甘霖等[11]设计了一套智能物料搬运机器人,可以提高机器人抓取物料精准度。张长勇等[12]研究了一种基于模糊迭代学习的精确定位方法,解决了移动机器人搬运物料过程中的定位问题。杨宗林[13]设计实现了物料搬运移动机器人与智能生产线的系统集成。彭天然[14]设计了一款具有全方位移动能力的物料搬运移动机器人。吕应柱[15]设计了一种新型自动化物料搬运机器人,能够使物流箱等的搬运实现自动化。谢向东等[16]使用S120控制器作为伺服控制器,以及伺服系统调试软件SOUT,使该系统调试起来非常方便快捷。张立勋等[17]完成了高速物料搬运机器人的实时控制系统研制。董玉红等[18]研究了用于物料搬运和装配的合作机器人技术。芮勇等[19]基于人工神经网络的FMS实现物料搬运机器人的故障诊断。
本文设计了一种基于Arduino的全自动化物料搬运机器人,能够实现二维码物料搬运任务识别,物料识别,自主路径规划,自动循迹,LED屏显示搬运任务,物料抓取与放置。
1机器人整体方案设计
1.1任务分析
在运行过程中,智能物料搬运机器人主要用来搬运指定的物料,通过自主控制,机器人运动到物料区,在识别到要搬运的的物料信息后,机器人通过机械臂抓取物料,将物料放置在机器人上,再运动到物料放置区,机器人控制机械臂将物料放在使用者指定位置,至此,机器人完成搬运任务。因此,智能物料搬运机器人应具有以下的功能:(1)获取需要搬运的物料信息;(2)显示搬运任务;(3)物料的识别;(4)自主运动;(5)实现机械臂的控制,完成物料的夹取和放置。
1.2整体方案设计
智能物料搬运机器人选择Arduino Mega2560作为主控制器,从出发区开始,通过寻迹模块进行寻迹和定位,实现自主运动的功能,当机器人运动到获取信息区域,通过二维码模块扫描二维码获取搬运物料信息,待信息通过串口通信传入主控制器后将搬运信息显示在0.96寸液晶屏上,目的是方便使用者确认机器人运行状态和搬运信息,接下来机器人通过寻迹到达所需物料区域,此时,利用OpenMV模块对物料进行识别,将所需物料位置发送给主控制器,然后主控制器控制舵机控制板,使机械臂完成对应物料的抓取,最后运动到物料放置区,识别放置位置并进行物料放置,完成物料搬运全过程。
根据整体设计方案,将机器人分为3部分进行分析,分别是机器人的机械结构设计,硬件部分选型和运行代码编写。最后经过整合调试,完成物料搬运机器人的设计及物理样机制作。
2机械结构设计
机械结构部分主要包括轮式驱动、机械臂等。
(1)轮式驱动
由于麦克纳姆轮车体灵活方便,结构紧凑,是目前已实现的车体全方向位置移动的一种比较优的解决方案。因此机器人采用麦克纳姆轮全向轮转向机构。
(2)机械臂
所设计的机械臂是一款四自由度机械臂。如图1所示,舵机作为动力源,通过分析各自由度运动角度范围后,将舵机角度初始化为角度范围中值。接下来将舵机与连接件进行拼接,由于采用单臂舵机,舵机只有一侧接触连接件。为了保障同轴转动,在连接件的另一侧安装法兰轴承。当机械臂运动到物料位置时,通过齿轮传动,使动力源驱动机械爪完成夹取运动。
3硬件部分设计
3.1主控制器
搬运机器人的控制系统使用Arduino Mega2560,如图2所示。相比Arduino其他型号,Mega2560具有更多的IO口,满足接线需要。拥有3种供电方式:外部直流电源通过DC插座(可焊接更换)供电;USB接口连接电源供电;电源正负极连接板子上的GND和VIN引脚[20]。
3.2二维码模块
本研究课题采用GM65二维码模块实现搬运物料的信息获取。GM65是一款二维影像式扫描识别模块,其内含的影像式扫描技术可适用于多种应用环境,无需正对二维码,可直接识别电子屏幕。由于GM65扫描装置的模块成本低,工作时输出电流小,体积小,拥有串口和USB双接口等优点。因此被广泛的商业应用于普通快递行业物流,零售金融行业,电子商务,办公自动化等各个领域[13]。
需要注意的是,RX为接受口,TX为输出口,因此,在连接杜邦线时,需要将GM65的TX和RX接在arduino的RX和TX上。
3.3液晶屏
液晶屏简称OLED,如图3所示,即有机发光二极管。它具有高分辨率显示,不需背光源、显示快、体积小、平扁、功耗低等优点,是一种常用的的平面显示器[14]。本课题选用0.96寸的128 pixel×64 pixel的液晶屏作为显示界面。通过IIC通信方式连接主控制器。
3.4灰度传感器
寻迹模块和定位模块采用的是不同型号的灰度传感器。
(1)寻迹模块
寻迹模块实物如图4所示。
(2)定位模块
定位模块采用的是tcrt5000传感器,如图5所示。十字螺丝为调节器,通过旋转改变传感器的灵敏度,从而适应各种光照下的不同的检测距离。
3.5电机驱动模块
因为电机工作所需要的电流远大于控制器IO口输出电流值,因此,为了确保电机正常运转,需要引入外部电源对电机供电。
根据电机数量以及控速功能的需求,本课题选择L298N电机驱动模块,如图6所示。该驱动可同时控制两个电机。工作电压为6~46 V,输出电流为2 A,满足课题需求,还具有反馈检测和过热自断功能。使用时通过主控芯片的IO口的高低电平控制电机正反转驱动,拔掉跳线帽后,通过控制使能引脚,满足电机调速的功能。
3.6电源设计
机器人采用锂电池进行供电,选择3S锂电池。3S锂电池是由3个单锂电池并联组成。单锂电池的电压范围为3.7~4.2 V,故3S锂电池电压范围为11.1~12.6 V。因主控制器所需电压为5 V及3.3 V,因此需要通过降压模块对电池进行降压操作,如图7所示。
使用时,将电池正负极引出,分别焊接在IN1和IN2上,通过转动旋钮,即可改变输出端电压。使用时需注意,输入端电压需比输出端电压高出1.5 V以上。
4代码设计
4.1运动控制
4.1.1定义初始化引脚
控制器通过电机驱动控制一个电机旋转时需要使用到3个IO口,因为电机的转速需要通过PWM波进行调控,所以其中一个IO口应为PWM口。使用时通过修改占空比来改变输出电压。
定义引脚后,需要对其初始化,定义引脚工作模式。图8所示为初始化程序段。
4.1.2速度闭环
因为在实际操作中,受场地以及负载不均的影响,物料搬运机器人4个轮子在相同的PWM控制下可能转速并不相同,为了保障速度相同,需要在程序中写入速度闭环,也就是负反馈,原理是根据旋转编码器,获取轮子的速度值,当速度低于设定值时,PWM增大,反之减少PWM。相同时不变。
机器人采用A相编码器,进行单方向计数,单方向测速。在使用速度闭环时,需要开启两个中断:(1)定时调节电机转速的定时中断;(2)当A相脉冲为低电平,执行计数加1的外部中断。如图10所示。
4.1.3串口通信
串口通信属于并行通信,虽然并行通信速度慢,但串口通信可以同时发送和接受数据。选用串口1作为与寻迹传感器的通信通道。
4.1.4偏移修正
传感器通过串口通信和主控制器进行数据传输,传感器将当前光电管的高低电平状态输出为十六进制数据发送到主控制器,根据数据的值,判断小车当前的偏移情况,执行对应的程序,从而修正机器人的姿态。如图11所示。
4.2计数定位
机器人的定位功能是通过记录传感器的电平变化次数完成的,当机器人完全通过循迹标志线时,计数加一。通过计数值大小,确定机器人当前所处位置。如图12所示。
4.3读取显示任务信息
4.3.1扫码获取信息
(1)设置GM65扫描间隔为1 000 ms,开启灯光,扫码成功提示音等辅助功能;(2)设置GM65工作模式为单字节传输;(3)在程序中设置一个数组变量;(4)通过串口通信,数组变量接收传入值;(5)完成二维码扫描。
4.3.2显示任务信息
图13所示为扫码显示程序段。具体步骤:下载并将液晶屏库导入编译环境;定义液晶屏显示设置:IIC通信地址,字体颜色,缓存清除;设置显示字体大小和起始位置;显示包含任务信息的数组。
4.4物料识别
采用红、绿、蓝3种颜色的物料。因此,物料识别利用OpennMV进行颜色识别完成。OpenMV搭载了Python解释器,因此可以通过Python来完成OpenMV的机器视觉功能。
识别流程如下:
调试阈值时,可选用OpenMV软件自带的调值工具,读取缓存区的图像数据,通过滑动修改阈值,当右侧图像只显示一个白色物料时,此时阈值为对应物块的颜色阈值。
(3)设置感兴趣区域(图16)
因为识别过程中,背景会对物料的识别产生影响,因此,需要设置感兴趣区域(roi),仅在区域内扫描,减少扫描时间和扫描误差。
(4)颜色识别(图17)
find_blobs:返回的是多个blob的列表,一个blobs列表里面包含很多的blob对象,每个blobs对象包含一个色块的信息。
blob列表参数如下。
blob.rect():返回这个色块的外框——矩形元组(x,y,w,h);
blob[0]:色块外框的X坐标值;blob[1]:色块外框的Y坐标值;blob[2]:色块外框的宽度w;
blob[3]:外框的高度h;
blob[4]:色块的像素数量;
blob[5]:色块外框的中心x坐标;blob[6]:色块外框的中心y坐标。
5物料搬运机器人样机试验步骤
(1)物料搬运机器人从指定发车位置发车,沿着黑色轨迹线移动。如图18所示。
(2)在规定的时间内,机器人移动到二维码前,读取二维码领取搬运物料信息。如图19所示。
(3)物料搬运机器人移动至物料搬运区,识别并判断相应物料信息。如图20所示。
(4)控制机械臂动作,抓取相应物料。如图21所示。
(5)抓取后,沿着规定路线将物料搬运至指定地点。如图22所示。
(6)搬至指定地点后,识别并将物料准确放至对应区域。如图23所示。
试验结果表明,物料搬运机器人能够完成相应任务要求,搬运过程稳定可靠,完成效率较高,经测定搬运时间低于人工搬运的时间,达到减轻人力劳动强度,提高搬运效率的效果。
6结束语
本文设计了一种麦克纳姆轮与机械臂相结合的物料搬运机器人,使用Arduino为主控制器,结合OpenMV模块进行快速、准确识别物料,主控制器控制舵机控制板,使机械臂完成对应物料的准确抓取、搬运与放置,完成物料搬运全过程。通过对其程序算法、机械结构、硬件设计进行研究,达成物料搬运机器人各模块的有机配合,实现了机器人自主行走、物料搬运等功能,在结构分析设计的基础上,开发出了物料搬运机器人物理样机,用该样机进行了样机试验,验证了机器人小车能够稳定并且有效地完成循迹、物料识别,物料搬运等动作。应用在实际生产应用中,可以提高工作效率,降低了人力劳动强度。
参考文献:
[1]Qiu L,Hsu W,Huang S,et al.Scheduling and routing algorithms for AGVs:a survey[J].International Journal of Production Re‐search,2002,40(3):745-760.
[2]石林炜.基于模糊控制的单舵轮激光导引AGV避障系统研宄[D].济南:山东大学,2016.
[3]Martinez-Barbera,Humberto,Herrero-Perez,et al.Development of a flexible AGV for flexible manufacturing systems[J].The Indus trial Robot,2010,37(5):459-468.
[4]刘天宋,张俊,史吉祥,等.基于视觉的物料搬运智能位置修正方法[J].工业控制计算机,2023,36(5):99-100.
[5]刘昊,钟皓阳,胡博雅.基于物联网的物流搬运机器人设计[J].无线互联科技,2023,20(4):26-28.
[6]张余龙,邱夏东,胡晓靖,等.智能物料搬运机器人结构设计[J].中小企业管理与科技(上旬刊),2021(8):185-186.
[7]赖刘生.基于PLC和工业机器人的物料输送智能系统设计[J].机械工程与自动化,2021(1):161-162,168.
[8]王磊,钱英军,黄浩.基于Unity3D的机器人物料搬运VR仿真系统开发[J].长江信息通信,2021,34(1):18-20.
[9]李玉寒,张丰,苏璇.基于颜色识别的智能物料搬运机器人设计[J].信息记录材料,2020,21(4):218-219.
[10]潘建霞,张帅,王志鹏.基于51单片机的光电型搬运机器人的设计[J].南阳师范学院学报,2020,19(1):31-35.
[11]马甘霖,李发海,李沁怡.智能物料搬运机器人的设计与研究[J].电子制作,2020(1):19-21.
[12]张长勇,王兴财,步亚,等.移动机器人搬运物料目标定位优化仿真[J].计算机仿真,2018,35(2):257-261.
[13]杨宗林.物料搬运移动机器人的优化设计[D].合肥:合肥工业大学,2017.
[14]彭天然.物料搬运移动机器人机械与控制系统设计与研究[D].合肥:合肥工业大学,2016.
[15]吕应柱.自动化物料搬运机器人的设计与仿真[D].西安:西安建筑科技大学,2015.
[16]谢向东,杨富宏,张翠洁.核工业环境下的物料搬运机器人控制系统的开发和研究[J].机器人技术与应用,2010(2):36-37.
[17]张立勋,王令军,许伟科,等.高速物料搬运机器人实时控制系统研究[J].机械设计,2009,26(4):32-35.
[18]董玉红,张立勋.用于物料搬运和装配的合作机器人的关键技术研究[J].中国工程机械学报,2004(4):427-432.
[19]芮勇,金丕彦.基于人工神经网络的FMS物料搬运机器人的故障诊断[J].控制理论与应用,1994(4):460-463.
[20]江栋.NFC多协议读写终端设计与实现[D].长沙:湖南大学,2013.
