CN110238845B - 最优标定点选取和误差自测量的自动手眼标定方法及装置 - Google Patents

最优标定点选取和误差自测量的自动手眼标定方法及装置 Download PDF

Info

Publication number
CN110238845B
CN110238845B CN201910427156.0A CN201910427156A CN110238845B CN 110238845 B CN110238845 B CN 110238845B CN 201910427156 A CN201910427156 A CN 201910427156A CN 110238845 B CN110238845 B CN 110238845B
Authority
CN
China
Prior art keywords
camera
calibration
mechanical arm
coordinate system
calibration plate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910427156.0A
Other languages
English (en)
Other versions
CN110238845A (zh
Inventor
黄金
赵航
陈飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Shibite Robot Co Ltd
Original Assignee
Hunan Shibite Robot Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan Shibite Robot Co Ltd filed Critical Hunan Shibite Robot Co Ltd
Priority to CN201910427156.0A priority Critical patent/CN110238845B/zh
Publication of CN110238845A publication Critical patent/CN110238845A/zh
Application granted granted Critical
Publication of CN110238845B publication Critical patent/CN110238845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator

Abstract

本发明属于相机与机器人之间的相对位置标定技术领域,公开了一种最优标定点选取和误差自测量的自动手眼标定方法及装置,由标定板引导六轴机械臂将标定板和相机进行对齐,获取机械臂的初始采样位置;机械臂完成夹持相机或标定板完成一系列旋转运动,并在运动过程中由相机对标定板进行拍照采样,用标定板识别算法估计标定板的位姿,同时过滤不合理的点;求解标定方程并使用标定过程中的采样点对求解的结果进行误差测量,实现全自动可量化的标定求解方案和装置。本发明能够对求得的标定误差进行旋转和平移等各个维度的量化,能够保证整个标定过程的自动,准确,高效,解决实际应用中的眼在手上和眼在手外的标定问题。

Description

最优标定点选取和误差自测量的自动手眼标定方法及装置
技术领域
本发明属于相机与机器人之间的相对位置标定技术领域,尤其涉及一种最优标定点选取和误差自测量的自动手眼标定方法及装置。
背景技术
现有技术:目前带有自动引导,自动定位采样点并进行误差测量的手眼标定系统在标定的技术领域仍然空缺。传统的自动标定做法是将标定板或相机固定在某个位置,用人工示教的方式让机械臂走提前试好的固定走点流程(如走正方形,圆形)控制机械臂移动,让相机对标定板进行采样,即系统安装好的时候,机械臂该去哪里采样就是固定设计好的。此外由于每次测量之后的结果可能受到光照或者标定板尺寸等因素的影响,测量的结果偏离真实结果,需要每次对标定的结果进行误差测量,传统误差测量的方法是通过将求得的标定关系代入到整个机器人系统内,让相机去指挥机械臂运动到某个点,由机械臂实际运动到的点和指令输入的点进行比较误差的大小。
缺陷及原因:走示教点的手眼标定方案在安装和使用上都有很大的缺陷:在安装上:固定有很大的空间局限性,标定板或相机要固定安装也给整个标定过程带来了不便。并且当相机或者标定板位置发生变化时,工作人员需要重新设计并改写整个固定走点流程,没有实现整个标定过程的自动化,智能化。在使用上:标定过程中,若当前位置不适合机器人的自动走点,工作人员需要手动操作机械臂重新设计一个机械臂可以固定走点的工作空间,而这个重新设计走点的过程是占用标定过程中的绝大部分时间的,此外,机械臂本身运动关节存在很多限制,操作机器人运动到某个位姿这个过程非常的不便,且费时费力;误差测量时:若使用传统的误差测量方法,一方面需要对机械臂进行末端标定,并将测量点转换到机器人坐标系下对比误差,计算复杂;另一方面机器人的物理运动本身具有误差,无法精确判断标定结果的误差是由标定关系计算不准确造成的还是由机器人的物理运动造成的;此外利用实际抓取效果测量误差的方法往往只能计算抓取时平移的误差,而不能计算标定结果在旋转维度的误差,具有很大的局限性。
本发明解决的缺陷:针对以上提出的传统技术的缺陷,本发明提供六轴机械臂自动定位最优标定点选取且能够误差自测量的手眼标定自动化算法,并在六轴机械臂应用该算法完成了实体装置的实现。该装置解决了上文提出的标定板或相机固定位置安装的问题,在实际场景搭建时,标定板或者相机可以搭建在任意位置,之后机械臂会自动定位标定参照物的位置并前往标定,如果标定参照物的位置发生变化,只需重新运行一遍一键标定程序即可重新计算标定参照物位置改变后的标定关系,不需重新设计标定过程;该装置解决了上文提出的标定结果误差测量不精确的问题,标定算法可以直接利用标定时的采样点做误差分析,能够对求得的标定误差进行旋转和平移等各个维度的量化,且不需要控制机器人做额外的采样进行误差的测量,在排除物理测量影响的情况下,直接计算本次标定结果是否满足理论误差要求,若不满足,工作人员可更改自动标定的参数重新进行标定。
该装置使用自动寻找标定参照物的方式进行自动标定,并且能够对自身标定的结果进行误差测量,真正实现了整个标定过程的自动,准确,高效,解决实际应用中的眼在手上和眼在手外的标定问题。
随着RGBD深度相机技术的不断发展,RGBD相机采集深度信息的性能不断被应用在各种需要真实视觉的场合上,很多时候RGBD相机被安装在机器人的可移动肢节上,作为机器人的眼睛指示机器人抓取物体或者移动。而相机与机器人之间的相对位置标定则成为了机器人手眼配合的关键问题。眼在手上和眼在手外是两种不同的深度相机安装方法,前者是将相机安装在机器人的手臂上,相机可以随着机械臂的移动而移动,此时需要求解的是相机和机械臂之间的相对关系;后者是将机器人和相机固定安装,相机安装在机器人的外部,需要求解机器人底座和相机之间的相对关系。
求解相机和机器人之间的相对位置关系可以通过求解标定方程实现,该方程需要的输入是多组标定板在相机坐标系下的位姿以及对应的机械臂末端在机器人坐标系下的位姿。机械臂末端在机器人坐标系下的位姿一般可以直接从机器人系统中直接获取,而标定板在相机坐标系下的位姿则需要机械臂夹持着相机或标定板前往不同的空间点,让相机对标定板进行采样。现有的标定求解算法大多需要将标定板或相机固定到某个位置之后,在标定板或相机的位置已知的默认前提下,让机器人夹持着相机或者标定板按照固定位置走点,控制相机对标定板进行采样。实际的标定场景中,机器人对相机的自动标定需要满足以下条件:
(1)标定过程全自动:在人工进行标定的过程中,操作者必须操作机器人移动到特定位置进行采样。而人工操作机器人一方面采样点的位姿信息不够丰富,最后对机器人手眼的标定结果不一定能够满足精度的要求,另一方面某些型号的机器人,比如工业机器人,型号较为庞大,人工操作机器人的走点非常不便,若一次标定失败后,无法排除已有采样点的坏值,还需要重新开始整个标定过程,费时费力。而自动标定一方面走点的位置是预先规划的,能够保证采样点位姿信息的丰富可靠,另一方面程序控制机器人自动走点采样也保证了整个标定过程的便捷和高效。
(2)机械臂对采样位置自动定位:手眼标定首先要保证的是相机能够看到标定板,才能对整个相机和机器人所处的空间位置有大概的估量。传统的自动标定做法是将标定板或相机固定在某个位置,通过人工示教的办法,用提前试好的走点流程控制机械臂移动,让相机对标定板进行采样,即系统安装好的时候,机械臂该去哪里采样就是固定设计好的。这样的手眼标定方案在安装时有很大的空间局限性,标定板或相机要固定安装也给整个标定过程带来了不便。
(3)标定结果可度量:在整个标定过程结束后,对于求得的标定结果,需要有可度量的方法评价标定结果是否大致正确,或者满足一定的精度要求。传统的误差测量方法是将求得的标定关系代入到整个机器人系统内,让相机去指挥机械臂运动到某个点,由机械臂实际运动到的点和指令输入的点进行比较误差的大小。但是这样测量误差一方面需要对机械臂进行末端标定,并将测量点转换到机器人坐标系下对比误差,计算复杂;另一方面机器人的物理运动本身具有误差,无法精确判断标定结果的误差是由标定关系计算不准确造成的还是由机器人的物理运动造成的;此外,用机械臂指点的方式往往只能判断二维平面位移的误差,对机械臂的旋转误差甚至无法判断。因此,便捷准确且能够同时表示表示机械臂运动在平移和旋转维度的误差测量方法成了必要。
(4)采样走点有效准确:标定过程中的控制相机和标定板相对位置变化的机械臂走点过程同样要满足特定的条件。若机械臂的旋转位姿不够丰富,会导致最后标定结果的精度下降甚至错误。极端情况下,若机械臂每次旋转运动的旋转轴是平行的,甚至还会导致标定方程无法求解。传统的方式是让机械臂按照预设的点位进行走点,但是这样并不能保证每次采样得到的点是必须的。
综上所述,现有技术存在的问题是:传统标定方法无法实现标定过程中机械臂的自动定位,相机或标定板的安装操作过程复杂;误差测量的方法复杂且存在较大误差,适用性不高;此外预设固定位置走点的方式无法保证采集到的点能够满足标定方程求解的需求,求解方程的精度和效率得不到保证。
解决上述技术问题的难度:坐标系转换:本问题需要实现在机器人底座坐标系为标准坐标系的情况下,机器人底座坐标系,相机坐标系,机械臂末端坐标系,和标定坐标系之间的转换。实现相机,机械臂,标定板等物体的位置计算。
机器人的空间位置计算:工业机器人出于自身安全考虑,当传递给工业机器人超出其运动范围不可移动的点位时,工业机器人会自动停机,打断标定过程。本问题在工业机器人自身运动范围受限情况下,综合考虑标定参照物的位置和机器人的位置,滤除机器人运动幅度较大的点位,并对机器人和标定参照物之间的距离进行补偿,使机械臂对齐参照物附近的点位即可,这样设计机器人都能到达的点位,使工业机器人实现完整的标定过程。
不同场景运动方案设计:机器人进行采样的过程中会由于附近的场地限制,标定参照物和机器人的相对位置关系等问题,需要设计不同的运动方案。因此本发明需要考虑各种空间限制因素,对控制机器人自动采样的方式设计不同的运动方案。
自动寻找采样点:需要计算标定板和相机相对位置关系,并且以相机和标定板对齐时机械臂的位置为采样远点,在此基础上计算机械臂采样其他点的点位,使机械臂自动找到自己的最佳采样点。
实现误差测量的方法:需要根据采样过程中的数据计算设计出计算最后标定结果的误差测量方式误差测量结果需要在旋转维度和平移维度上都能体现。
标定方程求解方案:需要对多维的标定方程(AX=XB)进行矩阵求解,并且给出了两种不同的标定方程求解方式。
设计机器人自动走点的点位:需要在满足最大化相机两次移动过程位姿之间的旋转,最小化相机两次移动过程位之间的平移,最大化相机两次旋转时旋转轴之间的夹角,最小化化标定板到跟踪系统摄像头的距离,采样点应该尽可能地多等条件下,实现机器人采样点位的设计,并将这些点位转换到机器人底座坐标系,使机器人能够控制机械臂到达这些点位。
标定板的位姿估计:需要仅仅以标定板拍照结果为输入的情况下,对输入的图像进行处理,以估算标定板和相机之间的相对位置关系。
本机终端和机器人的通信:需要将自己在电脑上运行的程序需要执行的指令和计算好的数据传递给机器人,完成本地电脑和机器人之间的通讯。
解决上述技术问题的意义:
传统的标定方法需要用人指挥机械臂在相机下做一系列的采样动作,但是每次都要人操作机械臂进行标定不仅麻烦,而且精度得不到保证。现有的自动标定方法也是用人工示教的办法,在试好一系列机器人可以到达的点位后将这些点位存储起来进行一系列的标定过程,没有普适性,本发明提出了一种可以自动寻找最佳采样点并且对采样的结果进行评判的标定方式,并且根据工业机器人自身的运动特性,设计了工业机器人易于到达的采样点位设计,从一开始标定过程的点位设计,数据采集,误差分析过程均不需要外来人员设计,真正实现了整个标定过程的智能化实现。
发明内容
针对现有技术存在的问题,本发明提供了一种最优标定点选取和误差自测量的自动手眼标定方法及装置。
本发明是这样实现的,一种最优标定点选取和误差自测量的自动手眼标定方法,所述最优标定点选取和误差自测量的自动手眼标定方法包括:
第一步,由标定板引导六轴机械臂将标定板和相机进行对齐,获取机械臂的初始采样位置;
第二步,机械臂完成夹持相机或标定板完成一系列旋转运动,并在运动过程中由相机对标定板进行拍照采样,用标定板识别算法估计标定板的位姿,同时过滤不合理的点;
第三步,求解标定方程并使用标定过程中的采样点对求解的结果进行误差测量,实现全自动可量化的标定求解方案和装置。
进一步,所述最优标定点选取和误差自测量的自动手眼标定方法的相机检测标定板位姿包括:
眼在手上的标定时,机器人夹持相机绕机器人四周进行拍照,检查机器人可触及范围内是否存在标定板;眼在手上的标定时,机器人夹持标定板绕机器人四周进行拍照,检查机器人可触及范围内是否能够把标定板送到相机可视范围内;
眼在手上时,机械臂夹持相机绕自身周围运动以初步检测标定板存在的运动过程示意图:相机在每次拍照时,将拍到的图像转为灰度图,再进行二值化处理,对二值化后的图像进行轮廓检测;之后对得到的轮廓进行筛选,得到凸边形且顶点数为4的轮廓认为是有效的轮廓,检测有效轮廓的边长,并由此计算出此轮廓在相机坐标系下的位姿;最后得到的结果是标定板在相机坐标系下的平移和旋转关系;
当机械臂夹持相机或标定板绕自身周围运动时,若相机拍照后检测到了标定板的存在,并且检测到此时相机与标定板的距离小于一定阈值后,机械臂认为此时运动的位置相机已经能够初步捕获到标定板,接下来机械臂会开始在机械臂的引导下对初始采样点自动定位。
进一步,所述最优标定点选取和误差自测量的自动手眼标定方法的机械臂自动定位采样点包括:
当相机捕获到标定板时,由标定板和相机之间的相对关系指挥机械臂运动;当标定板最终和相机对齐时,此时机械臂也和标定板或相机对齐;机械臂以当前的位置为采样中心,根据预设算法自动进行旋转采样。
进一步,所述眼在手上时,相机判断自身和标定板之间存在的夹角和距离方法包括:
(1)机器人在检测到标定板落到相机视野后,使用相机检测当前位置标定板在和相机的距离;
(2)机器人夹持相机或标定板在机器人底座坐标系不同方向平移,记录每次平移之后距离相机距离标定板的距离;根据平移前的距离和平移后的距离判断标定板与相机的连线与机械臂末端坐标系的夹角;
(3)将相机或标定板调整到和标定板或相机正对的姿态(XOY平面相互平行),并移动机械臂,使相机和标定板在XOY平面上靠近;
(4)继续检查相机和标定扳在相机坐标系XOY平面上的距离是否小于阈值,若不是,则返回(1),反复迭代,直到标定板到在相机坐标系XOY平面上靠近相机;
(5)当相机成功对齐标定板之后,此时机械臂的位置就是要进行采样的位置初始点,对此位置进行调整,机器人进行采样。
进一步,所述最优标定点选取和误差自测量的自动手眼标定方法的机器人走点采样包括:当机械臂定位好采样点后,让相机绕着空间一组彼此之间夹角为360/N,且构成的平面平行于标定扳的N个旋转轴旋转。
进一步,所述最优标定点选取和误差自测量的自动手眼标定方法的标定方程求解:
(1)眼在手上标定方程:Ogrid:标定扳坐标系;Oworld:世界坐标系或机械臂坐标系;Ocamera:相机坐标系;Oend:机械臂末端坐标系;
Figure BDA0002067838420000041
相机坐标系和机械臂末端坐标系之间的转换关系;
Figure BDA0002067838420000042
机械臂末端坐标系和机械臂底座坐标系之间的转换关系;
Figure BDA0002067838420000043
相机坐标系和标定扳坐标系之间的转换关系;
Figure BDA0002067838420000044
标定扳坐标系和机械臂底座坐标系之间的转换关系;
第i次运动的转换关系方程为:
Figure BDA0002067838420000045
第j次运动的转换关系方程为:
Figure BDA0002067838420000046
联立两个公式可得:
Figure BDA0002067838420000047
Figure BDA0002067838420000048
标定扳坐标系Ogrid和机械臂底座坐标系Oworld之间是相对静止的,因此他们的转换关系
Figure BDA0002067838420000049
是一个常量,将
Figure BDA00020678384200000410
消除可得:
Figure BDA00020678384200000411
上式两边同时左乘
Figure BDA00020678384200000412
同时右乘
Figure BDA00020678384200000413
得:
Figure BDA00020678384200000414
Figure BDA00020678384200000415
Figure BDA00020678384200000416
Figure BDA00020678384200000417
以及
Figure BDA00020678384200000418
上式化简为:
AX=XB;
最终X即相机坐标系和机械臂末端坐标系之间的转换关系即为方程所求;
Figure BDA0002067838420000051
从机械臂内部的关节转换关系中读出,
Figure BDA0002067838420000052
用相机对标定扳的位置估算求得;
(2)眼在手外标定方程推导:Ogrid:标定扳坐标系;Oworld:世界坐标系或机械臂坐标系;Ocamera:相机坐标系;Oend:机械臂末端坐标系;
Figure BDA0002067838420000053
相机坐标系和机械臂底座坐标系之间的转换关系;
Figure BDA0002067838420000054
机械臂末端坐标系和机械臂底座坐标系之间的转换关系;
Figure BDA0002067838420000055
相机坐标系和标定扳坐标系之间的转换关系;
Figure BDA0002067838420000056
标定扳坐标系和机械臂末端坐标系之间的转换关系;
第i次运动的转换关系方程为:
Figure BDA0002067838420000057
第j次运动的转换关系方程为:
Figure BDA0002067838420000058
联立两个公式可得:
Figure BDA0002067838420000059
Figure BDA00020678384200000510
标定扳坐标系Ogrid和机械臂末端坐标系Oend之间是相对静止的,因此他们的转换关系
Figure BDA00020678384200000511
是一个常量,将
Figure BDA00020678384200000512
消除可得:
Figure BDA00020678384200000513
上式两边同时左乘
Figure BDA00020678384200000514
同时右乘
Figure BDA00020678384200000515
得:
Figure BDA00020678384200000516
Figure BDA00020678384200000517
以及
Figure BDA00020678384200000518
上式化简为:
AX=XB;
最终x即相机坐标系和机械臂末端坐标系之间的转换关系即为方程所求;
Figure BDA00020678384200000519
从机械臂内部的关节转换关系中读出,
Figure BDA00020678384200000520
用相机对标定扳的位置估算求得。
进一步,所述Ax=XB方程求解包括:先从基本方程上式求解出
Figure BDA00020678384200000521
再代入下式求解出
Figure BDA00020678384200000522
计算步骤如下:
(1)将旋转矩阵转换为旋转向量:
Figure BDA00020678384200000523
(2)向量归一化:
Figure BDA00020678384200000524
(3)修正的罗德里格斯参数表示姿态变化:
Figure BDA0002067838420000061
(4)计算初始旋转向量P′cg
skew(Pgij+Pcij)P′cg=Pcij-Pgij
其中,skew表示取这个向量的反对称矩阵;
(5)计算旋转向量:
Figure BDA0002067838420000062
(6)计算旋转矩阵:
Figure BDA0002067838420000063
(7)计算平移向量:
(Rgij-I)Tcg=RcgTcij-Tgij
进一步,所述AX=XB方程求解包括:对
Figure BDA0002067838420000064
Figure BDA0002067838420000065
进行统一求解的,使用对偶四元数表示两个线元之间的旋转和平移,其计算步骤如下:
(1)设某个运动位姿的旋转部分为q,平移部分为t,则
Figure BDA0002067838420000066
对应的对偶四元数为
Figure BDA0002067838420000067
q表示当前位姿的方向,q′中同时包含了位移信息;
(2)给定机械臂运动点对(bi,b′i)和相机运动点对(ai,a′i),提取其中的方向信息和位移信息,构造求解方程T:
Figure BDA0002067838420000068
(3)对T进行奇异值分解T=U∑V,检查是否只有两个奇异值约等于0,取奇异值为0的两个右奇异向量v7,v8
(4)计算v7,v8的系数γ1,γ2
γ1 2u1 Tv11γ2(u1 Tv2+u2 Tv1)+γ2 2u2 Tv2=0;
(5)最后待求解的位姿对应的对偶四元数为:
γ1v72v8
(6)将其转换成旋转平移矩阵,既可得到待求解的位姿转换关系。
进一步,所述最优标定点选取和误差自测量的自动手眼标定方法的标定误差测量包括:
眼在手上误差测量方法:
(1)在标定过程中,相机相对于标定扳运动
Figure BDA0002067838420000069
机械臂相对于底座运动
Figure BDA00020678384200000610
由于标定扳和机械臂底座都是静止的;
(2)由相机相对于标定扳的第i次的运动
Figure BDA00020678384200000611
和第i次的运动
Figure BDA00020678384200000612
求出相机之间相对运动
Figure BDA00020678384200000613
由机械臂末端相对于机械臂底座第i次的运动
Figure BDA0002067838420000071
和第j次的运动
Figure BDA0002067838420000072
求出机械臂之间的相对运动
Figure BDA0002067838420000073
(3)取每次采样的第一组数据
Figure BDA0002067838420000074
Figure BDA0002067838420000075
为相机和机械臂末端的初始位置,之后第i次运动过程相机和机械臂末端相对于初始位置的转换关系为
Figure BDA0002067838420000076
Figure BDA0002067838420000077
(4)由求得的相机和机械臂之间的转换关系
Figure BDA0002067838420000078
估算出此时相机的估算位置
Figure BDA0002067838420000079
(5)将
Figure BDA00020678384200000710
Figure BDA00020678384200000711
做差,对旋转部分和平移部分分别取均方根
Figure BDA00020678384200000712
Figure BDA00020678384200000713
旋转均方根误差是对两个四元数之间的夹角差求范数,求得的均方根即表示表示计算出的
Figure BDA00020678384200000714
的实测误差;
眼在手外误差测量方法:
(1)在标定过程中,标定板相对于相机运动
Figure BDA00020678384200000715
机械臂相对于底座运动
Figure BDA00020678384200000716
由于标定板和机械臂底座都是静止的;
(2)由标定板相对于标定板第i次的运动
Figure BDA00020678384200000717
和第j次的运动
Figure BDA00020678384200000718
求出标定板间相对运动
Figure BDA00020678384200000719
由机械臂末端相对于机械臂底座第i次的运动
Figure BDA00020678384200000720
和第i次的运动
Figure BDA00020678384200000721
求出机械臂之间的相对运动
Figure BDA00020678384200000722
(3)取每次采样的第一组数据
Figure BDA00020678384200000723
Figure BDA00020678384200000724
为相机和标定扳的初始位置,之后第i次运动过程标定扳和机械臂末端相对于初始位置的转换关系为
Figure BDA00020678384200000725
Figure BDA00020678384200000726
(4)由求得的相机和机械臂底座之间的转换关系
Figure BDA00020678384200000727
估算出相机的估算位置
Figure BDA00020678384200000728
(5)将
Figure BDA00020678384200000729
Figure BDA00020678384200000730
做差,对旋转部分和平移部分分别取均方根得到
Figure BDA00020678384200000731
Figure BDA00020678384200000732
旋转均方根误差是对两个四元数之间的夹角差求一次范数,求得的均方根即表示表示计算出的
Figure BDA00020678384200000733
的实测误差。
本发明的另一目的在于提供一种实现所述最优标定点选取和误差自测量的自动手眼标定方法的最优标定点选取和误差自测量的自动手眼标定装置,所述最优标定点选取和误差自测量的自动手眼标定装置包括:
眼在手上的自动标定装置,由机械臂底座Oworld,机械臂末端Oend,相机Ocamera和标定扳Ogrid组成,机械臂末端和相机是刚性连接的,机械臂末端发生旋转运动Htrans时,相机随着机械臂末端发生同样的旋转运动Htrans,Ocamera和Ogrid的坐标系关系会发生变化,机械臂在不同的采样位置采集Ocamera和Ogrid的坐标系关系变化,以及Oend和Oworld之间的坐标系关系变化即可求得Ocamera和Oend之间的位置关系;
眼在手外的自动标定装置,由机械臂底座Oworld,机械臂末端Oend,相机Ocamera和标定扳Ogrid组成,机械臂末端和标定扳是刚性连接的,机械臂末端发生旋转运动Htrans时,标定扳随着机械臂末端发生同样的旋转运动Htrams,Ocamera和Ogrid的坐标系关系会发生变化,机械臂在不同的采样位置采集Ocamera和Ogrid的坐标系关系变化,以及Oend和Oworld之间的坐标系关系变化即可求得Ocamera和Oworld之间的位置关系。
综上所述,本发明的优点及积极效果为:本发明能够自动定位六轴机械臂的初始采样位置,并由此开始整个全自动化的标定过程;能够以更有效的走点方式指挥机械臂运动,进行相机对标定扳的采样;能够以量化的方式对标定后结果的旋转,平移上的误差进行评价,且本发明提出的标定算法可以直接利用标定时的采样点做误差分析,不需要控制机器人做额外的采样进行误差的测量。
本发明的机械臂自动定位采样点算法,机械臂对采样点初始位置的确定至关重要,无论是眼在手上的标定算法还是眼在手外的标定算法,都需要知道在没有预设的情况下的相机或标定扳的位置作为运动中心,才能保证整个标定算法能够围绕着一个目标真实地进行采样。同时标定板和相机自动对齐也避免了手动标定过程中人为设定标定板位置的不便。
本发明的标定误差评估算法,由于标定后求解的结果无法直观地看出其实际使用时的性能,若将求得的标定矩阵直接代入到机器人内部坐标转换系统中,控制机器人走特定的点进行误差的物理测量,一方面物理测量的结果本身会携带误差,且最后的测量结果不能反映旋转维度的误差;另一方面输入错误的转换关系可能会引导机器人前往错的位置,甚至引发操作过程中的危险。因此本发明提出了一种直接利用相机采样时的数据来估算求得的标定结果误差的方法,能够直观地显示最终标定结果是否正确以及能否满足精度需求,不需要控制机器人做额外的采样进行验证。
本发明的标定板引导的全手眼标定自动标定及误差测量装置,在六轴机器人上应用本发明的算法,能够使标定板自动引导机械臂前往某个位置进行标定点采样,并自动评判标定当前计算出的结果是否满足精度要求,若由当前采样点计算出来的标定结果不能满足要求。则使用者只需要更改标定板放置的位置,或者增加算法的采样点数即可满足要求,真正意义上实现了整个标定过程的全自动化。
本发明利用相机能够对标定板进行位姿估计的原理,可以让标定板引导机械臂进行相机和标定板的自动对准,在采样前先估计出标定板或者相机的位置,完成机械臂的自动定位。这样每次标定板只需要随意安装在机械臂可触及的范围内,即可完成开始整个标定过程。
传统的自动标定方式是让机械臂按照预设的点位进行走点,但是这样并不能保证每次采样得到的点是必须的,由很大的冗余性,本算法中结合标定方程求解过程对相机和标定板相对运动关系的要求,提出了绕空间轴旋转的机械臂走点方案。
在深度相机协同指挥机器人运动过程中,深度相机和机器人之间的相对关系(角度关系和位置关系)是非常重要的,没有这种相对关系机器人就无法在深度相机的指引下探索自身周围物体的位置,更无法完成视觉抓取,视觉导航等一系列需要依靠视觉完成的功能,因此机器人与深度相机之间的相对关系需要借助标定板的帮助完成标定。并且机器人和相机之间的相对标定关系要求精度是非常高的,若测得的标定结果和真实的相对位置关系之间差异过大,很可能导致相机指挥机器人运动时机器人的运动出现错误,因此求得标定关系后需要对标定结果进行误差的测量以判断标定结果的好坏。
本发明在sawyer,fanuc,step等众多型号的机械臂上均进行了一系列的测试,均顺利完成了我们的自动标定流程,计算结果可以直接指挥机械臂进行抓取,抓取精度在1cm以内。国内外并没有以论文或专利实现本实现本发明中包括最优标定点选取,误差自测量,自动寻找采样点的整套自动标定流程方案的实现。
附图说明
图1是本发明实施例提供的最优标定点选取和误差自测量的自动手眼标定方法流程图。
图2是本发明实施例提供的眼在手上的自动标定装置结构示意图。
图3是本发明实施例提供的眼在手外的自动标定装置结构示意图。
图4是本发明实施例提供的眼在手上时,机械臂夹持相机绕自身周围运动以初步检测标定板存在的运动过程示意图。
图5是本发明实施例提供的眼在手上时,相机判断自身和标定板之间存在的夹角和距离的示意图。
图6是本发明实施例提供的眼在手上自动采样示意图。
图7是本发明实施例提供的眼在手上标定方程参数说明示意图。
图8是本发明实施例提供的眼在手外标定方程推导参数说明示意图。
图9是本发明实施例提供的眼在手上自动标定算法流程图。
图10是本发明实施例提供的眼在手外自动标定算法流程图。
图11是本发明实施例提供的sawyer机器人夹持相机绕自身周围运动,检测周围是否有标定板存在的实物图。
图12是本发明实施例提供的相机检测到标定板的存在,sawyer机器人夹持相机在不同方向运动以估算标定板在机器人坐标系下的方位的实物图。
图13是本发明实施例提供的sawyer机器人估算出标定板的位置,机械臂末端移动到标定板的正上方的实物图。
图14是本发明实施例提供的sawyer机器人以估算的标定板的位置为中心,对标定板进行旋转采样,同时记录机械臂末端在相机坐标系下的位置的实物图。
图15是本发明实施例提供的新时达机器人夹持标定扳绕自身周围运动,同时相机持续拍照检测标定扳是否落入自身视野内的实物图。
图16是本发明实施例提供的相机检测到标定扳的存在,新时达机器人夹持标定扳在不同方向运动以估算标定扳在机器人坐标系下的方位的实物图。
图17是本发明实施例提供的新时达机器人估算出相机的位置,机械臂末端移动到相机的正下方前的某个位置的实物图。
图18是本发明实施例提供的新时达机器人以估算的相机的位置为中心,夹持标定扳运动使相机对标定扳进行旋转采样,同时记录机械臂末端在相机坐标系下的位置的实物图。
图19是本发明实施例提供的机器人在视觉相机的引导下实现精确的抓取的实物图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供六轴机械臂自动定位最优标定点选取且能够误差自测量的手眼标定自动化算法,并在六轴机械臂应用该算法完成了实体装置的实现。该装置使用符合标定方程求解需求的走点方式控制机械臂运动,完成相机对标定扳的采样,并且能够对求得的标定误差进行旋转和平移等各个维度的量化,能够保证整个标定过程的自动,准确,高效,解决实际应用中的眼在手上和眼在手外的标定问题。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的最优标定点选取和误差自测量的自动手眼标定方法包括:
S101:由标定扳引导六轴机械臂将标定板和相机进行对齐,获取机械臂的初始采样位置;
S102:机械臂完成夹持相机或标定扳完成一系列旋转运动,并在运动过程中由相机对标定扳进行拍照采样,用标定扳识别算法估计标定扳的位姿,同时过滤不合理的点;
S103:求解标定方程并使用标定过程中的采样点对求解的结果进行误差测量,实现整套全自动可量化的标定求解方案和装置。
下面结合附图对本发明的应用原理作进一步的描述。
1、眼在手上的自动标定装置:
如图2所示,眼在手上的自动标定装置由机械臂底座Oworld,机械臂末端Oend,相机Ocamera和标定扳Ogrid组成,每次标定时机械臂末端夹持着相机对标定扳进行拍照采样,由于机械臂末端和相机是刚性连接的,机械臂末端发生旋转运动Htrans时,相机也会随着机械臂末端发生同样的旋转运动Htrans,这时Ocamera和Ogrid的坐标系关系会发生变化,机械臂在这些不同的采样位置采集Ocamera和Ogrid的坐标系关系变化,以及Oend和Oworld之间的坐标系关系变化即可求得Ocamera和Oend之间的位置关系。
2、眼在手外的自动标定装置:
如图3所示,眼在手外的自动标定装置由机械臂底座Oworld,机械臂末端Oend,相机Ocamera和标定扳Ogrid组成,每次标定时机械臂末端夹持着标定扳运动,由相机对每个位置的标定扳进行拍照采样,由于机械臂末端和标定扳是刚性连接的,机械臂末端发生旋转运动Htrans时,标定扳也会随着机械臂末端发生同样的旋转运动Htrans,这时Ocamera和Ogrid的坐标系关系会发生变化,机械臂在这些不同的采样位置采集Ocamera和Ogrid的坐标系关系变化,以及Oend和Oworld之间的坐标系关系变化即可求得Ocamera和Oworld之间的位置关系。
3、实现思路:
(一)相机检测标定扳位姿
求解标定方程时必不可少的是要用相机坐标系下的标定板位姿作为输入,此外,相机对标定板的检测同样可以用来探测当前相机视野下有无标定板,如果有,还可以得到相机和标定板之间的相对位置关系,从而指引机械臂夹持使相机和标定板靠近运动。
眼在手上的标定时,机器人夹持相机绕机器人四周进行拍照,目的是检查机器人可触及范围内是否存在标定板。眼在手上的标定时,机器人夹持标定板绕机器人四周进行拍照,目的是检查机器人可触及范围内是否能够把标定板送到相机可视范围内。
图4表示的是眼在手上时,机械臂夹持相机绕自身周围运动以初步检测标定板存在的运动过程示意图:相机在每次拍照时,会将拍到的图像转为灰度图,再进行二值化处理,对二值化后的图像进行轮廓检测。之后对得到的轮廓进行筛选,得到凸边形且顶点数为4的轮廓认为是有效的轮廓,检测有效轮廓的边长,并由此计算出此轮廓在相机坐标系下的位姿。最后得到的结果是标定板在相机坐标系下的平移和旋转关系。
当机械臂夹持相机或标定板绕自身周围运动时,若相机拍照后检测到了标定板的存在,并且检测到此时相机与标定板的距离小于一定阈值后,机械臂认为此时运动的位置相机已经能够初步捕获到标定板,接下来机械臂会开始在机械臂的引导下对初始采样点自动定位。
(二)机械臂自动定位采样点
当相机捕获到标定板时,可以由标定板和相机之间的相对关系指挥机械臂运动,因为机械臂是刚性夹持相机(眼在手上)或标定板(眼在手外)的,因此相机与标定板靠近可以理解为机械臂在相机和标定板关系已知情况下,和标定板(眼在手上)或相机(眼在手外)的靠近。当标定板最终和相机对齐时,认为此时机械臂也和标定板(眼在手上)或相机(眼在手外)对齐。机械臂可以以当前的位置为采样中心,根据预设算法自动进行旋转采样。
图5表示的是眼在手上时,相机判断自身和标定板之间存在的夹角和距离的示意图:
(1)机器人在检测到标定板落到相机视野后,使用相机检测当前位置标定板在和相机的距离;
(2)机器人夹持相机或标定板在机器人底座坐标系不同方向平移,记录每次平移之后距离相机距离标定板的距离;根据平移前的距离和平移后的距离判断标定板与相机的连线与机械臂末端坐标系的夹角;
(3)将相机或标定板调整到和标定板或相机正对的姿态(XOY平面相互平行),并移动机械臂,使相机和标定板在XOY平面上靠近;
(4)继续检查相机和标定板在相机坐标系XOY平面上的距离是否小于阈值,若不是,则返回(1),反复迭代,直到标定板到在相机坐标系XOY平面上靠近相机;
(5)当相机成功对齐标定板之后,此时机械臂的位置就是要进行采样的位置初始点,对此位置进行调整,机器人进行采样。
(三)机器人走点采样
当相机对标定板进行采样时,相机与标定板之间的相对位置应包含有充分的旋转信息,以保证标定方程求解的精确性,以眼在手上为例(眼在手外同理)相机与标定板之间的位置要求如下:
最大化相机两次移动过程位姿之间的旋转;
最小化相机两次移动过程位之间的平移;
最大化相机两次旋转时旋转轴之间的夹角;
最小化化标定板到跟踪系统摄像头的距离;
采样点应该尽可能地多;
本发明采用的走点方式为:当机械臂定位好采样点后,让相机绕着空间一组彼此之间夹角为360/N,且构成的平面平行于标定板的N个旋转轴旋转。考虑到相机是和机械臂刚性连接的,所以只需要让机械臂夹持相机做同样的旋转动作即可。
图6为眼在手上自动采样图示,表示的时单次采样数5时,相机的走点设计。左下角为标准坐标系,蓝色轴为相机Z轴(光轴),黑色线为5个彼此相交的旋转轴。
(四)标定方程求解
以下会对眼在手上和眼在手外两种情况标定方程中的关键性部分AX=XB进行介绍,并同时介绍该方程的求解方法:
眼在手上标定方程:
参数说明:如图7所示;
Ogrid:标定扳坐标系;
Oworld:世界坐标系(机械臂坐标系);
Ocamera:相机坐标系;
Oend:机械臂末端坐标系;
Figure BDA0002067838420000111
相机坐标系和机械臂末端坐标系之间的转换关系;
Figure BDA0002067838420000112
机械臂末端坐标系和机械臂底座坐标系之间的转换关系;
Figure BDA0002067838420000113
相机坐标系和标定扳坐标系之间的转换关系;
Figure BDA0002067838420000114
标定扳坐标系和机械臂底座坐标系之间的转换关系。
问题推导:
设第i次运动的转换关系方程为:
Figure BDA0002067838420000115
第j次运动的转换关系方程为:
Figure BDA0002067838420000116
联立两个公式可以得到:
Figure BDA0002067838420000117
Figure BDA0002067838420000118
标定扳坐标系Ogrid和机械臂底座坐标系Oworld之间是相对静止的,因此他们的转换关系
Figure BDA0002067838420000119
是一个常量,将
Figure BDA00020678384200001110
消除可得:
Figure BDA00020678384200001111
上式两边同时左乘
Figure BDA00020678384200001112
同时右乘
Figure BDA00020678384200001113
导:
Figure BDA00020678384200001114
Figure BDA00020678384200001115
Figure BDA00020678384200001116
Figure BDA0002067838420000121
以及
Figure BDA0002067838420000122
上式可以化简为:
AX=XB;
最终x即相机坐标系和机械臂末端坐标系之间的转换关系即为方程所求。
Figure BDA0002067838420000123
可以从机械臂内部的关节转换关系中读出,
Figure BDA0002067838420000124
可以用相机对标定板的位置估算求得。
眼在手外标定方程推导:参数说明,如图8所示:
Ogrid:标定板坐标系;
Oworld:世界坐标系(机械臂坐标系);
Ocamera:相机坐标系;
Oend:机械臂末端坐标系;
Figure BDA0002067838420000125
相机坐标系和机械臂底座坐标系之间的转换关系;
Figure BDA0002067838420000126
机械臂末端坐标系和机械臂底座坐标系之间的转换关系;
Figure BDA0002067838420000127
相机坐标系和标定板坐标系之间的转换关系;
Figure BDA0002067838420000128
标定板坐标系和机械臂末端坐标系之间的转换关系;
问题推导:
设第i次运动的转换关系方程为:
Figure BDA0002067838420000129
第j次运动的转换关系方程为:
Figure BDA00020678384200001210
联立两个公式可以得到:
Figure BDA00020678384200001211
Figure BDA00020678384200001212
标定扳坐标系Ogrid和机械臂末端坐标系Oend之间是相对静止的,因此他们的转换关系
Figure BDA00020678384200001213
是一个常量,将
Figure BDA00020678384200001214
消除可得:
Figure BDA00020678384200001215
上式两边同时左乘
Figure BDA00020678384200001216
同时右乘
Figure BDA00020678384200001217
得:
Figure BDA00020678384200001218
Figure BDA00020678384200001219
以及
Figure BDA00020678384200001220
上式可以化简为:
AX=XB;
最终X即相机坐标系和机械臂末端坐标系之间的转换关系即为方程所求。
Figure BDA00020678384200001221
可以从机械臂内部的关节转换关系中读出,
Figure BDA0002067838420000131
可以用相机对标定扳的位置估算求得。
AX=XB方程求解:
两步法:
使用Tsai论文中的方法求解标定方程,Tsai的标定方法分两步求解基本方程,即先从基本方程上式求解出
Figure BDA0002067838420000132
再代入下式求解出
Figure BDA0002067838420000133
在Tsai文献中引入旋转轴-旋转角系统来描述旋转运动来进行求解该方程组,计算步骤如下:
(1)将旋转矩阵转换为旋转向量:
Figure BDA0002067838420000134
(2)向量归一化:
Figure BDA0002067838420000135
(3)修正的罗德里格斯参数表示姿态变化:
Figure BDA0002067838420000136
(4)计算初始旋转向量P′cg
skew(Pgij+Pcij)P′cg=Pcij-Pgij
其中,skew表示取这个向量的反对称矩阵。
(5)计算旋转向量:
Figure BDA0002067838420000137
(6)计算旋转矩阵:
Figure BDA0002067838420000138
(7)计算平移向量:
(Rgij-I)Tcg=RcgTcij-Tgij
对偶四元数法:
对偶四元数的求解方法不同于Tsai的两步法,是对
Figure BDA0002067838420000139
Figure BDA00020678384200001310
进行统一求解的,该方法使用对偶四元数表示两个线元之间的旋转和平移,其计算步骤如下:
(1)设某个运动位姿的旋转部分为q,平移部分为t,则
Figure BDA00020678384200001311
对应的对偶四元数为
Figure BDA00020678384200001312
q表示当前位姿的方向,q′中同时包含了位移信息。
(2)给定机械臂运动点对(bi,b′i)和相机运动点对(ai,a′i),提取其中的方向信息和位移信息,构造求解方程T:
Figure BDA0002067838420000141
(3)对T进行奇异值分解T=U∑V,检查是否只有两个奇异值约等于0,取奇异值为0的两个右奇异向量v7,v8
(4)计算v7,v8的系数γ1,γ2
γ1 2u1 Tv11γ2(u1 Tv2+u2 Tv1)+γ2 2u2 Tv2=0:
(5)最后待求解的位姿对应的对偶四元数为:
γ1v72v8
(6)将其转换成旋转平移矩阵,既可得到待求解的位姿转换关系。
(五)标定误差测量
当一次标定过程结束后,本发明必须对标定结果的误差进行测量,以判断当前计算的标定结果是否够基本正确以及能够满足本发明的精度需求;本发明提出了一种,对标定结果旋转部分和平移部分都能进行量化的误差测量方法,并且利用标定过程中的采样数据即可进行误差测量,无需进行额外的数据采集。下面将区分眼在手上和眼在手外的标定情况对误差测量方法进行介绍:
眼在手上误差测量方法:
(1)在标定过程中,相机相对于标定扳运动
Figure BDA0002067838420000142
机械臂相对于底座运动
Figure BDA0002067838420000143
由于标定扳和机械臂底座都是静止的。
(2)由相机相对于标定扳的第i次的运动
Figure BDA0002067838420000144
和第i次的运动
Figure BDA0002067838420000145
求出相机之间相对运动
Figure BDA0002067838420000146
可以由机械臂末端相对于机械臂底座第i次的运动
Figure BDA0002067838420000147
阳第j次的运动
Figure BDA0002067838420000148
求出机械臂之间的相对运动
Figure BDA0002067838420000149
(3)取每次采样的第一组数据
Figure BDA00020678384200001410
Figure BDA00020678384200001411
为相机和机械臂末端的初始位置,之后第i次运动过程相机和机械臂末端相对于初始位置的转换关系为
Figure BDA00020678384200001412
Figure BDA00020678384200001413
(4)由求得的相机和机械臂之间的转换关系
Figure BDA00020678384200001414
可以由
Figure BDA00020678384200001415
估算出此时相机的估算位置
Figure BDA00020678384200001416
(5)将
Figure BDA00020678384200001417
Figure BDA00020678384200001418
做差,对旋转部分和平移部分分别取均方根
Figure BDA00020678384200001419
Figure BDA00020678384200001420
(旋转均方根误差是对两个四元数之间的夹角求范数),求得的均方根即表示表示计算出的
Figure BDA00020678384200001421
的实测误差。
眼在手外误差测量方法:
(1)在标定过程中,标定扳相对于相机运动
Figure BDA00020678384200001422
机械臂相对于底座运动
Figure BDA00020678384200001423
由于标定扳和机械臂底座都是静止的
(2)由标定扳相对于标定扳第i次的运动
Figure BDA00020678384200001424
和第i次的运动
Figure BDA00020678384200001425
求出标定板间相对运动
Figure BDA00020678384200001426
可以由机械臂末端相对于机械臂底座第i次的运动
Figure BDA00020678384200001427
和第j次的运动
Figure BDA00020678384200001428
求出机械臂之间的相对运动
Figure BDA00020678384200001429
(3)取每次采样的第一组数据
Figure BDA00020678384200001430
Figure BDA00020678384200001431
为相机和标定扳的初始位置,之后第i次运动过程标定板和机械臂末端相对于初始位置的转换关系为
Figure BDA00020678384200001432
Figure BDA00020678384200001433
(4)由求得的相机和机械臂底座之间的转换关系
Figure BDA00020678384200001434
可以由
Figure BDA00020678384200001435
估算出此时标定扳的估算位置
Figure BDA00020678384200001436
(5)将
Figure BDA0002067838420000151
Figure BDA0002067838420000152
做差,对旋转部分和平移部分分别取均方根得到
Figure BDA0002067838420000153
Figure BDA0002067838420000154
(旋转均方根误差是对两个四元数之间的夹角求一次范数),求得的均方根即表示表示计算出的
Figure BDA0002067838420000155
的实测误差。
本发明提出的标定算法可以直接利用标定时的采样点做误差分析,不需要控制机器人做额外的采样进行误差的测量。
本发明的首先由标定扳引导机械臂将标定扳和相机进行对齐,确认机械臂采样的初始点,之后由机械臂夹持相机或标定扳完成一系列富含相机和标定扳旋转信息的采样点,并用标定扳识别算法估计标定扳的位姿,最后求解标定方程并对求解的结果进行自动误差测量,完整整套全自动的标定求解方案。
眼在手上自动标定算法详细的流程图,如图9所示。
1机械臂夹持相机与标定扳自动对齐,定位机械臂初始采样位置。
2机械臂夹持相机围绕标定扳位置自动走点采样。
3相机估计标定扳位姿。
4标定方程AX=XB求解。
5估算求解的标定矩阵的误差,若当前测量结果不能满足要求,则更换实验条件重新测量。
眼在手外自动标定算法详细的流程图,如图10所示。
1机械臂夹持标定扳与相机自动对齐,定位机械臂初始采样位置。
2机械臂夹持标定扳围绕标定扳位置自动走点采样。
3相机估计标定扳位姿。
4标定方程AX=XB求解。
5估算求解的标定矩阵的误差,若当前测量结果不能满足要求,则更换实验条件重新测量。
下面结合具体实施例对本发明的应用原理作进一步的描述。
实施例:
(1)眼在手上一键式标定在sawyer机器人上的测试:
a)机器人夹持相机绕自身周围运动,检测周围是否有标定板存在(如图11所示)。
b)相机检测到标定板的存在,机器人夹持相机在不同方向运动以估算标定扳在机器人坐标系下的方位(如图12所示)。
c)机器人估算出标定扳的位置,此时机械臂末端已经移动到标定板的正上方(如图13所示)。
d)机器人以估算的标定扳的位置为中心,对标定扳进行旋转采样,同时记录机械臂末端在相机坐标系下的位置(如图14所示)。
e)求解标定方程,标定过程中采集到的数据如下:
标定扳在相机坐标系下的位姿数据:
Figure BDA0002067838420000156
Figure BDA0002067838420000161
Tran_xyz指标定板在相机坐标系下在x,y,z轴的偏移。
Qua_xyzw指标定板在相机坐标系下的旋转四元数的xyzw分量。
机械臂末端在机器人底座坐标系下的位姿数据:
序号 Tran_x Tran_y Tran_z Qua_x Qua_y Qua_z Qua_w
0 0.054234 0.668448 0.600012 0.831653 0.555291 0.001911 0.0014
1 -0.31461 0.609949 0.299414 0.763987 0.389307 0.489436 0.158795
2 -0.28862 0.52005 0.298841 0.710204 0.481489 0.504478 0.096337
3 -0.23881 0.440507 0.303937 0.648655 0.562887 0.511463 0.028468
4 -0.18313 0.403648 0.314587 0.618987 0.59759 0.509244 -0.0203
5 -0.18299 0.397645 0.32035 0.609779 0.603322 0.51268 -0.03648
6 -0.18489 0.397724 0.31995 0.61299 0.602849 0.509867 -0.02919
7 -0.18013 0.39816 0.326456 0.619572 0.595086 0.510948 -0.03058
8 -0.17863 0.398317 0.326779 0.620569 0.593705 0.511435 -0.02902
9 -0.17783 0.39824 0.327349 0.621018 0.592566 0.512249 -0.02835
10 -0.17826 0.398361 0.327033 0.620708 0.593165 0.511918 -0.02858
11 -0.28629 0.700358 0.348751 0.838317 0.301782 0.410796 0.193391
12 -0.28304 0.614894 0.34843 0.795396 0.403113 0.430089 0.140956
13 -0.25967 0.532303 0.350276 0.738816 0.499655 0.444414 0.083616
14 -0.22395 0.470741 0.388914 0.692904 0.550095 0.466072 0.00745
Tran_xyz指机械臂末端坐标系在机器人坐标系下在x,y,z轴的偏移。
Qua_xyzw指机械臂末端坐标系在机器人坐标系下的旋转四元数的xyzw分量。
标定结果:
Tran_x Tran_y Tran_z Qua_x Qua_y Qua_z Qua_w
-0.03771 0.029894 0.076449 -0.00183 -0.00959 -0.69051 0.723258
Tran_xyz指相机坐标系在机械臂末端坐标系下在x,y,z轴的偏移。
Qua_xyzw指相机坐标系在机械臂末端坐标系下的旋转四元数的xyzw分量。
误差测量:
位置误差:0.00800644071212m
角度误差:0.352098020227°
(2)在新时达机器人上的测试:
a)机器人夹持标定扳绕自身周围运动,同时相机持续拍照检测标定板是否落入自身视野内(如图15所示)。
b)相机检测到标定板的存在,机器人夹持标定板在不同方向运动以估算标定板在机器人坐标系下的方位(如图16所示)。
c)机器人估算出相机的位置,此时机械臂末端已经移动到相机的正下方前的一个位置,因为正下方不可达,所以将机械臂对齐的位置向靠近机器人的方向进行了补偿(如图17所示)。
d)机器人以估算的相机的位置为中心,夹持标定扳运动使相机对标定扳进行旋转采样,同时记录机械臂末端在相机坐标系下的位置(如图18所示)。
e)标定方程求解,并且将求解的标定结果输入到机器人系统中,实现视觉引导的机器人抓取动作。
标定扳在相机坐标系下的位姿数据:
Figure BDA0002067838420000162
Figure BDA0002067838420000171
Tran_xyz指标定板在相机坐标系下在x,y,z轴的偏移。
Qua_xyzw指标定板在相机坐标系下的旋转四元数的xyzw分量。
机械臂末端在机器人坐标系下的位姿数据:
序号 Tran_x Tran_y Tran_z Qua_x Qua_y Qua_z Qua_w
0 0.858519 -0.31209 -1.30544 0.187345 0.122074 -0.95369 0.201179
1 0.535381 -0.33179 -1.42285 0.161724 0.15442 -0.97442 0.022513
2 0.214588 -0.23203 -1.49855 -0.1306 -0.18151 0.961965 0.156919
3 -0.06054 -0.02628 -1.52231 -0.09502 -0.20241 0.916752 0.331008
4 -0.25284 0.25767 -1.49092 -0.05621 -0.21643 0.84032 0.493825
5 -0.33634 0.58147 -1.40862 -0.01548 -0.22307 0.735271 0.639825
6 -0.29976 0.901389 -1.28654 0.025769 -0.22212 0.605185 0.764036
7 0.767885 -0.40273 -1.28966 0.15844 0.103239 -0.96081 0.202681
8 0.439323 -0.42785 -1.3897 0.136772 0.130595 -0.98169 0.022681
9 0.115034 -0.33158 -1.45419 -0.11045 -0.1535 0.969147 0.158091
10 -0.16119 -0.12693 -1.47444 -0.08036 -0.17118 0.923596 0.333479
11 -0.35204 0.158468 -1.44769 -0.04754 -0.18304 0.846593 0.497512
12 -0.43174 0.486069 -1.37758 -0.01309 -0.18865 0.740761 0.644602
13 -0.38952 0.811628 -1.27356 0.021793 -0.18785 0.609703 0.769741
14 0.654004 -0.51661 -1.26931 0.122238 0.07965 -0.968 0.204196
Tran_xyz指机械臂末端坐标系在机器人坐标系下在x,y,z轴的偏移。
Qua_xyzw指机械臂末端坐标系在机器人坐标系下的旋转四元数的xyzw分量。
标定结果:
Tran_x Tran_y Tran_z Qua_x Qua_y Qua_z Qua_w
1.437063 1.077985 1.793693 0.9988293 0.012354159 0.0092933 0.045086028
Tran_xyz指相机坐标系在机械臂末端坐标系下在x,y,z轴的偏移。
Qua_xyzw指相机坐标系在机器人底座坐标系下的旋转四元数的xyzw分量。
误差测量:
位置误差:0.00574005768658m
角度误差:0.838789960037°
将测量的结果代入到机器人系统中,机器人在视觉相机的引导下实现了精确的抓取(如图19所示):
从图19可以看出,机器人在深度相机的指引下,实现了精确的物体抓取,说明本系统计算出的标定结果真实有效。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种最优标定点选取和误差自测量的自动手眼标定方法,其特征在于,所述最优标定点选取和误差自测量的自动手眼标定方法包括:
第一步,由标定板引导六轴机械臂将标定板和相机进行对齐,获取机械臂的初始采样位置;
第二步,机械臂夹持相机或标定板完成一系列旋转运动,并在运动过程中由相机对标定板进行拍照采样,用标定板识别算法估计标定板的位姿,同时过滤不合理的点;
第三步,求解标定方程并使用标定过程中的采样点对求解的结果进行误差测量,实现全自动可量化的标定求解方案;
所述最优标定点选取和误差自测量的自动手眼标定方法的标定误差测量包括:
眼在手上误差测量方法:
(1)在标定过程中,相机相对于标定板运动
Figure FDA0003307627790000011
,机械臂相对于底座运动
Figure FDA0003307627790000012
,标定板和机械臂底座都是静止的;
(2)由相机相对于标定板的第i次的运动
Figure FDA0003307627790000013
和第j次的运动
Figure FDA0003307627790000014
求出相机之间相对运动
Figure FDA0003307627790000015
,由机械臂末端相对于机械臂底座第i次的运动
Figure FDA0003307627790000016
和第j次的运动
Figure FDA0003307627790000017
求出机械臂之间的相对运动
Figure FDA0003307627790000018
(3)取每次采样的第一组数据
Figure FDA0003307627790000019
Figure FDA00033076277900000110
为相机和机械臂末端的初始位置,之后第i次运动过程相机和机械臂末端相对于初始位置的转换关系为
Figure FDA00033076277900000111
Figure FDA00033076277900000112
(4)由求得的相机和机械臂之间的转换关系
Figure FDA00033076277900000113
,估算出此时相机的估算位置
Figure FDA00033076277900000114
(5)将
Figure FDA00033076277900000115
Figure FDA00033076277900000116
做差,对旋转部分和平移部分分别取均方根
Figure FDA00033076277900000117
Figure FDA00033076277900000118
,旋转均方根误差是对两个四元数之间的夹角求范数,求得的均方根即表示计算出的
Figure FDA00033076277900000119
的实测误差;
眼在手外误差测量方法:
(1)在标定过程中,标定板相对于相机运动
Figure FDA0003307627790000021
,机械臂相对于底座运动
Figure FDA0003307627790000022
,标定板和机械臂底座都是静止的;
(2)由标定板相对于标定板第i次的运动
Figure FDA0003307627790000023
和第j次的运动
Figure FDA0003307627790000024
求出标定板间相对运动
Figure FDA0003307627790000025
,由机械臂末端相对于机械臂底座第i次的运动
Figure FDA0003307627790000026
和第j次的运动
Figure FDA0003307627790000027
求出机械臂之间的相对运动
Figure FDA0003307627790000028
(3)取每次采样的第一组数据
Figure FDA0003307627790000029
Figure FDA00033076277900000210
为相机和标定板的初始位置,之后第i次运动过程标定板和机械臂末端相对于初始位置的转换关系为
Figure FDA00033076277900000211
Figure FDA00033076277900000212
(4)由求得的相机和机械臂底座之间的转换关系
Figure FDA00033076277900000213
,估算出此时相机的估算位置
Figure FDA00033076277900000214
(5)将
Figure FDA00033076277900000215
Figure FDA00033076277900000216
做差,对旋转部分和平移部分分别取均方根得到
Figure FDA00033076277900000217
Figure FDA00033076277900000218
,旋转均方根误差是对两个四元数之间的夹角求一次范数,求得的均方根即表示计算出的
Figure FDA00033076277900000219
的实测误差。
2.如权利要求1所述的最优标定点选取和误差自测量的自动手眼标定方法,其特征在于,所述最优标定点选取和误差自测量的自动手眼标定方法的相机检测标定板位姿包括:
眼在手上的标定时,机器人夹持相机绕机器人四周进行拍照,检查机器人可触及范围内是否存在标定板;眼在手外的标定时,机器人夹持标定板绕机器人四周进行拍照,检查机器人可触及范围内是否能够把标定板送到相机可视范围内;
眼在手上时,机械臂夹持相机绕自身周围运动以初步检测标定板存在的运动过程示意图:相机在每次拍照时,将拍到的图像转为灰度图,再进行二值化处理,对二值化后的图像进行轮廓检测,并由此计算出此轮廓在相机坐标系下的位姿;最后得到的结果是标定板在相机坐标系下的平移和旋转关系;
当机械臂夹持相机或标定板绕自身周围运动时,若相机拍照后检测到了标定板的存在,并且检测到此时相机与标定板的距离小于一定阈值后,机械臂认为此时运动的位置相机已经能够初步捕获到标定板,接下来机械臂会开始在标定板的引导下对初始采样点自动定位;
所述眼在手上和眼在手外是两种不同的深度相机安装方法,前者是将相机安装在机器人的手臂上,相机可以随着机械臂的移动而移动,此时需要求解的是相机和机械臂之间的相对关系;后者是将机器人和相机固定安装,相机安装在机器人的外部,需要求解机器人底座和相机之间的相对关系。
3.如权利要求2所述的最优标定点选取和误差自测量的自动手眼标定方法,其特征在于,所述最优标定点选取和误差自测量的自动手眼标定方法对初始采样点自动定位包括:
当相机捕获到标定板时,由标定板和相机之间的相对关系指挥机械臂运动;当标定板最终和相机对齐时,此时机械臂也和标定板或相机对齐;机械臂以当前的位置为采样中心,根据预设算法自动进行旋转采样。
4.如权利要求2所述的最优标定点选取和误差自测量的自动手眼标定方法,其特征在于,所述眼在手上时,标定板在相机坐标系下的平移和旋转关系方法包括:
(1)机器人在检测到标定板落到相机视野后,使用相机检测当前位置标定板在和相机的距离;
(2)机器人夹持相机或标定板在机器人底座坐标系不同方向平移,记录每次平移之后距离相机距离标定板的距离;根据平移前的距离和平移后的距离判断标定板与相机的连线与机械臂末端坐标系的夹角;
(3)将相机或标定板调整到和标定板或相机正对的姿态,在XOY平面相互平行,并移动机械臂,使相机和标定板在XOY平面上靠近;
(4)继续检查相机和标定板在相机坐标系XOY平面上的距离是否小于阈值,若不是,则返回(1),反复迭代,直到标定板到在相机坐标系XOY平面上靠近相机;
(5)当相机成功对齐标定板之后,此时机械臂的位置就是要进行采样的位置初始点,对此位置进行调整,机器人进行采样。
5.如权利要求1所述的最优标定点选取和误差自测量的自动手眼标定方法,其特征在于,所述最优标定点选取和误差自测量的自动手眼标定方法的机器人走点采样包括:当机械臂定位好采样点后,让相机绕着空间一组彼此之间夹角为360°/N,且构成的平面平行于标定板或相机的N个旋转轴旋转。
6.如权利要求1所述的最优标定点选取和误差自测量的自动手眼标定方法,其特征在于,所述最优标定点选取和误差自测量的自动手眼标定方法的标定方程求解:
(1)眼在手上标定方程:Ogrid:标定板坐标系;Oworld:世界坐标系或机械臂坐标系;Ocamera:相机坐标系;Oend:机械臂末端坐标系;
Figure FDA0003307627790000046
:相机坐标系和机械臂末端坐标系之间的转换关系;
Figure FDA0003307627790000047
:机械臂末端坐标系和机械臂底座坐标系之间的转换关系;
Figure FDA0003307627790000048
:相机坐标系和标定板坐标系之间的转换关系;
Figure FDA0003307627790000049
:标定板坐标系和机械臂底座坐标系之间的转换关系;
第i次运动的转换关系方程为:
Figure FDA0003307627790000041
第j次运动的转换关系方程为:
Figure FDA0003307627790000042
联立两个公式并消除其中的常量关系可以得到:
Figure FDA0003307627790000043
Figure DEST_PATH_RE-FDA0002067838410000038
以及
Figure FDA0003307627790000045
上式化简为:
AX=XB;
最终X即相机坐标系和机械臂末端坐标系之间的转换关系即为方程所求;
Figure FDA00033076277900000410
从机械臂内部的关节转换关系中读出,
Figure FDA00033076277900000411
用相机对标定板的位置估算求得;
(2)眼在手外标定方程推导:Ogrid:标定板坐标系;Oworld:世界坐标系或机械臂坐标系;Ocamera:相机坐标系;Oend:机械臂末端坐标系;
Figure FDA0003307627790000056
:相机坐标系和机械臂底座坐标系之间的转换关系;
Figure FDA0003307627790000057
:机械臂末端坐标系和机械臂底座坐标系之间的转换关系;
Figure FDA0003307627790000058
:相机坐标系和标定板坐标系之间的转换关系;
Figure FDA0003307627790000059
:标定板坐标系和机械臂末端坐标系之间的转换关系;
第i次运动的转换关系方程为:
Figure FDA0003307627790000051
第j次运动的转换关系方程为:
Figure FDA0003307627790000052
联立两个公式并消除其中的常量关系可以得到:
Figure FDA0003307627790000053
Figure FDA0003307627790000054
以及
Figure FDA0003307627790000055
上式化简为:
AX=XB;
最终X即相机坐标系和机械臂末端坐标系之间的转换关系即为方程所求;
Figure FDA00033076277900000510
从机械臂内部的关节转换关系中读出,
Figure FDA00033076277900000511
用相机对标定板的位置估算求得。
7.如权利要求6所述的最优标定点选取和误差自测量的自动手眼标定方法,其特征在于,所述AX=XB方程求解包括:对
Figure FDA00033076277900000512
Figure FDA00033076277900000513
进行统一求解,使用对偶四元数表示两个线元之间的旋转和平移。
8.一种实现权利要求1所述最优标定点选取和误差自测量的自动手眼标定方法的最优标定点选取和误差自测量的自动手眼标定装置,其特征在于,所述最优标定点选取和误差自测量的自动手眼标定装置包括:
眼在手上的自动标定装置,由机械臂底座Oworld,机械臂末端Oend,相机Ocamera和标定板Ogrid组成,机械臂末端和相机是刚性连接的,机械臂末端发生旋转运动Htrans时,相机随着机械臂末端发生同样的旋转运动Htrans,Ocamera和Ogrid的坐标系关系会发生变化,机械臂在不同的采样位置采集Ocamera和Ogrid的坐标系关系变化,以及Oend和Oworld之间的坐标系关系变化即可求得Ocamera和Oend之间的位置关系;
眼在手外的自动标定装置,由机械臂底座Oworld,机械臂末端Oend,相机Ocamera和标定板Ogrid组成,机械臂末端和标定板是刚性连接的,机械臂末端发生旋转运动Htrans时,标定板随着机械臂末端发生同样的旋转运动Htrans,Ocamera和Ogrid的坐标系关系会发生变化,机械臂在不同的采样位置采集Ocamera和Ogrid的坐标系关系变化,以及Oend和Oworld之间的坐标系关系变化即可求得Ocamera和Oworld之间的位置关系。
CN201910427156.0A 2019-05-22 2019-05-22 最优标定点选取和误差自测量的自动手眼标定方法及装置 Active CN110238845B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910427156.0A CN110238845B (zh) 2019-05-22 2019-05-22 最优标定点选取和误差自测量的自动手眼标定方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910427156.0A CN110238845B (zh) 2019-05-22 2019-05-22 最优标定点选取和误差自测量的自动手眼标定方法及装置

