单点抓取--Vision Master


机器视觉中常常需要使用工业相机进行手眼标定,让机器获取视觉算法的能力;手眼标定是指通过校准机器人手部与其视觉系统之间的关系,以确保机器能够准确地定位和操作目标。在手眼标定过程中,机器人手部的位置和姿态会与相机拍摄到的物体特征进行对应,从而建立二者之间的准确关联关系。

通过手眼标定,机器可以根据视觉系统提供的信息,精准地获取目标的位置和姿态,实现精准抓取、放置、定位等操作。手眼标定在工业自动化、机器人操作、计算机视觉等领域都有广泛的应用。

手眼标定是一项重要的工作,可以确保机器人与视觉系统协同工作时的精准性和准确性。本片文章将会从基础的单相机标定抓取进行展开,聊聊在Vision Master中如何完成简单的手眼标定抓取项目。

准备工作

面对定位项目首先需要的,是对项目的精度做数据考量,机构的执行误差、对位的项目公差、视觉系统的视觉精度误差,都是我们在开展这项工作前应当首要考虑到的,对于定位项目来说项目的定位精度应当是由以下三个部分组合而成:

  • 定位精度 = 机构精度(1/3)+ 运动精度(1/3)+ 视觉精度(1/3)

对于视觉精度部分,定位项目中引起精度误差的因素有:标定误差、图像算法处理误差、坐标转换误差。为了达到视觉精度要求,常常要求视觉的单像素精度为视觉精度的1/3。

  • 例如:某个项目现阶段需要做到±0.12mm的精度,项目是否可行呢?

那么首先我们得考虑,定位物品的刚性强度,如果是柔软的材料,那肯定是没办法做的,材料刚性越柔软,其定位精度越差(形变必然引起误差)。

此次,我们要考虑材料的大小,视觉中一个重要的准则是:视野越大,精度越差,视野越小,精度越高,对于一款较大的产品,必然视野也得相对应做大,那么也在一定程度上拖垮了视觉的精度。

如果材料和视野都不成大问题,那么此时视觉的精度就占据了整个项目精度的1/3,也就是0.04mm,再来还要考虑成像上,边缘位置还需要再考虑过渡带,此时单像素精度就得做到视觉精度的1/3,也就是0.04*(1/3)= 0.0133mm/pixel。

只有完成以上的准备工作后,才能进行后续的算法应用工作。

标定工作

标定目的:把图像坐标和现实的物理坐标统一起来,计算两套坐标的坐标映射关系,根据应用场景,可以将其分为末端执行器共轴与不共轴两种项目场景,那么在Vision Master(以下统一称作VM)中则可以对应使用平移标定以及平移旋转标定两条不同的路线。

平移标定,一般使用9点标定,平移旋转标定,则是在此基础上引入N点的旋转坐标标定(通常为3点旋转标定)

在VM中,使用平移旋转标定算法模块,通过记录相机与机械臂的9个坐标点,可以自动生成一份标定数据文件,后续的单点对位模块利用此坐标映射文件,就能够通过像素特征映射获取到现实物理坐标,从而实现手眼标定的功能。

平移像素平均误差和旋转像素平均误差:根据实际精度要求判断,一般建议在一个像素以内。
角度旋转一致性:表示图像坐标系与机械手坐标系的旋转一致性,1 表示旋转一致,-1 表示旋转方向相反,需旋转机构查看旋转一致性是否判断准确。

示教工作

示教目的:通过示教建立目标检测物的基准像素坐标和物理坐标之间的关系;引导机械手以基准姿态抓住物料,并记录此时机械手坐标,然后回拍照位记录此时的图像特征点;实际生产时以此时图像特征点作为基准,将生产时图像特征点和基准图像特征点转到物理坐标系计算偏差。

项目测试

完成前面的标定以及示教工作,即可做最后的测试。

生产拍照位坐标为示教拍照位坐标,可产生 X/Y 偏移(最终偏差需在单点抓取偏差的基础上加上拍照位变化量),但拍照姿态(相机旋转角度)必须保持不变;生产拍照位与标定时的工作距离必须保持不变。

在单点抓取模块中输入图像的特征点数据信息,以及机构的物理坐标,拍照时(第五点)的物理坐标,加载标定文件,完成单点抓取模块的配置工作。

模块结果分为相对坐标及绝对坐标,绝对坐标则为机构抓取的位置。使用格式化模块订阅单点抓取模块输出的偏差值/绝对坐标,然后使用发送数据模块将结果发送给机械手,机械手按照绝对坐标可实现引导定位。


文章作者: Viktor Chen
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Viktor Chen !
评论
  目录