基于3D视觉的机器人分拣实验系统研究与设计

2023-10-26 06:15赵岚,温秀兰
南京信息工程大学学报 2023年5期
关键词:位姿标定坐标系

0 引言

智能制造是先进制造技术和新一代信息技术的深度融合,代表着我国制造业高质量发展的主要方向.为了适应国际制造业发展新趋势、促进我国制造业转型升级、培养智能制造领域高素质人才,2017年教育部首次审批通过开设智能制造工程专业.智能制造具有引领性、交融性、创新性、跨界性和发展性等内涵和特征[1],涉及创新人才培养理念、培养模式、培养目标、培养体系、课程内容、实践平台、教学方式等一系列必须面对且普遍存在的核心和重大问题.其中,实践教育教学体系是智能制造工程教育的重要组成部分,对智能制造创新人才的培养至关重要[2].如何建设一个能够全方面训练智能制造领域的高级工程人才,让学生能够将所学知识加以实践的综合实训平台,是各高校面临的重大问题[3].文献[4]以新工科建设理念为指导,将智能制造生产线和虚拟仿真教学软件相结合,开发设计了“虚实结合”的智能制造虚拟仿真实训教学平台,取得了较好的实施效果.文献[5]构建了“自动化+数字化”为核心的汽车轮毂设计及生产智能制造实训平台,以解决高校智能制造工程专业缺乏系统化实践教学平台的问题.为提升学生综合创新实践能力,文献[6]研究设计了基于双目视觉的双臂协作教学机器人.

本文研究设计了基于3D视觉的机器人分拣实验平台,实验内容涵盖与智能制造密切相关的机械与机器人技术、机器视觉与图像处理算法、传感器与控制技术、软硬件设计等,设计了抓取不同类型物体的多种末端执行器,能够实现对不同颜色和形状物体识别与分拣.

1 机器人分拣实验系统总体设计

针对智能制造工程新专业综合实验教学平台紧缺、学生综合创新实践能力急需提升的迫切需求,本文设计了基于3D视觉的机器人分拣实验系统,系统总体设计方案如图1所示.Kinect相机采集待分拣物体现场输出彩色和深度3D图像,通过USB2.0传送至计算机,上位机软件经系统初始化、物体识别、物体定位和通信,输出分拣目标物体的颜色、形状和位姿信息.上位机软件与工业机器人控制器CS8C通过RS232串口通信方式传递目标物体信息,控制器通过PLC控制机械臂运动及末端执行器完成分拣任务.

图1 实验系统总体设计方案Fig.1 Overall design scheme of the experiment system

1.1 硬件实验平台设计

机器人按照关节连接方式不同分为串联机器人和并联机器人[7].在自动化工业生产中,串联机器人结构设计简单、运动空间范围大并且成本较低,广泛应用于3C、焊接、码垛等领域;并联机器人具有刚度大、承载能力强和末端件惯性小等优点,多应用于高速和大承载力场合.考虑本实验的实际使用场景及需求,机器人选择小型串联史陶比尔TX60六自由度机械臂,视觉传感器选择Kinect相机,它由彩色相机和深度相机组成,通过计算光飞行的时间来获取目标深度信息[8],系统硬件实验平台组成如图2所示.

图2 机器人分拣硬件实验平台Fig.2 Hardware experiment platform for robot sorting

该实验平台设计了气动吸盘和MHZ2-32D气动二指夹爪两种末端执行器,学生可自主选择完成对不同颜色和形状的圆柱体、长方体塑料块和齿轮的识别与分拣.

1.2 分拣系统软件架构

目前常用操作系统有Windows、UNIX、Linux和Mac OS X,考虑到学生对操作系统熟悉程度以及创建快捷人机交互界面需求,本实验系统选择Windows操作系统、编译环境VS2010,使用MFC上位机平台进行软件开发.系统使用开源计算机视觉库(OpenCV)和点云库(PCL)作为基础库,其中OpenCV处理彩色图片和深度图片信息生成点云数据,PCL用来处理点云数据,估计分拣目标物体的位姿信息.软件设计采用模块化编程思路,整体架构如图3所示,包含系统初始化、功能测试和主程序运行三大模块.