Publications (2)

Publication Number Publication Date
CN110238845A CN110238845A (zh) 2019-09-17
CN110238845B true CN110238845B (zh) 2021-12-10

Family

ID=67884668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910427156.0A Active CN110238845B (zh) 2019-05-22 2019-05-22 最优标定点选取和误差自测量的自动手眼标定方法及装置

Country Status (1)

Country Link
CN (1) CN110238845B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111203881B (zh) * 2020-01-16 2022-02-08 河北工业大学 一种基于加权最小二乘法的在线反馈手眼标定方法
CN111761575B (zh) * 2020-06-01 2023-03-03 湖南视比特机器人有限公司 工件及其抓取方法和生产线
CN113858266B (zh) * 2020-06-30 2023-07-18 上海微创数微医疗科技有限公司 机械臂的位姿误差的检测方法及系统
CN112107363B (zh) * 2020-08-31 2022-08-02 上海交通大学 一种基于深度相机的超声溶脂机器人系统及辅助操作方法
CN112285625A (zh) * 2020-09-21 2021-01-29 广东电网有限责任公司广州供电局 一种通用型电力仪表自动检定系统及其检定方法
CN112285626A (zh) * 2020-09-21 2021-01-29 广东电网有限责任公司广州供电局 一种仪表自动检定系统量程调节方法
CN112767493B (zh) * 2020-12-30 2023-06-13 浙江大学 Stewart平台运动学参数的机器视觉标定方法
CN112809668B (zh) * 2020-12-30 2022-08-30 上海媒智科技有限公司 一种机械臂自动手眼标定的方法及系统、终端
CN112802122B (zh) * 2021-01-21 2023-08-29 珠海市运泰利自动化设备有限公司 机器人视觉引导组装方法
CN113510697B (zh) * 2021-04-23 2023-02-14 知守科技(杭州)有限公司 机械手定位方法、装置、系统、电子装置和存储介质
CN113246128B (zh) * 2021-05-20 2022-06-21 菲烁易维(重庆)科技有限公司 一种基于视觉测量技术的机器人示教方法
CN113504063B (zh) * 2021-06-30 2022-10-21 南京航空航天大学 一种基于多轴机械臂的立体空间触屏设备可视化测试方法
CN113459108B (zh) * 2021-09-02 2021-11-12 杭州灵西机器人智能科技有限公司 基于插值补偿的手眼标定方法、系统、装置和介质
CN113771096A (zh) * 2021-11-09 2021-12-10 北京壹点灵动科技有限公司 机械臂的位姿信息的处理方法和装置
CN113997295B (zh) * 2021-12-30 2022-04-12 湖南视比特机器人有限公司 机械臂的手眼标定方法、装置、电子设备及存储介质
CN114670194B (zh) * 2022-03-22 2023-06-27 荣耀终端有限公司 机械手系统定位方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104827480A (zh) * 2014-02-11 2015-08-12 泰科电子(上海)有限公司 机器人系统的自动标定方法
CN106483963B (zh) * 2015-08-26 2020-02-11 泰科电子(上海)有限公司 机器人系统的自动标定方法
CN106767393B (zh) * 2015-11-20 2020-01-03 沈阳新松机器人自动化股份有限公司 机器人的手眼标定装置与方法
CN108748146A (zh) * 2018-05-30 2018-11-06 武汉库柏特科技有限公司 一种机器人手眼标定方法及系统
CN108717715B (zh) * 2018-06-11 2022-05-31 华南理工大学 一种用于弧焊机器人的线结构光视觉系统自动标定方法
CN108818536B (zh) * 2018-07-12 2021-05-14 武汉库柏特科技有限公司 一种机器人手眼标定的在线偏移修正方法及装置
CN109278044A (zh) * 2018-09-14 2019-01-29 合肥工业大学 一种手眼标定及坐标转换方法
CN109493389B (zh) * 2018-10-15 2021-11-09 同济大学 一种基于深度学习的相机标定方法及系统

