[视觉]《单目工业相机+激光测距传感器(标定)》

先小叙一下

data:2019.12.30
今天和同学聊了聊,决定把有道云里面的笔记找些放到论坛上和大家分享一下,发挥一下共享精神。
《单目工业相机+激光测距传感器(标定方法)》来源于之前做的一个工程项目,具体项目就不说了,总之就是基于工业相机和激光测距传感器,实现工业机器人末端对目标的一个抓取。整个过程标定比较麻烦,经过一番探索,现在将其分享一下。
。。。本来是想12.30号晚上发表的,结果耽搁了一下。

**注意:**本方法需要激光测距能打在待测物体,需要激光测距与相机光轴平行

主要设备

工业相机、安川工业机器人(这个主要影响,机器人的姿态表示是哪种类型,安川这个是zyx型)、红外激光传感器、软件:halcon、matlab等

标定步骤

手眼标定、相机标定均采用halcon软件,整体流程简化为:首先,将标定板放置在地面或者垂直平面(保证能从相机中清晰的看见标定板),多次移动机器人末端的位置,同时采集每一次的图像(图像中包含标定板),和机器人末端的位姿信息。将这些信息输入halcon的标定程序中,最终可以获得相机坐标系与机器人基坐标系的关系。然后通过相机标定助手获得像素坐标与相机坐标系坐标的转换矩阵。通过上述转换矩阵可求得物体在机器人基座标系的空间坐标。

  1. 首先创建标定板,尽量弄大一点的标定板(提高标定精度);
  2. 在halcon输入机器人末端位姿信息,以安川为例,其坐标有(x,y,z,Rx,Ry,Rz),采用halcon自带的案列,选择zyx/abg型;移动机器人末端位姿(尽量多几个自由度的位移),每移动一次采集一次相机图像(图像中的标定板必须清晰)并保存,并将机器人末端信息记录下来,注意保证图像与机器人末端的一一对应,输入14组以上;
  3. 相机标定初始参数,可以通过halcon的相机标定助手获得,本相机为Manta 319B型相机,可以采用注意Sx,Sy为3.45μm,焦距为8mm;
  4. 通过halcon手眼标定程序可以获得Tool_H_Cam的转换关系,注意halcon中只提供了转换姿态关系,需要自己进行转换,平移矩阵按传统转换,但是旋转矩阵注意是和生成的姿态类型对应,R=RzRyRx,如下图【halcon中的姿态类型说明】所示:
    [视觉]《单目工业相机+激光测距传感器(标定)》_第1张图片
  5. 通过Base_H_Tool矩阵由机器人本身的姿态数据提供;
  6. 物体在空间中的坐标通过相机标定的内参转换,把物体的像素坐标转换到基于相机坐标系的空间坐标,下图是MATLAB中将物体像素坐标转换到相机坐标系的空间坐标的程序[视觉]《单目工业相机+激光测距传感器(标定)》_第2张图片
  7. 通过Base_H_Cam转换得到物体在机器人基坐标系的坐标;
  8. 最后的结果通过matlab验证,其转换结果与halcon一致。下图是matlab中计算的标定结果和halcon自带工具箱计算的结果。
    [视觉]《单目工业相机+激光测距传感器(标定)》_第3张图片
    [视觉]《单目工业相机+激光测距传感器(标定)》_第4张图片

后记

其实后面想了下项目中采用的这种方法并不是那么好,因为需要激光点能打在物体上,如果是镂空结构,就容易出错。进一步可以采用现在比较主流的RGB-D深度相机来实现,但是这种相机要想进一步应用在工业中,其精度还有待提高。

你可能感兴趣的:([视觉]《单目工业相机+激光测距传感器(标定)》)