图3 系统软件整体架构Fig.3 Overall architecture of the system software

系统初始化操作主要完成分拣系统标定和通信参数设置.采用棋盘标定法完成深度相机的内外参数标定、手眼标定及相机配准.通信设置用来测试和保存串口号、波特率、数据位和发送方式等基本参数.功能测试模块包含深度修复、物体识别、位置确定和姿态估计4部分,是分拣系统算法的核心部分.主程序运行模块将各个功能模块及与工业机器人控制器通信等集成在一个系统程序进程中,通过与机器人控制器CS8C通信来控制机器人完成分拣作业.

2 系统标定

为了完成对相机视野内的目标物体定位任务,需要明确相机像素坐标系到系统世界坐标系之间的转换关系,将物体中心点的像素坐标转换成世界坐标系中的坐标,即完成Kinect相机的内外参数标定、手眼标定等工作.

2.1 相机内参数标定及配准

本文采用模型通用性较好的张正友标定法对相机参数进行标定工作[9],即将黑白方格个数为10×7、每一方格为29 mm×29 mm的标准棋盘格作为标定模板,采集现场环境下相机视野内足够多的彩色图片和景深图片,通过标定程序分别计算彩色摄像头和景深摄像头的内参数矩阵.为了将深度图像和彩色图像对齐,使彩色图像拥有深度信息,需要完成相机的配准工作,即计算彩色相机和深度相机之间的旋转矩阵和平移矩阵使深度图像与彩色图像统一到一个坐标系中.

2.2 相机外参数标定

相机外参数标定的目的在于确定相机坐标系与世界坐标系的映射关系,将物体从相机坐标系转换到系统的世界坐标系.为了缩短系统运算时间,在进行外参数标定时选择与相机坐标系平行的棋盘所在的工作桌面来建立相机系统的世界坐标系.

2.3 系统手眼标定

机器人分拣系统手眼标定的目的是建立机械臂所在的基坐标系与相机坐标系之间的关系,标定精度决定了机械臂是否能够到达指定的位置.常见的手眼标定有眼在手外标定即Eye-to-Hand和眼在手内标定即Eye-in-hand[10].本实验系统相机安装于工作区域上方固定位置,所以采用眼在手外方式进行手眼系统标定,获得相机到机器人基坐标系之间的映射关系.

3 图像预处理

图像预处理的目的在于增强有用信息的可检测性和最大限度地简化数据,消除图像中无关的信息,以提高物体识别与定位的精度及分拣的可靠性.

3.1 深度图像修复

Kinect相机深度数据获取采用PrimeSense公司发明的激光散斑(laser speckle)技术,即通过红外光照射到毛玻璃得到随机衍射斑点,再进行立体编码生成对应深度图,通过不同深度值来表示物体到相机的距离.若分拣目标物体表面非常光滑,激光散斑会发生镜面反射导致Kinect接收不到返回照射在物体表面上的激光散斑.若分拣目标物体的材质为吸光材料,则会吸收相机发射的激光散斑,导致空洞现象产生.同时,由于Kinect发射的是随机斑点,当激光斑点打在物体上时,虽然整个物体上面都均匀分布散射斑点,因斑点具有随机性,目标物体边缘处红外散斑并非均匀分布,在获取图像深度值时,在物体边缘处深度值会缺失,从而造成边缘毛刺产生[11].

空洞和毛刺将影响点云数据处理结果,需要进行修复处理.本文提出了将中值滤波预处理和最近邻插值修复相融合的空洞毛刺修复方法.首先通过中值滤波算法修复深度图像中小区域空洞毛刺点,再经最近邻插值法修复较大区域的空洞毛刺噪声点,修复效果如图4所示.为了进一步比较修复效果,表1列出了原图、中值滤波图和本文方法的峰值信噪比(PSNR)和信噪比(SNR).由图4和表1可见,经中值滤波处理后的深度图像比原图图像质量有较小的改善,但经本文提出的修复算法处理后的深度图像对比原图图像质量有了明显的提升.