Also Published As

Publication number Publication date
CN110238845A (zh) 2019-09-17

Similar Documents

Publication Publication Date Title
CN110238845B (zh) 最优标定点选取和误差自测量的自动手眼标定方法及装置
CN111775146B (zh) 一种工业机械臂多工位作业下的视觉对准方法
CN110421562B (zh) 基于四目立体视觉的机械臂标定系统和标定方法
JP4021413B2 (ja) 計測装置
CN110370286B (zh) 基于工业机器人和单目相机的定轴运动刚体空间位置识别方法
CN109373898B (zh) 一种基于三维测量点云的复杂零件位姿估计系统及方法
CN110842914B (zh) 基于差分进化算法的手眼标定参数辨识方法、系统及介质
CN110605714B (zh) 一种基于人眼凝视点的手眼协调抓取方法
JP4191080B2 (ja) 計測装置
CN106457562B (zh) 用于校准机器人的方法和机器人系统
CN111801198B (zh) 一种手眼标定方法、系统及计算机存储介质
CN109297413B (zh) 一种大型筒体结构视觉测量方法
CN111127568B (zh) 一种基于空间点位信息的相机位姿标定方法
US20150224649A1 (en) Robot system using visual feedback
CN113146620B (zh) 基于双目视觉的双臂协作机器人系统和控制方法
CN103020952A (zh) 信息处理设备和信息处理方法
CN112648934B (zh) 一种自动化弯管几何形态检测方法
CN113910219A (zh) 运动臂系统以及控制方法
CN110490942A (zh) 一种基于scara机械手第二臂的移动相机标定方法
CN114536346B (zh) 一种基于人机协作和视觉检测的机械臂精确路径规划方法
CN113799130B (zh) 一种人机协作装配中的机器人位姿标定方法
JPH0780790A (ja) 三次元物体把持システム
CN112958960B (zh) 一种基于光学靶标的机器人手眼标定装置
CN113334380A (zh) 基于双目视觉的机器人视觉标定方法、控制系统及装置
CN111571596A (zh) 利用视觉修正冶金接插装配作业机器人误差的方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant