一种自动化柑橘采摘机器人设计
2023-09-19张晨宇聂淑萍张洪震赵胜雪
张晨宇,聂淑萍,张洪震,赵胜雪
(黑龙江八一农垦大学 工程学院,黑龙江 大庆 163319)
0 引言
我国是柑橘重要原产地之一,柑橘栽培面积超过300万hm2,但目前我国柑橘采摘方式多为人工采摘,采摘作业效率低、成本高(采摘费用占成本比例50%~70%)[1],且采摘作业的质量难以保证。如今我国面临人口老龄化、农业生产劳动力短缺等问题。柑橘采摘机器人可减少人工成本、提高采摘效率和作业质量,具有很大的发展潜力,因此研发柑橘采摘机器人对提高柑橘生产效率具有重要意义。
早在20世纪80年代初,国内外相继开始研发果蔬采摘机器人,一款由西班牙工业自动化研究所开发的柑橘采摘机器人Agribot[2],基于人机协作思想,可通过激光测距仪和控制系统规划最优采集路径实现精准采摘,具有采摘效率高、系统成本低的特点,但对质地较软的果实采摘存在机械损伤的风险。王顺沩等[3]设计了一种振动式采摘机械臂,其外形模仿雨伞来进行果实收纳,但在收集过程中会导致果实碰撞而造成损坏,影响果实的采收率和损伤率。魏博等[4]设计了一种欠驱动式的柑橘采摘末端执行器,可稳定采摘不同大小椭圆度的柑橘,具有抓取稳定、适应性强等优点,但该机使用旋拧分离方式采摘果实,会对果蒂处造成损伤,缩短果实保质期。
针对目前柑橘采摘机器人存在果实采摘损伤率过高的问题,本文对柑橘采摘过程进行实际分析,设计了一款柑橘采摘机器人,实现柑橘全自动无损采摘。
1 结构设计
1.1 整体结构
柑橘采摘机器人主要由机械臂、末端执行器、储存箱、行走装置等部分组成,整体结构如图1所示。
1.机械臂;2.末端执行器;3.输送软管;4.储存箱;5.行走装置
机器人的工作流程如下:
1)采摘机器人沿着橘林道路向前移动;
2)识别、定位系统采集图像,以此获取柑橘果实的坐标,控制系统再将位置坐标信息发送至行走装置并驱动,使采摘机器人到达预定位置;
3)采摘机械臂开始工作,使末端执行器靠近并抓取果实,切断果梗,实现柑橘果实采摘;
4)采摘后,果实随着重力作用掉落,通过输送软管,无伤输送至储存箱中。
重复上述操作,直至完成柑橘果实采摘作业。
1.2 行走装置与支撑框架设计
根据柑橘实际种植地形条件及机器人载荷需求,设计行走装置与支撑框架。行走装置由直流电机、驱动轮、辅助轮、橡胶履带、涡轮减速机等部分组成。支撑框架与行走装置直连,框架上连接负责搭载机械臂与储存箱的平台,行走装置与支撑框架整体如图2所示。
1.直流电机;2.驱动轮 ;3.辅助轮;4.橡胶履带;5.支撑框架;6.涡轮减速机
采摘机器人使用场景多为丘陵、山地,土壤多为土层深厚、松软且透气性较强的壤土和沙土,且具有一定的坡度。于是,选用橡胶质地的履带作为机器人行走装置,具有较好的缓冲性,可减少振动对上装设备的影响,在机器人应用地形上具备良好的运载能力和行走能力[5]。
行走装置由直流电机、RV025-090型涡轮减速机与驱动轮间采用螺栓紧固相连,并与橡胶履带啮合。驱动轮位于履带结构顶端,传递驱动力矩或制动力矩,使得履带转动或停止。履带中设有6组辅助轮,使履带在转动时与地面更加贴合,以此增加抓地力和附着性能,同时能有效避免发生轴向移动而造成的脱轨。
考虑满载情形,机器人的支撑框架所需承受载荷为整个机械臂重量与满载柑橘时储存箱重量之和(经计算约为700 kg)。因此,设计的机器人支撑框架应符合安全使用要求。结合成本、工艺等因素,选用了碳钢作为支撑框架及其所搭载的平台的材料。
1.3 采摘机械臂设计
针对机械采摘果实时灵活性的需求,关节型结构的机械臂相比非关节型机器人有着更高的灵活性,并且结构紧凑。因此,该机器人采用了关节型结构来展开设计。自由度直接影响机械臂的运动性能和灵活度,选择合适的自由度对于综合优化柑橘采摘机械臂具有重要指引作用。为了保证机械臂能够有效避开树枝障碍,深入枝叶间隙,实现柑橘的精准采摘,经考察,该机器人采摘机构设计为四自由度的机械臂,以地面为参考系,x0y0平面与地面平行,机械臂坐标系示意如图3。
图3 机械臂坐标系示意图
设计的机械臂结构如图4所示,主要包括腰关节、肩关节、大臂、小臂关节、小臂、腕关节、末端执行器等。根据柑橘果实高度分布情况,设计采摘机械手臂的尺寸如下:底座底部(x0y0平面)中心到腰关节所在平面即底座整体高度为500 mm,底座底部中心到肩关节轴线(z2轴)高度为535 mm,肩关节轴线(z2轴)到小臂关节轴线(z3轴)的距离即大臂连杆为660 mm,小臂关节轴线(z3轴)到腕关节轴线(z4轴)的距离即小臂连杆为580 mm,腕关节轴线(z4轴)到末端执行器末端的距离为348 mm。考虑到果实采摘的精准,因此机械臂对驱动装置的转速和精度有较高要求,各关节的电机均采用伺服电机并配备相应的减速器来进行传动。
1.腰关节;2.肩关节;3.大臂;4.小臂关节;5.小臂;6.腕关节;7.末端执行器
1.4 末端执行器结构设计
末端执行器是安装于机械臂前端用于采摘柑橘的重要部件,与采摘机器人的工作效率和果实在采摘过程中的机械受损率密切相关。现已研发的机器人末端执行器难以做到像人手那样灵巧敏捷的抓取。所以本研究设计的末端执行器需要具有普适性和经济可行性。
实现机器采摘果实的关键步骤为果实固定、果与树分离。果实固定的方法有两种。一种为吸盘吸附果实将其固定。另一种是使用多手指夹爪固定果实。果实与果树分离方式有旋转扭断果梗或使用剪切机构切断果梗两种[6-7]。考虑到柑橘的果梗木质化程度较高,扭转分离的方式会造成果蒂处损伤,不易储存;夹持机构的方式易造成果皮细胞破损,缩短果实保质期。所以,本设计采用吸盘吸附固定果实,后切断果梗实现采摘。
以红美人柑橘为研究对象,在柑橘果园中进行采样,取100个成熟程度、大小不同的柑橘。使用游标卡尺测量果实的横径、纵径和果梗直径,再用电子秤测量质量,统计最大质量和最小质量,测得的柑橘横径、纵径、直径及果实质量等数据如表1。
表1 柑橘特性参数
根据测量到的横径、纵径,为吸盘进行选型,并设计末端执行器内部空间大小,末端执行器结构如图5所示。
1.高速转动轮;2.锯刀片;3.吸盘传动齿轮;4.吸盘;5.拉簧;6.搬果环;7.固定座;8.螺纹吸管;9.搬果环驱动电机;10.皮带轮;11.出果桶;12.拉绳;13.圆筒;14.电机板;15.切割电机;16.锯刀座;17.伸缩电机;18.连接杆
工作时,吸盘将远处的柑橘吸住固定,伸缩电机通过齿轮副带动螺纹吸管将其引向圆筒中,当柑橘接近圆筒时,搬果环驱动电机通过拉簧将柑橘整体搬入圆筒,同时将果梗推向锯刀片,切割电机通过传动轮和皮带带动锯刀片高速旋转,将果梗切断,切下的果实落入出果桶,出果桶外接收集囊,果实进入收集囊并滑落至储存箱中,顺利完成柑橘的采摘。
2 采摘机械臂运动学分析
2.1 模型建立与齐次变换矩阵
机械臂通常是由转动(移动)关节和连杆构成,每个关节有一个自由度。关节的作用是控制两个连杆间的相对位置和姿态;连杆的功能在于保持其两端的关节轴线具有固定的几何关系。因此,连杆参数的设定是机械臂运动学的重要组成部分。操作臂的连杆参数和连杆坐标系示意图(图6)。
图6 连杆参数和连杆坐标系示意图
如图6所示,相邻两连杆i和i-1由关节i相连,因此关节轴线i有两条公法线(ai-1和ai)与它垂直,每条公法线代表一条连杆:ai-1代表连杆i-1;ai代表连杆i。两连杆之间的距离di由ai-1与轴线i的交点到ai与轴线i的交点间的距离表示,沿轴线i测量;两条连杆之间的夹角θi由αi-1和αi之间的夹角表示,绕轴线i由ai-1到αi测量。di和θi都带正负号,连杆长度ai-1恒为正,但两关节轴线之间的夹角αi-1可正、可负。
每个连杆由ai-1、αi-1、di、θi来描述,这四个参数常被称为D-H参数。ai-1、αi-1描述连杆i-1 本身的特征;di、θi描述连杆i-1与连杆i之间的联系。对于旋转关节i,θi仅是关节变量,其他3个参数不变。本文采摘机械臂的4个关节均为旋转关节。
D-H坐标表示法是一种通用的机械臂建模方法,通过在每个连杆上固定一个坐标系,用4×4的齐次变换矩阵来描述相邻两个连杆之间的空间关系。通过将各个关节的变换矩阵依次相乘,可以得到机器人末端执行器相对于固定坐标系的位姿,进而得出机械臂的运动学方程[8]。通过对上述机械臂各关节和连杆结构分析,确定机械臂的D-H参数(表2)。
表2 D-H参数表
变换矩阵也可以依次从连杆上的四种特征参数,即D-H函数中得到,再通过右乘上述四个变换矩阵即可得出一种可以用于描述相邻关节的坐标系之间联系的齐次变化矩阵,其代表了坐标系{n}相对上一坐标系{n-1}的位姿改变[8]。齐次变换矩阵如下式所示。
nTn+1=An+1=Trans(an,0,0)×Rot(xn,αn)×Trans(0,0,dn+1)×Rot(zn+1,θn+1)
(1)
其中,dn+1为连杆偏距,mm,θn+1为关节角度,(°);an为连杆长度,mm,αn为连杆扭角,(°),即D-H参数。
2.2 机械臂正运动学求解
根据D-H参数表所示连杆特征参数和坐标变换矩阵表达式,得出各连杆的变换矩阵如下
(2)
(3)
(4)
(5)
其中,a1=170 mm,a2=660 mm,a3=185 mm;d1=380 mm,d2=155 mm。将上述4个变换矩阵相乘,得到机械臂的总的变换矩阵如(6)式,它表示的是坐标系{4}相对于坐标系{0}的位姿变换,即为机械臂运动学方程的正解
(6)
其中,a为机械臂末端坐标系(即坐标系{4})的接近矢量;o为姿态矢量;n为法向矢量;P为末端坐标系原点相对基准参考坐标系中的坐标位置。
式中:
nx=c234c1;ox=-s234c1;ax=-s1;
ny=c234s1;oy=-s234s1;ay=-c1;
nz=-s234;oz=-c234;az=0;
Px=a1c1-d2s1+a3c1c2c3-c1s2s3+a2c1c2;
Py=d2c1-a3(s1s2s3-c2c3s1)+a1s1+a2c2s1;
Pz=d1-a3s23-a2s2。
2.3 运动学Matlab仿真验证
为了验证正运动学算法的准确性,结合Matlab-Robotic Toolbox进行实例仿真验证[9-10]。
根据该采摘机械臂D-H参数,同时,对关节角θi(i=1~4)任意给定一个角度初始值:θ1=π/2,θ2=θ3=-2π/3,θ4=2π/3,把以上D-H参数及角度值代入到方程(6)中,就可以得到机器人末端的位姿矩阵(7)。
(7)
通过Matlab-Robotic Toolbox工具箱可以轻松求解机器人末端执行器的位姿。给出机器人关节空间矩阵q=[pi/2,-2*pi/3,-2*pi/3,2*pi/3],利用Matlab-Robotic Toolbox自带的“T=fkine(r,q)”求出操作空间的位姿矩阵[10]。通过Matlab仿真得到的运动学正解结果与解析法求得的运动学正解结果完全一致。同时可以利用Matlab仿真软件得到机器人正运动学三维仿真演示模型(图7),在示教上可以通过控制滑块以此改变关节角度,从而可以很直观地看到机械臂末端的位姿变化。
图7 机械臂正运动学三维仿真演示
仿真结果验证了采摘机械臂结构设计和运动学算法的科学性、合理性,为机械臂的控制系统设计打下基础。
3 控制系统设计
该控制系统的设计目标是控制机器人运动、定位和柑橘果实识别,通过控制关节伺服电机进而控制各个采摘机械臂关节的运动来实现采摘。
该机器人的控制系统结构如图8所示。控制系统设计以STM32F407为控制核心,输入与输出信号指令在上位机和下位机之间进行通信。
图8 控制系统结构
上位机采用基于图形化编程思想的LabView软件进行编程。主控芯片发送信号给行走装置,以此驱动机器人运动。识别系统利用摄像头实时采集图像数据,再使用OpenCV对采集的图像进行初步处理,随即将处理完毕的图像数据在TensorFlow下运行YOLO v3算法,输出目标果实在图像中的具体位置及大小至树莓派,树莓派接收到数据后再将其输出至主控芯片[11]。考虑精度和速度的要求,定位系统采用了激光雷达来进行定位避障。
基于机械臂运动学分析,主控芯片通过连接4个伺服驱动器进而驱动控制电机,实现采摘机械臂各关节位姿变化以此使末端执行器接近果实;采摘装置收到指令切断果梗,果实滑落进输送软管,储存箱中的传感器感受到果实的进入,就完成一次采摘作业,机器人复位开始下一次采摘作业。
4 结语
目前,国内对于果蔬采摘装置关键部件的研制取得的成果较少,在智能化、高效化、整机高适应化及协调能力等方面还有很大的提升空间。根据柑橘采摘的实际需求,该文研究设计了一种全自动柑橘采摘机器人,并针对目前柑橘采摘机器人存在果实采摘损伤率过高的问题,对采摘装置进行了深入研究设计,利用D-H法建立了采摘机械臂坐标变换矩阵,给出运动学正解并进行了仿真,结果验证了采摘机械臂结构设计的科学性和合理性。此研究设计对提高柑橘采摘自动化、智能化程度和柑橘农业生产具有重大意义。