表1 不同方法深度图像修复结果

图4 深度图像修复效果Fig.4 Results of depth image inpainting

3.2 图像裁剪

Kinect相机拍摄的是整个视野范围图像,输出的原始彩色图片和深度图片像素均为640×480,而标定板所在的桌面区域即分拣区域远小于输出图片,因此需要裁剪其他多余信息,提取感兴趣区域(Region of Interest,ROI),通过OpenCV裁剪函数来提取指定像素范围的图像.

3.3 图像分割

为了进一步减少图像处理所需时间,采用图像分割算法去除ROI的背景信息并提取目标物体,将所需分拣的物体与工作平面分离.本文采用基于边缘的分割方法,以Canny边缘检测算子为主体,引入分水岭算法实现对彩色图像的ROI区域背景的准确分割.

4 物体识别与定位

机器人能否在系统工作区域内准确地识别与定位目标物体,是机器人分拣实验系统的关键环节.

4.1 物体识别

支持向量机(Support Vector Machine,SVM)是根据统计学习理论中结构最小化原则以及VC维(Vapnik-Chervonenkis Dimension,VC维)理论提出的.SVM算法适合处理小样本、非线性、高维数和局部最优解等问题[12].本实验系统分拣对象为不同形状和颜色的物体,使用SVM分类器进行物体识别,考虑到分拣对象均为规则几何形状,为了提高系统实时性、减少程序计算量,形状识别采用边缘信息进行特征表述,颜色识别采用颜色特征直方图表述,物体识别流程如图5所示.

图5 物体识别流程Fig.5 Flow chart for object recognition

分别对20、50、100和150张圆柱体、长方体和齿轮物体的样本图片进行测试,实验中物体轴线与工作台面垂直摆放,其识别成功率如图6所示,平均为96.6%,标准差为1.40,说明物体识别算法准确性与稳定性都很高,能够满足实验要求.

图6 样本识别结果Fig.6 Sample identification results

4.2 物体定位

机器人控制器采用点到点运动形式,在驱动机械臂末端到达指定点完成分拣动作时,需要将末端位姿点坐标(x,y,z,Rx,Ry,Rz)传送给机器人控制器,实现物体定位.

本系统设计了两种位姿估计策略如图7所示.当被分拣物体独立摆放时采用策略一,即姿态设定为机器人零位状态,采用霍夫变换计算中心点位置.针对有重叠相互遮挡的物体采用策略二,即采用基于点云配准计算物体位姿.

图7 物体定位设计Fig.7 Object positioning design

4.2.1 基于霍夫变换的位置确定

本系统待分拣目标物体为规则形状,因此采用霍夫变换检测图像中的直线和圆,其中直线检测采用累积概率霍夫变换,圆检测采用霍夫梯度法.实验过程如图8所示,采用霍夫变换方法检测二值化后图片中的直线和圆,用矩形和圆拟合目标物体边缘,根据包围矩形和圆形,计算其中心点并显示在图片上.图8d边缘提取后右侧图未能得到完整图,原因是图像获取时光照不均匀,导致右侧图边缘亮度不够,与背景色接近,边缘提取不完整.解决该问题常用的方法是在图像预处理阶段对图像进行增强或者滤波,使得物体的边缘更加明显.

4.2.2 基于点云配准的位姿估计

点云配准时首先将获取的原始点云数据进行直通滤波,再计算点云法向量,将法线方向一致的归为一类点云数据,由最近邻查询点产生协方差矩阵C:

(1)

点云分割时先用欧几里得分割法对点云数据进行预处理,将单个分拣目标分离出来,对于有重叠部分的点云使用基于法线和基于颜色两种区域生长法进行分割.

