机器人手眼标定

机器人手眼标定

一、机器人手眼标定

要实现由图像目标点到实际物体上抓取点之间的坐标转换,就必须拥有准确的相机内外参信息。其中内参是相机内部的基本参数,包括镜头焦距、畸变等。一般相机出厂时内参已标定完成,保存在相机内部。

相机外参表示的是机器人与相机之间的位姿转换关系(即手眼关系,因此相机外参的标定称之为机器人手眼标定)。机器人与相机在不同的使用场景下其相对位姿不固定,需要在工作现场进行标定才能获得相机与机器人之间的手眼关系。

由于机器人手眼标定会使用相机的内参,所以具有准确的内参是标定外参的前提。

机器人手眼标定的分类方式各不相同,根据相机相对于机器人的安装方式,将手眼标定分为两种:

  1. 相机独立于机器人固定在支架上,称为ETH(Eye to hand) 方式。
  2. 相机固定于机器人末端法兰上,称为EIH(Eye in hand) 方式。

同时,可使用多个随机标定板位姿或TCP 尖点触碰的方法添加标定点。

两者的主要区别在于:

  1. 多个随机标定板位姿:使用软件自动生成的轨迹点或手动添加的多个位姿,在每个位姿拍照并识别标定板角点,建立标定板、相机及机器人三者间的关系,其过程简单,标定精度高。
  2. TCP 尖点触碰:利用三点法确定标定板位姿后,建立标定板、相机及机器人三者间的关系。适用于机器人活动空间局促、无法使用上位机来控制和标定板无法安装等情况。
    分类方式如下图:

1. 眼在手上标定基本原理

机器人末端通过固定架将相机固定,此时机器人末端法兰中心与相机光心之间的位姿相对固定,即下图中的未知变量X;机器人末端法兰中心相对于机器人基坐标系(Base)的位姿为已知量B;相机通过对标定板(calibration grid)进行拍照,获得相机光心和标定板上每个圆点之间的位姿关系,可得已知量C;标定板平放在相机视野可达区域,其相对于机器人基坐标之间的位姿关系为一固定值A;这样变量A、B、C、X 构成闭环关系。下列等式中,由于A 为固定值,将前两个等式合并,得到的新等式中只有X 为未知待求量。变换机器人末端位姿进行不同角度拍照,得到多组A、B、C 的值,利用这些数值进行拟合计算,得到最优的X 的值。

在这里插入图片描述:

当使用TCP 触碰法标定时,标定板或者其它标定物放置在工作平面,机器人末端加装已知尺寸的TCP 尖点,触碰标定标定物,其中A、B、C 已知,则X 的值也可求得。

EIH 标定的是相机光心和机器人末端法兰中心之间的位姿关系。如果相机相对于机器人末端法兰中心坐标发生移动,对应的外参就会相应发生变化,此时需要重新标定外参。

2. 眼在手外标定基本原理

机器人末端通过法兰连接已知尺寸的标定板,可以得到标定板(calibration grid)上的每个标志点相对于机器人基坐标Base 的坐标A;通过相机拍照获得标定板上每个圆点的图像,可以得到相机光心相对于标定板上每个标志点的坐标B;相机光心和机器人基坐标(Base)之间的位姿关系X 为待求量。A、B 和X构成闭环,形成等式,可以在等式中求解未知数X。通过移动机器人,变换标定板相对于相机的位姿,可以得到多组等式,对这些等式的值进行拟合优化计算,最终得到最优的X 的值。位姿关系如下图所示。

当使用TCP 触碰法标定时,标定板放置在工作平面,机器人末端加装已知TCP 的尖点,触碰标定板圆点,其中A、B 已知,求解X 的值。

实际操作中,坐标A的获取有以下三种方式:

  1. 标定板到法兰末端位置关系已知(三点法或是已知连接件尺寸计算得到),则A 可以直接计算得到;
  2. 标定板到法兰末端位置关系未知,则通过标定板在标定过程中的一系列相对移动,通过数值方法计算得到标定板到法兰末端的位置关系,进而计算得到A;
  3. 标定板与机器人末端不固定,则可以通过已知tcp 坐标的尖点对标定板标志点进行触碰的方式计算得到A的数值。以上三种方式对应三种不同获取标定数据的方式。

ETH 方式标定的是相机光心和机器人基坐标之间的位姿关系。如果机器人基坐标或者相机发生移动,对应的外参就会相应发生变化,此时需要重新标定手眼关系。

二、眼在手外标定实验

下图为相机从上至下拍摄标定板,且计算出标定板圆心实验过程图片。

代码不便拿出来展示。其余实验过程此处省略。

三、标定精度分析

本人分别进行了采用多个随机标定板位姿的眼在手外标定和TCP尖点触碰进行标定实验。
多个随机标定板位姿标定方法 :集成了3D相机采集数据、机器人轨迹规划、数据处理算法,自动化程度较高,但标定精度较低,平均在2.5mm左右。
TCP尖点触碰方法 :需要人工实时指导调整位置,但标定精度较高,1mm以内。

经过多次相机引导机器人进行标定实验,总结下来 机械臂的运动重复性、光照条件、反射和阴影等环境因素、相机的内参、用于提取特征点的算法的准确性都会是影响标定精度的因素。

相关推荐
Quz4 分钟前
OpenCV在现代社会中的应用
人工智能·opencv·计算机视觉
湫ccc4 小时前
《Opencv》信用卡信息识别项目
人工智能·python·opencv·计算机视觉
old_power4 小时前
OpenCV 4.5至4.10版本更新概述
opencv·计算机视觉
ZPC82106 小时前
MoveItConfigsBuilder 配置机器人的完整示例
c++·人工智能·机器人
好评笔记6 小时前
多模态论文笔记——GLIDE(DALL·E 2模型的核心部件)
论文阅读·人工智能·深度学习·计算机视觉·transformer·glide·dall·e 2
是十一月末8 小时前
Opencv图片的旋转和图片的模板匹配
人工智能·python·opencv·计算机视觉
行知SLAM8 小时前
第2.0章 机器人及自动驾驶:C++ 如何精准“掌舵
算法·机器人·自动驾驶
AIGC安琪8 小时前
秋叶大神中文版Stable Diffusion下载安装使用教程
计算机视觉·stable diffusion·设计·产品摄影·产品精修
Maker~17 小时前
30、论文阅读:基于小波的傅里叶信息交互与频率扩散调整的水下图像恢复
论文阅读·计算机视觉
灵魂画师向阳19 小时前
【CSDN首发】Stable Diffusion从零到精通学习路线分享
人工智能·学习·计算机视觉·ai作画·stable diffusion·midjourney