System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Aruco码矩阵的机器人手眼标定方法及应用技术_技高网

一种基于Aruco码矩阵的机器人手眼标定方法及应用技术

技术编号:42568375 阅读:7 留言:0更新日期:2024-08-29 00:35
本方案提供了一种基于Aruco码矩阵的机器人手眼标定方法及应用,适用于设有相机以及机器臂且相机同机器臂分置设置的机器人,在水平平面上放置至少三个不同Aruco码,且多个Aruco码沿同一标定线排列设置;依次移动机器人至机器人基坐标系的不同方位的方位轴分别平行于标定线设置,每当其一方位轴平行于标定线设置时以手眼标定规则进行当前方位轴对应的机器人的手眼标定,不需要复杂的计算公式,属于轻量级的手眼标定方法,且也更容易被理解并追踪手眼标定失败的原因。

【技术实现步骤摘要】

本申请涉及机械人的手眼标定领域,特别是涉及一种基于aruco码矩阵的机器人手眼标定方法及应用。


技术介绍

1、机器人的手眼标定是一个关键的研究领域,主要用于提高机器人系统在执行精密任务时的准确性和效率,这一过程涉及到计算和校正机器人手臂末端执行器(即“手”)与其视觉系统(即“眼”)之间的相对位置和方向,通过把深度相机观察到的目标点三维坐标经过旋转和平移后使其基于深度相机坐标下系的目标坐标转化为基于机器人基坐标系下,因此本质上的机器人手眼标定其实就是求解机器人基坐标系和相机坐标系转换矩阵t,也就是求解旋转关系r(rx,ry,rz)和平移向量t(x,y,z),准确的手眼标定对于机器人执行诸如装配、焊接或手术等复杂操作至关重要。

2、常规的方法是采用棋盘格和aruco码实现手眼标定:

3、棋盘格方式是将相机固定在机器臂之外并在标定期间保持相机不动。打印或者购买标准的棋盘格,将棋盘格固定在机器人手臂末端位置,随后移动机器臂末端,每移动机器臂末端一次触发相机拍摄一次,连续拍摄多次根据不同角度拍摄图像求解相机与机器臂之间的坐标转换矩阵。然而这种方式存在诸多缺陷:1.标定过程十分复杂且对拍摄角度有一定的要求,通常需要棋盘格占据画面面积二分之一左右较好,但是这样做又限制了机器臂在校准时候的移动范围(移动范围较大时候会导致棋盘格在画面之外),而考虑到校准精准度往往又需要尽可能的拍摄更多的不同的视角。2、棋盘格的精度和opencv的不稳定性(对棋盘格的识别依赖opencv内置算法)以及机器臂精度原因会产生误差累积,最终导致标定的结果通常不够理想。3、算法复杂需要较好的数据基础。

4、easy_handeye方式是打印一个aruco码,将aruco码固定在机器臂末端,移动机器臂末端,每移动机器臂末端一次触发相机拍摄一次,连续拍摄多次根据不同角度拍摄图像求解相机与机器臂之间的坐标转换矩阵,但该方法也存在以下缺陷:1.同样需要采集大量的照片数据进行计算,一般来说采集的图像数量越多则意味着标定的结果越准确。2、考虑到深度相机和机器臂本身的精度,也会在标定过程中导致误差累积。3、算法复杂需要较好的数据基础。

5、综合来说以上方法都需要在不同角度拍摄大量照片并依赖svd或者lie群等复杂算法来迭代求解出最优变换矩阵t,对拍摄角度和算法都有较高的要求,这也是目前市面上的机械人在手眼标定后依旧难以达到预期精度,而是依旧需要手动微调的原因。


技术实现思路

1、本申请实施例提供了一种基于aruco码矩阵的机器人手眼标定方法及应用,不需要配置复杂的系统环境也不需要复杂的算法即可快速准确地实现手眼标定。

2、第一方面,如图1所示,本申请实施例提供了一种基于aruco码矩阵的机器人手眼标定方法,适用于设有相机以及机器臂且相机同机器臂分置设置的机器人,包括以下步骤:

3、在水平平面上放置至少三个不同aruco码,且多个aruco码沿同一标定线排列设置;

4、依次移动机器人至机器人基坐标系的不同方位的方位轴分别平行于标定线设置,每当其一方位轴平行于标定线设置时以手眼标定规则进行当前方位轴对应的机器人的手眼标定;

5、其中手眼标定规则为:获取标定线上的aruco码在机器人基坐标系中的坐标位置,通过二分法迭代机器人基坐标系的旋转关系的旋转分量直到所有aruco码在平行于当前方位轴的同一方位平面的位置差小于设定阈值,以当前旋转分量修正机器人的旋转矩阵;移动机器人的机器臂置于水平平面上再次获取标定线上的aruco码在机器人基坐标系中的坐标位置,获取机器人末端和aruco码相对同一方位平面的差值,以差值修正机器人的平移矩阵。

