智能柚子采摘机器人设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第52卷㊀第4期2024年4月
㊀㊀
林业机械与木工设备
FORESTRYMACHINERY&WOODWORKINGEQUIPMENT
Vol52No.4Apr.2024
研究与设计
智能柚子采摘机器人设计
丘文佳ꎬ㊀王路平ꎬ㊀李㊀滨
(东北林业大学机电工程学院ꎬ黑龙江哈尔滨150040)
摘㊀要:智能柚子采摘机器人设计是在其他相关果蔬采摘机器人的基础上进行的迁移㊁类比和改进ꎮ按照智能柚子采摘机器人的功能需求ꎬ选择钣金件来做机械手臂部分ꎬ3D打印的软质光敏树脂做柔性手指ꎬ并选择适宜行走在山丘地带的履带机构以及单片机STC系列控制履带行走和手抓采摘动作ꎮ结合OpenMV以及摄像头等外部设备与避障传感器ꎬ达到对柚子的识别㊁采摘和避障行走ꎮ智能柚子采摘机器大大降低了采摘成本ꎬ间接提高了运输效率ꎬ将更多新鲜柚子及时运送到市场ꎬ同时也将人从采摘柚子这种单一枯燥的劳动中解放出来ꎮ
关键词:采摘机器人ꎻ智能化ꎻ图像识别
中图分类号:S776㊀㊀文献标识码:A㊀㊀文章编号:2095-2953(2024)04-0045-05
Designofintelligentgrapefruitpickingrobot
QIUWen ̄jiaꎬWANGLu ̄pingꎬLIBin
(CollegeofMechanicalandElectricalEngineeringꎬNortheastForestryUniversityꎬHarbinHeilongjiang150040ꎬChina)
Abstract:Thedesignofthisintelligentgrapefruitpickingrobotisbasedonthemigrationꎬanalogyandimprovementofotherrelatedfruitandvegetablepickingrobots.Accordingtothefunctionalrequirementsoftheintelligentgrape ̄fruitpickingrobotꎬsheetmetalpartsareselectedtomaketheroboticarmpartꎬandsoft3Dprintedphotosensitiveresinisusedasaflexiblefinger.ThetrackmechanismsuitableforwalkinginthehillyareaandtheSTCseriesofmi ̄crocontrollerareselectedtocontrolthetrackwalkingandhandpickingactions.BycombiningOpenMVꎬcameraandotherexternaldeviceswithobstacleavoidancesensorsꎬgrapefruitrecognitionꎬpickingandobstacleavoidancewalkingcanbeachieved.Theintelligentgrapefruitpickingmachinegreatlyreducesthepickingcostꎬindirectlyim ̄provesthetransportationefficiencyꎬdeliversmorefreshgrapefruittothemarketintimeꎬandalsoliberatespeople
fromthesingleboringlaborofpickinggrapefruit.Keywords:pickingrobotꎻintelligentimageꎻrecogniton
㊀㊀收稿日期:2023-12-11
基金项目:哈尔滨市科技局创新人才基金项目 无人机遥感技术在森林生物量估测中的应用研究 (2017RALXJ011)第一作者简介:丘文佳ꎬ硕士研究生ꎬ研究方向为机械电子工程ꎬE-mail:281552568@qq.comꎮ
目前国内柚子采摘主要由人工完成ꎬ柚子树一般高达5~6m左右ꎬ一个柚子的重量大约在0.5~
2kg左右ꎬ体积大约是3dm3[1]ꎬ这导致传统的人工采摘柚子的劳动量大ꎬ并且每小时采摘柚子的数量少[2]ꎬ同时伴随着农村人口向城市各行各业的转移ꎬ
农村劳动力严重流失ꎬ人口的老龄化问题的也日渐加剧ꎬ使得人力短缺ꎬ进而导致成本逐渐上升ꎬ生产总费用超过一半都被用于采摘方面[3]ꎮ
随着机器人技术的快速发展ꎬ提高人类的劳动
效率ꎬ减少人类劳动量成为当今备受关注问题ꎬ尤其
林业机械与木工设备第52卷
是将单调重复的工作用机器来代替是个不可逆转的趋势[4-6]ꎮ采摘水果蔬菜等便是由一系列单调重复的动作组成ꎬ现今世界上果蔬采收领域的技术研究的热点和主要发展方向之一就是采摘机器人[7-8]ꎮ目前ꎬ世界各国科研人员已经探索出用成熟的果蔬与枝干叶子在光学及色彩学参数上不同的这一大区别来将自然种植环境下(包括大棚种植)熟了的果蔬与其他物体相区别开来ꎮ实践中采用这一理论ꎬ发明了苹果采摘机器人㊁草莓采摘机器人等一系列的自动识别采摘的农业机器人[9]ꎮ
为了降低柚子采摘成本ꎬ提高柚子运输效率ꎬ将更多新鲜的柚子及时运送到市场ꎬ同时也将人从采摘柚子这种单一枯燥的劳动中解放出来ꎬ本文设计使用智能柚子采摘机器人来取代传统的人工采摘柚子ꎮ1㊀执行环节的选择与设计
1.1㊀采摘部分主要参数确定
通过查阅资料ꎬ可知道柚子树在修剪时要去除顶端优势ꎬ以便提高产量ꎬ是以修剪柚子树常控制在3m以内ꎬ而一个柚子的质量约在0.5~2kgꎬ所以设计智能柚子采摘机器人的机械手部分末端负载为3kg左右[10]ꎬ果实中等大小ꎬ类似梨型呈扁圆形ꎬ纵径5~13.5cmꎬ横径4.3~16cmꎬ一个柚子体积大约在3dm3ꎬ据此本智能柚子采摘机器人的采摘部分机械手(用不锈钢钣金作为材料)的靠近腰部臂和靠近手部臂的重量和尺寸设计如下:靠近腰部臂的第一和第二关节轴之间的距离为526mmꎻ靠近腰部臂的质量为M1(大约6kg左右)ꎻ靠近腰部臂的重心在距离第一关节轴291mm处ꎬL1=291mmꎻ靠近手部臂的从第二个关节轴到手抓旋转部的距离是600mmꎻ靠近手部臂的质量为M2(大约6.5kg左右)ꎻ靠近手部臂的重心在距第二个关节轴386mm处ꎬL2=526+386=912mmꎮ
本智能柚子采摘机器人的采摘部分的腰部的质量和尺寸设计如下:旋转轴(舵盘中心)与舵机中心距离为25mmꎻ腰部的质量为23kgꎮ
本智能柚子采摘机器人的采摘部分机械手的基本设计参数如下:负载为3kgꎻ靠近腰部臂回转:0~90ʎꎬ60ʎ/sꎻ靠近手部臂回转:0~135ʎꎬ60ʎ/sꎻ腰部旋转:0~360ʎꎬ60ʎ/sꎻ手抓夹持半径:143~160mmꎮ1.1.1㊀靠近腰部臂的舵机的选择
当智能柚子采摘机器人的机械手的手臂旋转到腰部ꎬ靠近腰部臂和靠近手部臂以一条直线形式展开时ꎬ转动惯量此时达到它可以达到的最大值ꎬ以此推断舵机在旋转开始时可以产生的转矩会有所不足ꎮ根据平行轴定理我们知道绕靠近腰部臂轴的转动惯量如下:
J1=JG1+M1L12+JG2+M2L22(1)已知:M1=6kgꎬM2=6.5kgꎬ且L1=291mmꎬL2=912mmꎮJG1≪M1L12ꎬJG2≪M2L22ꎬ故JG1㊁JG2可忽略不计ꎬ所以绕大臂轴的转动惯量为:J1=M1L12+M2L22=5.19kg m2
已知:M2=6.5kgꎬL4=386mmꎬ同理可得ꎬ小臂绕小臂的关节轴ꎬ其转动惯量为:J2=M2L42=0.97kg m2本智能柚子采摘机器人的腰部旋转轴的转动惯量为ꎬ腰部的舵机中心被舵盘盘桓的转动惯量ꎬ与靠近腰部臂㊁靠近手部臂绕其腰部关节的旋转轴的转动惯量相加的和ꎮ已知M3=23kgꎬL5=24.8mmꎬ所以按照以上的分析步骤ꎬ最终知道腰部的转动惯量:J0=J1+J3=J1+M3L52=5.92kg m2(2)其中为J3舵盘绕腰部的舵机中心的转动惯量ꎮ设靠近腰部臂的速度ꎬω1=60ʎ/sꎬ则旋转开始时ꎬ转矩表示如下:
T=Jα(3)其中T为旋转开始时转矩ꎻJ为转动惯量ꎬkg m2ꎻα为角加速度ꎬrad/s2ꎻ
设定本智能柚子采摘机器人的机械手的靠近腰部臂ꎬ从ω0=0启动到ω1=60ʎ/sꎬ预计可能需要的时间是Δt=0.2sꎬ取安全系数为2ꎬ由式(3)得:
TOUT1=2T1=2ˑJ1ˑα1=2ˑJ1
ˑ
ω1-ω0
Δt
=61.8N m(4)综上ꎬ选择舵机型号RDS3218ꎮ
1.1.2㊀靠近手臂旋转舵机的选择
设腰部的速度ω3=60ʎ/sꎬ原理和上述靠近腰部臂一样ꎮ
设定本智能柚子采摘机器人的机械手的腰部ꎬ从启动ω0=0到ω3=60ʎ/sꎬ预计可能需要的时间是Δt=0.2sꎬ取安全系数为2ꎬ由式(3)得:
TOUT2=2T2=2ˑJ2ˑα2=2ˑJ2ˑ
ω2-ω0
Δt
=20.3N m(5)综上ꎬ选择舵机型号RDS3218ꎮ
64
第4期
丘文佳ꎬ等:智能柚子采摘机器人设计
1.1.3㊀腰部旋转舵机的选择设腰部的速度ω3=60ʎ/sꎬ原理和上述靠近腰部
臂一样ꎮ
设定本智能柚子采摘机器人的机械手的腰部ꎬ从启动ω0=0到ω3=60ʎ/sꎬ预计可能需要的时间是Δt=0.2sꎬ取安全系数为2ꎬ由式(3)得:
TOUT0=2T0=2ˑJ0ˑα0=2ˑJ0ˑω3-ω0
Δt
=62.0N m
(6)
综上ꎬ选择舵机型号DDTS380ꎮ1.2㊀夹持部分的设计
手抓设计如图1所示
ꎮ
图1㊀手抓设计
1.腕部旋转舵机ꎻ2.手抓坐ꎻ3.手指连接件ꎻ4.曲柄移动机构ꎻ
5.手指坐ꎻ6.螺栓等标准件ꎻ7.柔性手指
1.3㊀履带机构的设计
通过查阅资料可知ꎬ倒梯形的行走机构具有最高的越障宽度和越障高度ꎬ故履带底盘试验平台的行走机构选择倒梯形机构ꎮ履带式行驶装置的组成包括履带㊁张紧轮㊁张紧缓冲装置㊁支重轮㊁托带轮驱动轮5个部分ꎬ其作用是支撑整机的重量ꎬ并通过履带将驱动轮的旋转运动转变为底盘在地面上的行驶运动[5]
ꎮ
1.4㊀执行机构整体设计
执行机构整体设计如图2所示
ꎮ
图2㊀执行机构整体
1.装载箱ꎻ2.行走履带机构ꎻ3.车架ꎻ4.采摘机械臂ꎻ5.采摘机械手抓
2㊀控制与识别
2.1㊀主程序说明
在一开始设定计时/计数器 0 (也就是 十六进制 计数器)工作于计时模式1(TMOD)ꎬ初始值为FF64Hꎬ详细来说就是设定TH0=FFHꎬTL0=CDHꎬ当CDH换算成十进制等于65276ꎬ而整个 十六进制 计数器要数到溢出就必须数到FFFFHꎬ换算成十进制等于65536ꎬ因此本设计的单片机设定的初始值要数到满出来必须经过65536~65276次ꎬ每50次中断一次ꎬ每次中断就执行ꎬ直到R1为0ꎬ然后将其返回200ꎬ直到R4ꎬ一共800次ꎬ我们使用的是24MHz的晶体振荡器ꎬ已知定时器的计时频率是外部晶体振荡器ː12ꎬ计时的频率为24MHzː12=
2MHzꎬ把计时频率换算成时间ꎬ也就是说每2μs计时一次ꎬ且每2μs将TL0加1ꎬ即50次花费100μs中断一次ꎬ所以加1计数器溢出位了之后ꎬ得到TF0=1ꎬ在TL0加50次后ꎬ发出中断请求ꎮ接着设定中断使能ꎬ然后设定计时/计数器的中断使能ꎬ将计时/计数器启动ꎬ设计出各舵机的动作角度和速度ꎬ通过改变延时子程序的长短来控制舵机的速度ꎮ定义S1㊁S2㊁S3㊁S4㊁S5寄存器ꎬ每个分别改变S1㊁S2㊁S3㊁S4㊁S5的值ꎬ使中断子程序随着主程序变动ꎬ产生不同的PWM波ꎬ并且在数值前加 # ꎬ使不同关节在不同定位ꎬ也就是运用PWM波来控制舵机ꎬ从而使舵机旋转不同的角度与速度ꎬPWM波如图3所示ꎮ
7
4
林业机械与木工设备第52
卷
图3㊀PWM波
2.2㊀中断子程序说明
主程序设定好所有的中断值的情况下ꎬ当程序相隔0.1ms执行计时/计数中断子程序一次ꎬ然后利用PUSH指令把子程序会用到的寄存器中的数据放到堆栈区去ꎬ当要返回主程序时ꎬ再利用POP指令取回来ꎮ以此防止在中断子程序中执行时ꎬ破坏主程序会用到的寄存器内的值ꎮ然后手动将中断请求
TF0清0ꎬ再重新给一次TH0和TL0初始值ꎬ在下次中断产生时ꎬ防止当加1计数器满了之后ꎬ从0000H开始再加1计数ꎮ子程序中ꎬ一个周期是800次ˑ30μs=24msꎬ将PWM波设为高电平ꎬ然后利用R1来存放想要产生的脉冲宽度的值ꎬ将PWM波设为低电平在经过n次ˑ0.1ms后ꎬ使单片机从引脚P6.0依次输出24ms一个周期的PWM波ꎬ在主程序中任意改变R1的值ꎬ使n相应变化ꎬ产生对应的PWM波脉冲宽度ꎮ单片机从P6.0到P6.4输出PWM波ꎬ而程序中的LOOP段控制机械手臂的每1个动作ꎬ在舵机的调整下ꎬ给寄存器的值为15时ꎬ舵机在中立位置ꎬ22是逆时针到底ꎬ8是顺时针到底ꎬ数值越大ꎬPWM波的脉冲宽度越大ꎬ舵机逆时针转动ꎬ反之结果相反ꎮ
运用中断子程序的CYCLE段计算出一个24ms的周期ꎬ并且这个周期开始时P2.0输出为高电平ꎬ将其的脉冲数值存在30H中ꎬ一旦进入中断子程序就使R2加1ꎬ当R2于30H中的数据ꎬ就将P6.0输出低电平ꎬP6.1输出高电平ꎬ以此类推ꎬ当达到24s时ꎬ程序重新执行ꎬ其中R3输出5组信号ꎮ
运用中断子程序的CYCLE段计算出一个24ms周期ꎬ并且这个周期开始时P2.0输出为高电平ꎬ将其的脉冲数值存在30H中ꎬ一旦进入中断子程序就使R2加1ꎬ当R2于30H的数据ꎬ就将P6.0输出低电平ꎬP6.1输出高电平ꎬ以此类推ꎬ当达到24s时ꎬ程序重新执行ꎬ其中R3输出5组信号ꎮ
2.3㊀图像识别与追踪
利用OpenMVꎬ使用外部硬件设备单目摄像机拍摄图片ꎬ然后根据霍夫变换等一系列处理ꎬ并且结合红外避障传感器实现柚子的具体识别与追踪ꎮ2.3.1㊀识别部分
因为柚子的形状和颜色与周围的柚子树树叶与枝干等截然不同ꎬ且柚子的形状为近似圆形(在拍摄得到的二维图片中)ꎬ熟果是黄色ꎬ所以可以利用这两个特点来与周围环境进行区别ꎮ
使用霍夫变换在图像中查找圆ꎬ大致流程是首先我们进行圆形识别ꎬ然后在识别到的圆形区域内进行颜色统计ꎬ用Lab模式判断区域内最多的颜色是否是黄色ꎮ
先导入一张柚子的图片(柚子本身的果实占据图片大部分区域)ꎬ然后在farmebuffer中的目标颜色上圈出一个矩形ꎬ然后便可在LabColorSpace得出三组最大最小数据ꎬ也就是黄色的阈值ꎬ然后引入感光模块来设置摄像头为彩色ꎬ大小设置为VGAꎬ也就是640ˑ480的大小ꎬ然后跳过2000张图片以便在更改设置后感光元件变稳定ꎬ因为默认设置自动白平衡和自动增益是开启的ꎬ所以需要关闭自动白平衡和自动增益来为颜色追踪创造条件(也基于此ꎬ摄像头边上需配备一个夜晚使用的光源ꎬ防止光线对颜色追踪的影响)ꎬ然后创造一个时钟对象来跟踪
FPSꎬ也就是用clock来追踪帧率ꎬ接着进入循环更新FPS时钟ꎬ拍摄图片ꎬ也就是从感光芯片(感光芯片是将光信息转化为数字电信号的利器)获得一张图像ꎬ然后返回图像ꎬ通过迭代识别到的圆的区域ꎬ然后画一个矩形标记出圆ꎬ然后进行像素颜色统计ꎬ一定要控制环境的光ꎬ保持光线是相对稳定的ꎬ设定黄色的阈值和Lab的最大值和最小值ꎮ这里的函数会返回一个列表ꎬ如果找到了目标颜色ꎬ用圆形标记出目标颜色区域ꎬ在目标颜色区域的中心画十字形标记ꎬ发出信号到追踪部分ꎬ其中OpenMV在断开电脑的情况下帧率可达到连到电脑情况后的两倍左右ꎬ综上所述当区域内的众数(也就是最多的颜色)ꎬ范围在这个阈值内ꎬ就说明是黄色的圆ꎮ确定L通道ꎬa通道ꎬb通道的众数ꎮ识别到的黄色圆形用黄色的圆框出来ꎮ
2.3.2㊀追踪部分
OpenMV采用的是单目摄像头(镜头配备有过滤红外光的滤片)ꎬ想要实现测距ꎬ就需要选参照物ꎬ利用参照物的大小比例来计算和柚子的距离ꎮ利用镜头焦距的原理ꎬ通过摄像头里柚子的大小ꎬ计算摄像头与柚子之间的距离ꎮ
84
第4期丘文佳ꎬ等:智能柚子采摘机器人设计
具体操作步骤ꎬ实际就是充分运用机器视觉函数image(包括运用image.lens_corr这个函数来矫正镜头畸变)ꎬ就是先测出这个常数的值ꎬ也就是先让柚子和摄像头分离到两端ꎬ将这步操作得到打印出的摄像头里直径的像素值相乘ꎬ从而得到k的具体数值ꎬ进入循环之后用image.find_blob函数追踪前面已经标记出的黄色圆形框ꎬ通过公式最后得到柚子距离摄像头(也就是智能柚子采摘机器人)距离的结果ꎬ输出距离ꎬ通过串口把距离传输到控制履带的电机的
mpu上ꎬ结合红外避障传感器来达到追踪的目的ꎮ3㊀结论
(1)对智能柚子采摘机器人的机械结构进行总体方案设计ꎬ按照智能柚子采摘机器人的功能需求ꎬ对其进行结构分析ꎻ针对智能柚子采摘机器人的各个机械部分的各个功能进行多个可行性方案的比较与选择ꎬ选择出具有柔性手指的多手指的单自由度形式的手爪ꎬ其由3D打印的ABS和软性光敏树脂构成ꎬ不锈钢钣金加工配合舵机做旋转关节的采摘机构ꎬ履带行走机构ꎬ内部嵌有缓冲材料聚苯乙烯泡沫板(EPS)的装载机构ꎬ舵机ꎬ薄膜电阻式压力传感器ꎬSTC8A8K64S4ꎬOpenMV并详细介绍了其工作原理和优势ꎮ
(2)针对最优方案ꎬ对智能柚子采摘机器人的关键部分进行设计与选型ꎮ首先ꎬ在知道采摘柚子的外部环境条件ꎬ以及柚子本身的参数等前提下ꎬ制定出526mm的大臂和600mm的小臂ꎬ然后运用转动惯量等计算出所需扭矩ꎬ接着选择合适的舵机型号包括RDS3218㊁DDTS380以及STS3032ꎮ然后ꎬ设计出适合智能柚子采摘机器人手抓部分的机构ꎬ并从自由度方面发现其可行ꎮ最后ꎬ查询资料ꎬ进行行走履带机构的选型ꎬ计算出行走履带机构各部分的参数ꎬ包括直径248mm的驱动轮ꎬ直径223mm的张紧轮ꎬ直径150mm的支重轮ꎬ直径130mm的拖带轮ꎮ(3)通过方案对比ꎬ本智能柚子采摘机器人采用单片机控制机械手臂与手抓部分ꎬ通过OpenMV用摄像机拍摄处理图片ꎬ然后实现图像与形状识别ꎬ同时测距ꎬ通过串口通信将信号分别传到机械手部分ꎬ以及行走履带机构部分ꎬ用PWM波控制关节处舵机的旋转角度和速度ꎬ机械手部分配合薄膜电阻式压力传感器ꎬ实现对柚子的无损摘取ꎬ行走机构配合红外避障传感器ꎬ实现路径规划ꎬ在摘取超过装载箱底的长条状薄膜电阻式传感器的限度时ꎬ智能柚子采摘机器人的机械手停止工作ꎬ回到初始位置ꎬ智能柚子采摘机器人回到卸载柚子的地点卸载ꎮ利用
CAXA软件绘制装配图ꎬ部件图和零件图ꎮ利用Keil软件和OpenMV软件做控制识别部分ꎮ(4)通过技术进行分析ꎬ比较智能柚子采摘机器人与传统人工采摘柚子这两种形势ꎬ得出结论ꎬ使用智能柚子采摘机器人降低了人工劳动强度ꎬ显著提高采摘柚子的效率ꎬ同时降低采摘柚子的成本ꎮ
参考文献:
[1]㊀王毅.柑橘采摘机器人咬合式末端执行器关键技术研究[D].
重庆:重庆大学ꎬ2021.
[2]㊀刘嘉超.基于信息融合的采摘机器人视觉识别与定位系统研究[D].广州:华南理工大学ꎬ2020.
[3]㊀陈礼鹏ꎬ穆龙涛ꎬ刘浩洲ꎬ等.基于猕猴桃果萼图像的多目标果实识别方法[J].计算机工程与设计ꎬ2018ꎬ39(6):1738-1744. [4]㊀陈礼鹏.基于机器视觉的簇生猕猴桃果实多目标识别方法研究[D].咸阳:西北农林科技大学ꎬ2018.
[5]㊀王毅ꎬ付舜ꎬ张哲ꎬ等.柑橘采摘机器人末端执行器设计与试验[J].中国农业科技导报ꎬ2018ꎬ20(1):69-77. [6]㊀付舜.柑橘采摘机器人末端执行器设计与研究[D].重庆:重庆理工大学ꎬ2018.
[7]㊀王滨.猕猴桃采摘机器人目标果实空间坐标获取方法的研究[D].咸阳:西北农林科技大学ꎬ2016.
[8]㊀ShigehikoHAYASHIꎬKatsunobuGANNOꎬYukitsuguISHIIꎬetal.
RoboticHarvestingSystemforEggplants[J].JapanAgriculturalRe ̄searchQuarterly:JARQꎬ2002ꎬ36(3):163-168. [9]㊀FedericoPallottinoꎬCorradoCostaꎬPaoloMenesattiꎬetal.AssessmentofthemechanicalpropertiesofTaroccoorangefruitunderparallelplatecompression[J].JournalofFoodEngineering.2010(3).
[10]㊀熊杰ꎬ兰智高ꎬ谢伟.基于Lab特征模型的兵乓球追踪机器人的设计与实现[J].计算机测量与控制ꎬ2018ꎬ26(12):230-233
+282.
94。