刘力维
(北京信息职业技术学院,北京 100018)
近几年来,随着“中国制造2025”的启动和人工智能的发展,国内的各行各业出现了越来越多机器人的身影,如机器人医生、机器人快递员、机器人服务生、农业机器人等。相较于过去人们印象中“身躯笨拙、只能做简单工作”的机器人,现在机器人的身手越来越灵活,落地应用场景也日益丰富。目前,我国是全球水果第一生产大国,果园种植面积也在不断扩大,水果的采摘需要大量劳动力,采摘机器人的需求也在日益提高。为此,设计了基于嵌入式和机器视觉的采摘机器人机械臂运动控制与目标抓取系统,旨在实现对目标水果的定位识别和采摘。
采用嵌入式平台设计采摘机器人机械臂研究平台,实现包括目标识别、运动控制、避障运动和目标抓取的控制。采摘机器人机械臂研究平台的结构如图1所示。
为了实现对采摘机器人机械臂的运动控制与目标抓取,设计了如图2所示的控制处理流程图。采摘机器人机械臂主要是利用图像处理、目标定位重构和机械臂运动控制3个模块,实现对目标物体的抓取。其中,图像处理模块是通过机器相机获取目标物体的图像,利用图像处理技术对图像进行噪声消除、目标检测等处理;目标三维重构是将图像处理模块求解的目标物位姿等信息进行三维重组,结合相机标定、物体和采摘机器臂的空间几何关系,得到其空间坐标信息;机械臂运动控制模块获取到目标物体的空间坐标,对机器臂进行运动规划,实现对目标物体的抓取。
图1 采摘机器人机械臂研究平台的结构图Fig.1 The structure diagram of the research platform for the mechanical armof the picking robot
图2 系统控制处理流程图Fig.2 The flow chart of system control processing
为了实现对目标物体的识别和定位,采用位置式的视觉定位系统,结构如图3所示。
图3 视觉定位系统结构图Fig.3 The structure diagram of visual positioning system
为了从第一视觉获取目标物体相对于采摘机械臂的空间位置,将相机安装固定在采摘机械臂上,嵌入式平台通过对采集到的目标图像进行计算和分析,结合坐标转换计算出相对于采摘机械臂的坐标位置,再根据机械臂的实际位置设计出机械臂采摘该目标物体的运动轨迹,传递给运动控制系统,实现对目标物体的采摘。
采摘机器人机械臂的驱动控制实际上是对多个自由度关节上的伺服电机进行控制,包括速度、转矩、位置控制3种方式。结合应用需要,笔者采用位置控制模式,其控制结构如图4所示。采摘机器人机械臂运动控制系统是一个半闭环的控制系统,系统通过实时采集伺服电机内部位置传感器的转角、转速信息到嵌入式微处理器,实现对电机转角位置进行精确的计算。
图4 采摘机器人机械臂运动控制系统结构图Fig.4 The structure diagram of manipulator motion control system of picking robot
为了对采摘机器人目标物体的识别和定位进行分析,以苹果作为采摘目标,根据实际需求将苹果作为待定位的物体,对苹果的中心进行定位,如图5所示。目标物体识别与定位流程为:①目标物体图像预处理;②目标物体轮廓提取与识别;③求解目标图像坐标。
图5 苹果目标图像Fig.5 Apple target image
1)目标物体图像预处理。目标物体图像预处理主要是为了消除相机在拍摄过程中引入的环境噪声,对有用的信息进行增强操作,简化图像数据,提高图像算法处理效率。目标物体图像预处理流程包括灰度化、高斯滤波、二值化、闭运算和开运算等。二值化后的苹果图如图6(a)所示。
2)目标物体轮廓提取与识别。目标物体的图像经过预处理后,会开始显现出清晰的轮廓。采用界跟踪算法Suzuki 85对二值图像边界进行提取,在OpenCV的计算函数为FindContours( ),获取到的目标轮廓如图6(b)所示。
图6 苹果目标图像处理Fig.6 The image processing of apple target
提取到目标物体的边缘轮廓后,会有很多无用的甚至是影响识别的轮廓信息,为了得到目标物体的轮廓和实现定位,还需要从众多目标轮廓中进行辨识。在此,采用轮廓特征(包括轮廓面积、最小外接矩形长宽比、轮廓面积与最小外接矩形面积比等)为辨识条件实现对苹果轮廓的识别。
3)求解目标图像坐标。假设苹果的中心点和质心坐标一致,可以通过求出苹果轮廓的中心点获得其中心像素坐标,从而实现对苹果目标的定位。首先,计算出苹果图像的轮廓矩,尺寸M×N的图像f(i,j),其p+q阶的几何矩阵mpq的计算表达式为
(1)
其中,当p=q=0时,m00为零阶矩,表示轮廓内白色区域像素之和,也就是整个轮廓的总像素面积;当p=1、q=0时,m10为一阶矩,表示白色区域像素的x坐标值之和;当p=0、q=1时,m01为一阶矩,表示白色像素的y坐标值和。那么,可以求出图像质心(i,j)的坐标为
(2)
通过以上方法计算出目标物体轮廓的质心,得到其中心点坐标,便可以根据相机标定的关系求出其在世界坐标系中的空间坐标。
采摘机器臂包括跟踪式和拦截式两种目标物体抓取的方法。前者是针对静止中的目标,通过机械臂对目标进行实时跟踪,在此过程中不断测量目标物体的位置和姿态,直到机械臂末端和物体之间的误差为0;后者则是针对移动中的目标,根据目标物体的移动速度对机械臂末端的抓取位置进行预测,从而控制机械臂进行理想的抓取。
由于采摘机械臂在抓取过程中,需要主动避开树枝等障碍物,因此结合系统需求选择跟踪式和拦截式相结合的抓取方式。在对采摘目标跟踪过程中,当出现障碍物时会先采用拦截式的方法逐渐逼近目标物;而当采摘机械臂和目标物体之间的距离和误差较小时,便开始采用跟踪式的方式进行抓取。目标物体抓取流程如图7所示。
图7 目标物体抓取流程图Fig.7 The flow chart of target object grabbing
采摘机器臂的运动控制是抓取目标物体的核心,主要任务是在采摘机器人的工作空间中控制采摘机器臂,完成姿态、运动轨迹和目标物体的抓取。常用的机器人运动轨迹方法包括蜂群、人工势场、模拟退火等算法,这些算法在进行轨迹求优过程中需要对采摘机器人机器臂进行建模,随着自由度的增加会大大增加计算量。由于嵌入式平台计算能力有限,这样会导致路径搜索效率比较低。
因此,采用快速随机搜索树(Rapid-Xploration Random Tree,RRT)对算法采摘机器臂运动轨迹进行规划,基本思路是:将采摘机器臂末端执行器作为搜索树的根节点,按照特定的标准确定搜索树上的1个已知的节点,搜索标准是设定采摘机器臂路径规划的约束条件,再对已知的节点进行大量扩展,直到找到采摘的目标点。RRT算法通过选择随机的采样点使得机械臂向先前没有搜索到的区域进行搜索,可以不断完善搜索树。该算法具有搜索能力强、速度快的特点,能够满足多自由度采摘机械臂对实时性的要求。RRT算法的常用步骤如下:
1)初始化采摘机械臂作业环境,设定起点Xinit、终点Xgoal和机械臂规划区域。
2)在机械臂规划的区域内,随机生成一个采样点Xrand。
3)在所建立的树中,寻找随机采样点Xrand最近的节点Xnear。
4)根据树的生长特点,连接Xrand最近的节点Xnear,设定这个方向为树的生长方向,并设定树的生长步长StepSize,让树StepSize以朝着生长方向生长,每个步长产生一个新的节点Xnew。
5)判断生长过程中的连接线是否存在障碍物:若有,放弃这一节点;否则,将新的节点添加进来,一直重复以上步骤,直到新产生的节点距离Xgoal小于步长StepSize,停止树的增长,连接该节点和终点Xgoal。
RRT算法规划的路径花费较大、弯折会比较多,如果直接采用RRT算法规划的路径来控制采摘机械臂,会让采摘机械臂在作业过程中出现速度和加速度突变的情况,造成机械臂振动过大,故采用稀疏节点产生机制对RRT算法进行优化,如图8所示。
图8 基于稀疏节点方式的RRT算法流程Fig.8 The RRT algorithm flow based on sparse node mode
图9 基于稀疏节点方式优化后的路径示意图Fig.9 The schematic diagram of optimized path based on sparse node mode
为了验证采摘机器人机械臂的运动控制与目标抓取的准确度,进行了实际的抓取试验。为了避免环境因素的干扰,采用抓取静止苹果目标的方案。定位和采摘结果如表1所示。
表1 定位和采摘结果
由表1可以看出,采摘机器人对目标苹果的识别和定位准确度比较高。虽然定位存在误差,但成功采摘率达到了100%,具有一定的准确性和稳定性。
为了实现对水果目标的定位和采摘,基于嵌入式和图像处理技术,引入RRT算法,设计和实现了基于嵌入式和机器视觉的采摘机器人机械臂运动控制与目标抓取系统。采摘试验结果表明:系统对苹果的识别和定位准确度比较高,成功采摘率达到了100%,具有一定的准确性和稳定性。