点云配准时首先对点云数据采样,获得原始点云和目标点云;接着采用采样一致性初始配准算法(Sample Consensus Initial Alignment,SAC-IA)[13]进行粗配准,将经过SAC-IA粗配准后的点云作为新的原始点云,目标点云保持不变再经迭代最近点算法(Iterative Closest Point,ICP)[14]进行精配准及正态分布变换(Normal Distribution Transform,NDT)精配准[15],使原始点云数据最大限度地接近目标点云数据,输出配准结果即原始点云数据相对于目标点云数据的旋转和平移矩阵,完成姿态估计实验.

5 机器人分拣系统实验及结果分析

5.1 分拣系统测试实验

分拣实验系统软件初始界面包括“系统初始化”、“功能模块测试”、“开始”、“停止”和“结束”按钮.

5.1.1 系统初始化实验

系统初始化实验模块如图9所示,分为系统标定和通信实验两部分.系统标定用于完成相机内外参数标定和手眼标定.通信模块用于设置通信相关参数及测试机器人控制器与上位机之间通信是否正常.

图9 系统初始化实验模块Fig.9 System initialization experiment module

根据界面提示,载入Kinect相机视野范围内的20张不同位姿棋盘格图片,完成摄像机及手眼标定,结果如图10所示.

图10 标定实验结果Fig.10 Calibration experiment results

本系统机器人控制器数据传输类型为双精度浮点型,输入输出的位姿点均转换成8位双精度浮点型存储,通信测试实验如图11所示,右边区域为测试区域,通过比较测试位姿点与示教器读取位姿点来判断PC机与机器人控制器之间的通信结果.

图11 通信测试实验Fig.11 Communication test experiment

5.1.2 功能模块测试实验

根据分拣系统总体方案框架,该实验系统分为深度修复、物体识别、位置确定和姿态确定四大功能模块.根据各模块按钮提示进行操作,即可完成相关实验.其中物体位置和姿态确定实验结果分别如图12、13所示.

图13 姿态估计实验Fig.13 Attitude estimation experiment

5.2 机器人分拣实验

机器人分拣分为识别和抓取两个动作,根据被分拣物体是否有重叠相互遮挡,系统自动选择策略一或策略二完成智能分拣.图14为目标物体有重叠且相互遮挡,系统经点云配准完成智能分拣实验过程图.由图14可见,本实验系统能够对不同形状和颜色的物体进行准确分拣.

图14 机器人分拣实验Fig.14 Robot sorting experiment

Leica AT960测量精度为15 μm+6 μm/m,配置有TMAC探测器及Spatial Analyzer(SA)测量软件,能够同时完成末端位置和姿态测量[16].为了验证系统的定位精度,采用LeicaAT960激光跟踪仪测量塑料块中心点获得理论位姿,经点云处理生成实际位姿如表2所示.由表2可见,本系统提出的将SAC-IA粗配准、ICP精配准和NDT精配相融合的点云处理算法,获得的实际位姿精度高,能够满足系统分拣需求.

表2 点云处理生成的位姿点

6 结论

针对新工科专业前沿性、交融性和实践性强的特点,本文研究设计了基于3D视觉的机器人分拣实验平台,包括硬件实验平台搭建、软件系统及算法设计,实验结果证实了该平台能够完成相机标定、通信测试、图像预处理、物体识别、位置及位姿确定、智能分拣等系列实验.实验系统融合了机械与机器人、机器视觉与图像处理、软硬件设计等多种知识与技术,综合性强、开放性好,能够很好地提升学生的综合实践及创新能力,适于在智能制造、人工智能、机器人工程等新工科专业中推广应用.

猜你喜欢
位姿标定坐标系
使用朗仁H6 Pro标定北汽绅宝转向角传感器
解密坐标系中的平移变换
坐标系背后的故事
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
基于重心坐标系的平面几何证明的探讨
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
船载高精度星敏感器安装角的标定
小型四旋翼飞行器位姿建模及其仿真
基于Harris-张正友平面标定法的摄像机标定算法