6、第二方面,本申请实施例提供了一种基于aruco码矩阵的机器人手眼标定方法,适用于设有相机以及机器臂且相机同机器臂分置设置的机器人,相机与机器人基坐标的y方向平行,包括以下步骤:

7、在水平平面上放置至少三个不同aruco码,且多个aruco码沿同一标定线排列设置;

8、依次移动机器人至机器人基坐标系的x轴或者y轴的方位轴分别平行于标定线设置,每当其一方位轴平行于标定线设置时以手眼标定规则进行当前方位轴对应的机器人的手眼标定;

9、其中手眼标定规则为:获取标定线上的aruco码在机器人基坐标系中的坐标位置,通过二分法迭代机器人基坐标系的旋转关系的旋转分量直到所有aruco码在平行于当前方位轴的同一方位平面的位置差小于设定阈值,以当前旋转分量修正机器人的旋转矩阵;移动机器人的机器臂置于水平平面上再次获取标定线上的aruco码在机器人基坐标系中的坐标位置,获取机器人末端和aruco码相对同一方位平面的差值,以差值修正机器人的平移矩阵;

10、将任一aruco置于水平平面上读取当前aruco沿着y轴方向的y1值,再将机器臂置于相同的位置后读取此时机器臂沿着y轴方向的y2值,取y1值和y2值的差值以修正机器人的平移矩阵。

11、第三方面, 本申请实施例提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行任一所述的基于aruco码矩阵的机器人手眼标定方法。

12、本专利技术的主要贡献和创新点如下:

13、本申请实施例提供了一种基于aruco码矩阵的机器人手眼标定方法及应用,旨在利用根据机器人基坐标系的旋转矩阵r(rx,ry,rz)以及平移矩阵t(x,y,z)会在不同程度上影响aruco码在机器人基坐标系中的坐标位置的原理,巧妙地利用旋转矩阵r(rx,ry,rz)以及平移矩阵t(x,y,z);来对影响关系进行求解进而实现手眼标定,不同于传统方式的一次性求解旋转矩阵r(rx,ry,rz)以及平移矩阵t(x,y,z)的方式,本方案提供的手眼标定方法不需要复杂的计算公式,属于轻量级的手眼标定方法,且也更容易被理解并追踪手眼标定失败的原因。另外,该手眼标定方法的校准精度更高,极大程度上避免了相机精度和机器臂的精度导致的误差累积,环境配置简单不需要配置复杂系统环境。

14、本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

本文档来自技高网...

【技术保护点】

1.一种基于Aruco码矩阵的机器人手眼标定方法,适用于设有相机以及机器臂且相机同机器臂分置设置的机器人,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于Aruco码矩阵的机器人手眼标定方法,其特征在于,机器人基坐标系的不同方位的方位轴指的是机器人基坐标系的X轴、Y轴以及Z轴,根据X轴-Y轴-Z轴的顺序、X轴-Z轴-Y轴的顺序、Y轴-X轴-Z轴的顺序、Y轴-Z轴-X轴的顺序、Z轴-X轴-Y轴的顺序、Z轴-Y轴-X轴的顺序的任一选择依次移动机器人至机器人基坐标系的三个方位轴分别平行于标定线设置。

3.根据权利要求1所述的基于Aruco码矩阵的机器人手眼标定方法,其特征在于,针对于机器人基坐标系的X 轴平行于标定线设置时,获取标定线上的Aruco码在机器人基坐标系中的坐标位置,通过二分法迭代机器人基坐标系的旋转关系的旋转分量ry直到所有Aruco码在平行于X轴的同一方位平面的位置差小于设定阈值,以该旋转分量修正旋转矩阵中的ry,移动机器人的机器臂置于水平桌面上再次获取标定线上的Aruco码在机器人基坐标系中的坐标位置,获取机器人末端和Aruco码相对X轴的同一方位平面的差值z,以z修正机器人的平移矩阵。

4.根据权利要求1所述的基于Aruco码矩阵的机器人手眼标定方法,其特征在于,针对于机器人基坐标系的Y 轴平行于标定线设置时,获取标定线上的Aruco码在机器人基坐标系中的坐标位置,通过二分法迭代机器人基坐标系的旋转关系的旋转分量rz直到所有Aruco码在平行于Y轴的同一方位平面的位置差小于设定阈值,以该旋转分量rz修正旋转矩阵中的rz;移动机器人的机器臂置于水平桌面上并同标定线位于同一直线上,再次获取标定线上的Aruco码在机器人基坐标系中的坐标位置,获取机器人末端和Aruco码相对Y轴的同一方位平面的差值 x,以x修正机器人的平移矩阵。

5.根据权利要求1所述的基于Aruco码矩阵的机器人手眼标定方法,其特征在于,针对于机器人基坐标系的Z 轴平行于标定线设置时,获取标定线上的Aruco码在机器人基坐标系中的坐标位置,通过二分法迭代机器人基坐标系的旋转关系的旋转分量rx直到所有Aruco码在平行于Z轴的同一方位平面的位置差小于设定阈值,以该旋转分量rx修正旋转矩阵中的rx;移动机器人的机器臂重叠于任一Aruco码的位置再次获取标定线上的Aruco码在机器人基坐标系中的坐标位置,获取机器人末端和Aruco码相对Y轴的同一方位平面的差值y,以y修正机器人的平移矩阵。

