一种果蔬采摘竞赛机器人的设计*
2022-09-03赵大旭
袁 越 , 赵大旭
(浙江农林大学光机电工程学院,浙江 杭州 311300)
机器人融合了机械、电子、信息等多学科技术,参加机器人相关学科竞赛,需要深入学习和理解机构学、机器人学、传感器技术、测试技术、机器视觉、图形图像处理、控制理论等相关领域的知识,分析机器人工作环境,设计具体作业参数,编程实现不同环境下的作业功能。智能采摘机器人是中国机器人及人工智能大赛的子赛项,比赛场地如图1所示。机器人从起点区出发,经过 A 区、B 区、C 区、D 区,采收果蔬,并在分类后放置到 D 区规定区域。
图1 比赛场地导图
1 机械结构与硬件系统设计
1.1 整体设计方案
机器人包括机械本体、检测传感系统、执行机构和控制系统几大部分,整体设计方案和布局如图2所示。基于模块化设计思想,机器人的行走、环境感知、机器视觉、采摘执行机构、机器视觉和主控制单元等子系统均以模块形式进行设计开发,可方便根据任务进行组合以及移植到其他机器人上。机械本体包括移动底盘和采摘机械臂,移动底盘承载所有设备和系统。底盘的移动功能由行走模块实现,该模块包括四个左右对称布置的无刷直流电机,可通过四轮驱动差动方式实现转向,具有较高的方向精度和转向灵活性。采摘机械臂是作业执行机构,采用了具有较大工作空间和较高的灵活性的五自由度关节型机械臂,末端执行器与各关节均由总线舵机驱动[1-3]。
图2 机器人整体设计
环境感知模块包括IMU单元(惯性测量单元)、光电颜色传感器、灰度传感器等,用于检测路径、作业环境和对象的特征信息。虽然视觉系统也承担了部分环境感知功能,但本设计的机器视觉模块是相对独立的,核心部分由摄像头和微处理器组成,主要功能是作业对象的定位、识别和导航信息的采集处理[4]。
1.2 控制系统硬件设计
本设计机器人选择了一个Arduino Mega2560控制器作为主控单元,其核心部件是一个ATmega2560单片机。机器视觉模块以Raspberry Pi微处理器为核心,视觉信息主要包括导航定位信息和果实的识别定位信息,由OpenMV模块采集并传输至Arduino Mega2560与Raspberry Pi进行处理[5]。
环境感知系统中,灰度传感器阵列用于检测轨迹线,以反馈关卡信息。IMU惯性传感器模块则用于检测机器人方向角,以确定移动方向,作为辅助导航信息,用于方向校正控制。定位导航功能主要依赖机器视觉模块完成,摄像头采集到位置标记信息,经Raspberry Pi处理,输出定位信息至主控制器[6]。
机器人的行走系统和采摘机械臂系统分别由直流电机和舵机驱动,其中直流电机由内置驱动器驱动,舵机由总线舵机驱动器驱动[7]。控制系统硬件框架及选型如图3所示。
图3 控制系统硬件框架及选型
2 控制程序设计
按照比赛规则,A区等间距摆放成熟的苹果、南瓜;B区等间距混合摆放成熟与不成熟的苹果、南瓜;C区混合摆放成熟与不成熟的西红柿;D区等间距布置三个不同作物的收集区。比赛过程中,机器人需要尽可能多采摘成熟果蔬,并在比赛结束前尽可能准确地将收获果蔬分类后分别倾倒在不同收集区,通过语音播报采摘成果,完成整个比赛。根据各关卡特点,设计了控制策略,编写了对应的控制程序。
2.1 控制策略设计
依据赛方规则,结合机器自身结构,设计了相应的控制策略。A区与B区的作业对象等距分布在路径两侧,C区分布更密集,其中A区为模拟果树,B区、C区为模拟蔬菜。除A区外,都存在不成熟果蔬,因此针对每个关卡,设计了有针对性的控制策略。A区之外增加了视觉识别环节,定位并判断作业对象后通过机械臂实施采摘作业。
2.2 定位与导航子程序
由于比赛场地在第一、四关卡布置了循迹线,第二、三关卡没有布置循迹线,因此设计了两套导航方案。一是依赖循迹线的基于循迹传感器的导航策略,二是不依赖循迹线的基于视觉特征并结合IMU的定位导航策略。
基于循迹传感器的导航系统是利用传感器中光敏电阻对不同颜色反射光的对应阻值不同,输出不同强弱的电信号,主控板结合当前车身姿态判断出车身与循迹线的相对位置,并进行调整;基于视觉特征的导航系统是在Raspberry Pi上实现的,通过摄像头获取帧缓存图像之后,利用OpenCV的库函数进行图像处理,通过模板匹配获得完整清晰的十字标图像,并拟合导航线求解出其中心坐标;最后返回导航参数,主控板调整电机速度和方向,完成纠偏。视觉导航流程如图4所示,十字标提取效果如图5所示。
图4 视觉导航流程
图5 十字标提取效果
2.3 识别子程序设计
作业过程中,机器人需要判断作业对象的类型与成熟程度,以确定是否实施采摘。本设计用LAB颜色模型进行颜色识别,对图像进行预处理后进行HSV转换,再对其用灰度变换和阈值分割后进行形态学处理,最后提取出轮廓,进行果实种类对比,识别果实的种类及成熟与否。苹果、西红柿图像处理及轮廓提取的效果分别如图6、图7所示,对象识别的流程如图8所示[8-9]。
图6 苹果图像处理及轮廓提取效果
图7 西红柿图像处理及轮廓提取效果
图8 对象识别流程
2.4 视觉伺服子程序设计
确定作业对象可以采摘后,机器人需要控制机械臂实施作业,课题组设计了基于位置的手眼协调控制方案:根据图像提取目标特征信息,估算出目标物体相对于机器人末端的位姿,然后利用与期望位姿的偏差进行反馈控制,直接在笛卡尔坐标空间应用较成熟的控制方法对机器人进行控制,把视觉处理过程问题从机器人控制中分离出来,分别对二者进行研究。手眼协调分析如图9所示。
图9 手眼协调分析
在正常情况下,首先需要通过一系列图像处理及计算得到果实的空间坐标,再结合机械臂自身参数,计算出各关节需转动的角度,完成采摘作业。但这种方法的控制精度在很大程度上要依赖于从图像到位姿的估计精度,并且需要进行逆运动学运算,依赖于摄像机的系统模型、标定精度、图像处理等,需要较大的算力支持[10]。
受软硬件成本限制,课题组选择了逼近法代替计算法:通过单目摄像头(具体什么形式型号,在前文中已经叙述,所以此处可以不强调单目)提取出果实图像后,经过图像处理和初步计算得到果实相对于机械爪掌心摄像头画面中心的二维平面坐标,并通过调整云台处舵机进行末端执行器的二维校准。再根据反馈回来的果实距离设置分层次的比例系数,使得机械臂各关节角度均匀缓慢变化,直至果实距离趋近合理,完成三维校准,并实施采摘,视觉伺服程序流程图如图10所示。
图10 视觉伺服程序流程图
3 结语
以赛方规则为基本要求,课题组设计了一款以Arduino单片机为控制核心的采摘竞赛机器人,完成了行走模块、传感模块、机械臂执行模块、机器视觉模块和总控制模块这五个模块的结构和程序设计,同时特殊的语音播报系统可以进行果实收获情况的播报。自主导航的行走方式和手眼协调的采摘作业方式对该类竞赛具有一定参考价值,课题组设计的机器人在2021年中国机器人及人工智能大赛中获得了该赛项冠军,在一定程度上验证了其可靠性。