6.一种基于Aruco码矩阵的机器人手眼标定方法,适用于设有相机以及机器臂且相机同机器臂分置设置的机器人,相机与机器人基坐标的Y方向平行,其特征在于,

7.根据权利要求6所述的基于Aruco码矩阵的机器人手眼标定方法,其特征在于,按照X轴-Y轴-Z轴的顺序或X轴-Z轴-Y轴的顺序依次移动机器人至机器人基坐标系的方位轴分别平行于标定线设置。

8.根据权利要求6所述的基于Aruco码矩阵的机器人手眼标定方法,其特征在于,针对于机器人基坐标系的X 轴平行于标定线设置时,获取标定线上的Aruco码在机器人基坐标系中的坐标位置,通过二分法迭代机器人基坐标系的旋转关系的旋转分量ry直到所有Aruco码在平行于X轴的同一方位平面的位置差小于设定阈值,以该旋转分量修正旋转矩阵中的ry,移动机器人的机器臂置于水平桌面上再次获取标定线上的Aruco码在机器人基坐标系中的坐标位置,获取机器人末端和Aruco码相对X轴的同一方位平面的差值z,以z修正机器人的平移矩阵。

9.根据权利要求6所述的基于Aruco码矩阵的机器人手眼标定方法,其特征在于,针对于机器人基坐标系的Y 轴平行于标定线设置时,获取标定线上的Aruco码在机器人基坐标系中的坐标位置,通过二分法迭代机器人基坐标系的旋转关系的旋转分量rz直到所有Aruco码在平行于Y轴的同一方位平面的位置差小于设定阈值,以该旋转分量rz修正旋转矩阵中的rz;移动机器人的机器臂置于水平桌面上并同标定线位于同一直线上,再次获取标定线上的Aruco码在机器人基坐标系中的坐标位置,获取机器人末端和Aruco码相对Y轴的同一方位平面的差值 x,以x修正机器人的平移矩阵。

10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1或6任一所述的基于Aruco码矩阵的机器人手眼标定方法。

...

【技术特征摘要】

1.一种基于aruco码矩阵的机器人手眼标定方法,适用于设有相机以及机器臂且相机同机器臂分置设置的机器人,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于aruco码矩阵的机器人手眼标定方法,其特征在于,机器人基坐标系的不同方位的方位轴指的是机器人基坐标系的x轴、y轴以及z轴,根据x轴-y轴-z轴的顺序、x轴-z轴-y轴的顺序、y轴-x轴-z轴的顺序、y轴-z轴-x轴的顺序、z轴-x轴-y轴的顺序、z轴-y轴-x轴的顺序的任一选择依次移动机器人至机器人基坐标系的三个方位轴分别平行于标定线设置。

3.根据权利要求1所述的基于aruco码矩阵的机器人手眼标定方法,其特征在于,针对于机器人基坐标系的x 轴平行于标定线设置时,获取标定线上的aruco码在机器人基坐标系中的坐标位置,通过二分法迭代机器人基坐标系的旋转关系的旋转分量ry直到所有aruco码在平行于x轴的同一方位平面的位置差小于设定阈值,以该旋转分量修正旋转矩阵中的ry,移动机器人的机器臂置于水平桌面上再次获取标定线上的aruco码在机器人基坐标系中的坐标位置,获取机器人末端和aruco码相对x轴的同一方位平面的差值z,以z修正机器人的平移矩阵。

4.根据权利要求1所述的基于aruco码矩阵的机器人手眼标定方法,其特征在于,针对于机器人基坐标系的y 轴平行于标定线设置时,获取标定线上的aruco码在机器人基坐标系中的坐标位置,通过二分法迭代机器人基坐标系的旋转关系的旋转分量rz直到所有aruco码在平行于y轴的同一方位平面的位置差小于设定阈值,以该旋转分量rz修正旋转矩阵中的rz;移动机器人的机器臂置于水平桌面上并同标定线位于同一直线上,再次获取标定线上的aruco码在机器人基坐标系中的坐标位置,获取机器人末端和aruco码相对y轴的同一方位平面的差值 x,以x修正机器人的平移矩阵。

5.根据权利要求1所述的基于aruco码矩阵的机器人手眼标定方法,其特征在于,针对于机器人基坐标系的z 轴平行于标定线设置时,获取标定线上的aruco码在机器人基坐标系中的坐标位置,通过二分法迭代机器人基坐标系的旋转关系的旋转分量rx直到所有aruco码在平行于z轴的同一方位平面的位置...

【专利技术属性】
技术研发人员:韩海亮陈以朋魏康
申请(专利权)人:西湖交互机器科技杭州有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1