CN115625709A - 一种手眼标定方法、装置和计算机设备 - Google Patents

一种手眼标定方法、装置和计算机设备 Download PDF

Info

Publication number
CN115625709A
CN115625709A CN202211352077.6A CN202211352077A CN115625709A CN 115625709 A CN115625709 A CN 115625709A CN 202211352077 A CN202211352077 A CN 202211352077A CN 115625709 A CN115625709 A CN 115625709A
Authority
CN
China
Prior art keywords
rigid body
coordinate system
transformation matrix
hand
initial
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.)
Pending
Application number
CN202211352077.6A
Other languages
English (en)
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.)
Shenzhen Lingyun Shixun Technology Co ltd
Luster LightTech Co Ltd
Original Assignee
Shenzhen Lingyun Shixun Technology Co ltd
Luster LightTech 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 Shenzhen Lingyun Shixun Technology Co ltd, Luster LightTech Co Ltd filed Critical Shenzhen Lingyun Shixun Technology Co ltd
Priority to CN202211352077.6A priority Critical patent/CN115625709A/zh
Publication of CN115625709A publication Critical patent/CN115625709A/zh
Pending legal-status Critical Current

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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Abstract

本申请涉及手眼视觉技术领域,具体而言,涉及一种手眼标定方法、装置和计算机设备,一定程度上可以解决利用线性求解方法求解手眼标定方程时,存在求解得到的刚体变换矩阵精度低的问题。所述手眼标定方法包括:确定手眼视觉系统的手眼标定方程;对手眼标定方程进行线性求解,得到相机坐标系与机器人手臂末端坐标系之间的初始刚体变换矩阵;建立用于对初始刚体变换矩阵进行非线性迭代寻优的初始目标函数;利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵,其中,目标刚体变换矩阵用于将相机坐标系的坐标变换到机器人手臂末端坐标系中,新目标函数为初始目标函数以初始刚体变换矩阵作为初始值进行非线性迭代寻优得到。

Description

一种手眼标定方法、装置和计算机设备
技术领域
本申请涉及手眼视觉技术领域,具体而言,涉及一种手眼标定方法、装置和计算机设备。
背景技术
在机器视觉领域,基于手眼视觉系统的智能制造产线能够完成如拾取、码垛、焊接、点胶及装配等自动化任务。为了让机器人手臂能够按照相机所识别的空间位姿进行作业,就必须要知道相机和机械人手臂末端之间的位姿关系,手眼标定就是确定机器人手臂末端坐标系与固定在机器人手臂末端上的相机坐标系之间的刚体变换矩阵。
在手眼标定过程中,先建立手眼标定方程,然后求解该手眼标定方程。在求解该手眼标定方程时,一般先采用线性求解方法求解旋转矩阵,再将旋转矩阵代入该手眼标定方程,求解平移向量,旋转矩阵和平移向量表示机器人手臂末端坐标系与相机坐标系之间的刚体变换矩阵。
由于线性求解方法易受噪声影响,因此需在无噪声干扰情况下才能严格成立,但是在实际手眼标定过程中,观测数据中存在噪声是不可避免的,比如会存在机器人自身的运动误差、相机的成像误差等噪声,这噪声都会导致采用线性化方法求解出的旋转矩阵精度降低;同时,将精度较低的旋转矩阵参数带入该手眼标定方程继续求解平移向量,会使得旋转矩阵参数的估计误差传递到平移向量中,进一步影响了平移向量的精度。因此,由于线性求解方法易受噪声影响,而导致利用线性求解方法求解手眼标定方程时,存在求解得到的刚体变换矩阵精度低的问题。
发明内容
为了解决利用线性求解方法求解手眼标定方程时,存在求解得到的刚体变换矩阵精度低的问题,本申请提供了一种手眼标定方法、装置和计算机设备。
本申请的实施例是这样实现的:
本申请实施例提供一种手眼标定方法,所述方法包括:
确定手眼视觉系统的手眼标定方程,所述手眼视觉系统包括相机与机器人手臂末端,所述相机安装在机器人手臂末端,所述手眼标定方程用于求解相机坐标系与机器人手臂末端坐标系之间的刚体转换矩阵;
对所述手眼标定方程进行线性求解,得到所述相机坐标系与所述机器人手臂末端坐标系之间的初始刚体变换矩阵;
建立用于对所述初始刚体变换矩阵进行非线性迭代寻优的初始目标函数,所述初始目标函数用于表征待求解刚体变换矩阵与待求解刚体变换矩阵误差之间的关系;
利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵,其中,所述目标刚体变换矩阵用于将所述相机坐标系的坐标变换到所述机器人手臂末端坐标系中,所述新目标函数为所述初始目标函数以所述初始刚体变换矩阵作为初始值进行非线性迭代寻优得到。
在一些实施例中,所述利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵,进一步包括:
利用所述初始刚体变换矩阵对所述初始目标函数包含的参数进行初始化,得到初始化参数;
将所述初始化参数代入所述初始目标函数,得到第一新目标函数;
基于第一新目标函数确定第一优化刚体变换矩阵,并计算所述第一优化刚体变换矩阵的第一误差;
基于所述第一优化刚体变换矩阵对所述第一新目标函数包含的参数进行更新,得到更新参数;
将所述更新参数代入所述第一新目标函数中,得到第二新目标函数;
基于所述第二新目标函数确定第二优化刚体变换矩阵,并计算所述第二优化刚体变换矩阵的第二误差;
当所述第一误差与所述第二误差之差值小于阈值、且迭代次数小于最大迭代次数时,则停止迭代并输出所述第二优化刚体变换矩阵,所述第二优化刚体变换矩阵为所述目标变换矩阵。
在一些实施例中,当所述第一误差与所述第二误差之差大于所述阈值、且所述迭代次数小于所述最大迭代次数时,基于所述第二优化刚体变换矩阵对所述第二新目标函数包含的参数进行更新得到对应的新目标函数,再基于新目标函数确定对应的优化刚体变换矩阵,直至满足相邻两次迭代所得的优化刚体变换矩阵所对应的误差之差小于所述阈值或迭代次数到达最大迭代次数的条件时,将最后一次迭代所得到的优化刚体变换矩阵输出并作为所述目标刚体变换矩阵。
在一些实施例中,所述确定手眼视觉系统的手眼标定方程,进一步包括:
建立相机坐标系、机器人手臂末端坐标系、机器人基座世界基准坐标系和标定板坐标系;
确定所述机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵、所述相机坐标系与标定板坐标系的刚体转换矩阵、所述标定板坐标系与机器人基座世界基准坐标系的刚体转换矩阵、以及待标定的机器人手臂末端坐标系与相机坐标系的刚体转换矩阵;
获取机器人在多次运动下的姿态信息,基于所述姿态信息和所述刚体转换矩阵确定所述手眼标定方程。
在一些实施例中,所述确定所述机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵,进一步包括:
从机器人控制面板中读取机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵。
在一些实施例中,所述确定相机坐标系与标定板坐标系的刚体转换矩阵,进一步包括:
获取所述标定板的标准点云数据;
通过所述相机采集所述标定板的实际点云数据;
对所述标准点云数据和所述实际点云数据进行配准,配准后得到所述相机坐标系与所述标定板坐标系的刚体转换矩阵。
在一些实施例中,所述初始刚体变换矩阵包括初始旋转矩阵方程和初始平移向量,所述对所述手眼标定方程进行线性求解,得到所述相机坐标系与所述机器人手臂末端坐标系之间的初始刚体变换矩阵,进一步包括:
将所述手眼标定方程转换为齐次手眼标定矩阵方程;
将所述齐次手眼标定矩阵转换为旋转矩阵方程和平移向量方程;
利用最小二乘法对所述旋转矩阵方程进行求解,得到所述初始旋转矩阵;
将所述初始旋转矩阵代入所述平移向量方程中,并通过最小二乘法进行求解,得到所述初始平移向量。
本申请又一方面提供一种手眼标定装置,包括:
确定模块,用于确定手眼视觉系统的手眼标定方程,所述手眼视觉系统包括相机与机器人手臂末端,所述相机安装在机器人手臂末端,所述手眼标定方程用于求解相机坐标系与机器人手臂末端坐标系之间的刚体转换矩阵;
线性求解模块,用于对所述手眼标定方程进行线性求解,得到所述相机坐标系与所述机器人手臂末端坐标系之间的初始刚体变换矩阵;
初始目标函数建立模块,用于建立用于对所述初始刚体变换矩阵进行非线性迭代寻优的初始目标函数,所述初始目标函数用于表征待求解刚体变换矩阵与待求解刚体变换矩阵误差之间的关系;
非线性迭代寻优模块,用于利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵,其中,所述目标刚体变换矩阵用于将所述相机坐标系的坐标变换到所述机器人手臂末端坐标系中,所述新目标函数为所述初始目标函数以所述初始刚体变换矩阵作为初始值进行非线性迭代寻优得到。
本申请又一方面提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述的手眼标定方法的步骤。
本申请又一方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行上述的手眼标定方法。
本申请的有益效果:确定手眼标定方程,通过线性求解法对手眼标定方程进行求解确定初始刚体变换矩阵,然后再利用初始目标函数对初始刚体变换矩阵进行非线性迭代寻优,最后将非线性迭代寻找到的全局最优的优化刚体变换矩阵作为目标刚体变换矩阵,经过非线性迭代寻找得到的目标刚体变换矩阵与初始刚体变换矩阵相比更加精确,实现了提高求解手眼标定方程的精度的目的。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例的手眼标定方法的流程示意图;
图2示出了手眼视觉系统中各组成部分之间的位置关系及坐标系关系示意图;
图3示出本申请另一实施例确定手眼视觉系统的手眼标定方程的流程示意图;
图4示出了本申请另一实施例确定相机坐标系与标定板坐标系的刚体转换矩阵的流程示意图;
图5示出了本申请另一实施例对手眼标定方程进行线性求解得到初始刚体变换矩阵的流程示意图;
图6示出了利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵的流程示意图;
图7示出了本申请手眼标定装置的结构框图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语″第一″、″第二″、″第三″等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
术语″设置″、″连接″应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
机器人的视觉系统分为固定场景视觉系统和运动的手眼视觉系统。其中,手眼视觉系统由相机(或摄像机)与机器人手臂末端构成。
根据相机(或摄像机)与机器人相互位置的不同,手眼视觉系统分为Eye-in-Hand系统和Eye-to-Hand系统。Eye-in-Hand系统的相机(或摄像机)安装在机器人手臂末端(end-effector),能够在机器人工作过程中随机器人一起运动。而Eye-to-Hand系统的相机(或摄像机)安装在机器人本体外的固定位置,在机器人工作工程中不随机器人一起运动。
为了让机器人手臂末端能够按照相机(或摄像机)所识别的空间位姿进行作业,必须要知道相机和机械人手臂末端之间的位姿关系,手眼标定就是确定相机(或摄像机)和机器人手臂末端之间的刚体转换矩阵。
本申请的手眼标定方法是对Eye-in-Hand系统中机器人手臂末端坐标系与安装在机器人手臂末端的相机坐标系之间的刚体转换矩阵进行标定。通过标定好刚体转换矩阵,能够将相机的像素坐标变换到机械手的空间坐标系中,然后在机器人手臂末端坐标系下计算出各个电机的运动参数,从而基于运动参数控制机械手到达指定位置后,控制相机对指定位置进行拍摄。
本申请中的相机为2D相机或3D相机,由于3D相机比2D相机能够采集多一个维度的信息,可以处理更加复杂的场景以及具备更优的抗燥能力,因此优选3D相机捕获数据信息;同时利用3D相机捕获的数据信息进行手眼标定,也能够提升手眼标定的精度的提升。
图1示出了本申请实施例的手眼标定方法的流程示意图,如图1所示,手眼标定方法包括以下步骤:
在步骤110中,确定手眼视觉系统的手眼标定方程,手眼视觉系统包括相机与机器人手臂末端,相机安装在机器人手臂末端,手眼标定方程用于求解相机坐标系与机器人手臂末端坐标系之间的刚体转换矩阵。
图2示出了手眼视觉系统中各组成部分之间的位置及坐标系关系示意图,如图2,手眼视觉系统包括:机器人手臂、机器人基座、3D相机和标定板,分别对应机器人手臂末端坐标系CoordA、机器人基座世界基准坐标系CoordB、相机坐标系CoordC和标定板坐标系CoordT
图3示出本申请另一实施例确定手眼视觉系统的手眼标定方程的流程示意图,如图3所示,确定手眼视觉系统的手眼标定方程包括以下步骤:
在步骤310中,建立相机坐标系、机器人手臂末端坐标系、机器人基座世界基准坐标系和标定板坐标系;
在步骤320中,确定机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵
Figure BDA0003919290340000061
标定板坐标系与相机坐标系的刚体转换矩阵
Figure BDA0003919290340000062
标定板坐标系与机器人基座世界基准坐标系的刚体转换矩阵
Figure BDA0003919290340000063
以及待标定的相机坐标系与机器人手臂末端坐标系的刚体转换矩阵
Figure BDA0003919290340000064
控制机器人以不同的空间姿态运动,利用安装于机器人手臂末端上的相机拍摄标定块,每次运动下,通过机器人控制面板直接读取并记录机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵
Figure BDA0003919290340000065
图4示出了本申请另一实施例确定相机坐标系与标定板坐标系的刚体转换矩阵的流程示意图,如图4所示,确定相机坐标系与标定板坐标系的刚体转换矩阵,包括以下步骤:
在步骤410中,获取标定板的标准点云数据。
点云是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合,在获取物体表面每个采样点的空间坐标后,得到的是点的集合,称之为点云。
在步骤420中,通过相机采集标定板的实际点云数据;
随着计算机视觉技术和传感器技术的不断突破,通过激光扫描生成物体点云的方法迅速发展完善。在本实施例中通过深度相机、双目相机或3d激光扫描相机等设备获取标定板的实际点云数据。
在步骤430中,对标准点云数据和实际点云数据进行配准,配准后得到标定板坐标系与相机坐标系的刚体转换矩阵
Figure BDA0003919290340000066
在一些实施例中,通过ICP配准算法对对标准点云数据和实际点云数据进行配准。ICP(lterative Closest Point)算法是应用最广泛的3D点云配准算法之一,其通过欧式变换求解出标准点云数据和实际点云数据的旋转平移矩阵。
在步骤330中,获取机器人在多次运动下的姿态信息,基于姿态信息和刚体转换矩阵确定手眼标定方程。
设待求的手眼关系即相机坐标系与机器人手臂末端坐标系的刚体转换矩阵为
Figure BDA0003919290340000067
根据多次运动下的姿态信息及恒定不变的标定板与机器人基座世界基准坐标系的转换关系
Figure BDA0003919290340000068
由于标定板固定于机器人基座世界基准坐标系下,因此标定板与机器人基座世界基准坐标系的刚体转换矩阵恒定不变,则可建立如下关系式:
Figure BDA0003919290340000071
控制机器人以2组以上不同的姿态拍摄标定板,可获取如下关系式:
Figure BDA0003919290340000072
其中,n表示姿态数量;
对公式(2)作变换可得:
Figure BDA0003919290340000073
基于公式(3)构建标准手眼标定方程AX=XB,其中
Figure BDA0003919290340000074
在步骤120中,对手眼标定方程进行线性求解,得到相机坐标系与机器人手臂末端坐标系之间的初始刚体变换矩阵。
初始刚体变换矩阵包括初始旋转矩阵方程和初始平移向量。
图5示出了本申请另一实施例对手眼标定方程进行线性求解得到初始刚体变换矩阵的流程示意图,如图5所示,对手眼标定方程进行线性求解,得到相机坐标系与机器人手臂末端坐标系之间的初始刚体变换矩阵,包括以下步骤:
在步骤510中,将手眼标定方程转换为齐次手眼标定矩阵方程,齐次手眼标定矩阵方程表示为:
Figure BDA0003919290340000075
其中,tA、tB、tX分别表示A、B、X的平移矩阵,RA、RB、RX分别表示A、B、X的旋转矩阵。
在步骤520中,将齐次手眼标定矩阵转换为旋转矩阵方程和平移向量方程,旋转矩阵方程和平移向量方程分别为:
Figure BDA0003919290340000081
其中,旋转矩阵RA和旋转矩阵RB对应的旋转轴nA和旋转轴nB有以下关系:
RXnB=nA
在步骤530中,利用最小二乘法对旋转矩阵方程进行求解,得到初始旋转矩阵RX
Figure BDA0003919290340000082
其中,M为协方差矩阵,
Figure BDA0003919290340000083
k为机械手运动姿态的总数,T为矩阵转置,nBi、nAi分别为对应姿态下旋转矩阵A、B的旋转轴;
在步骤540中,将初始旋转矩阵代入平移向量方程中,并通过最小二乘法进行求解,得到初始平移向量。
由平移向量方程可推导出如下关系:
(RA-I)tX=RXtB-tA
其中,I表示单位矩阵;将初始旋转矩阵RX、旋转矩阵RB、平移矩阵tB分别带入上式中,即可计算得到初始平移向量tX.
在步骤130中,建立用于对初始刚体变换矩阵进行非线性迭代寻优的初始目标函数,初始目标函数用于表征待求解刚体变换矩阵与待求解刚体变换矩阵误差之间的关系;
本申请借鉴拟牛顿非线性优化算法的思想,提出基于拟牛顿的手眼标定方程非线性迭代寻优算法,因此基于初始刚体变换矩阵建立初始目标函数,也即基于线性求解得到的初始旋转矩阵RX.和初始平移向量tX.分别建立初始目标函数,具体为:
旋转矩阵目标函数表示为:
min max||RAiRX-RXRBi||2
st.ppT=1
pTp′=0
其中,p’为四元数的共轭,p为TX的四元数表达,RAi表示手眼标准方程AX=XB对应矩阵A的旋转矩阵,RBi表示手眼标准方程AX=XB对应矩阵B在第i组姿态下的旋转矩阵。
平移向量目标函数表示为:min max||RAitX+tA-RXtB+tX||2
基于拟牛顿算法建立的初始目标函数表示为:
Figure BDA0003919290340000091
其中,x为待求解的刚体变换矩阵,k表示迭代次数,ξ为目标残差值,λ为残差因子;
其中的误差函数为:
φi(xk,ξk)=|ei(xk)|-ξk,ei(xk)=Axk-b
其中,ei表示误差公式,A、xk和b为ei公式演化的分量,此处的ei(xk)指代的是旋转矩阵与平移矩阵的误差之和,具体表示为:
||RAiRX-RXRBi||2+||RAitX+tA-RXtB+tX||2
其中的I1、I2表示数据集合分类,具体为:
I1={all i fulfilling φi(xk,ξk)>0,λki>0}
I2={all i fulfilling φi(xk,ξk)>0,λki=0}。
在步骤140中,利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵,其中,目标刚体变换矩阵用于将相机坐标系的坐标变换到机器人手臂末端坐标系中,新目标函数为初始目标函数以初始刚体变换矩阵作为初始值进行非线性迭代寻优得到。
图6示出了利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵的流程示意图,新目标函数至少包括第一新目标函数和第二新目标函数,优化刚体变换矩阵至少包括第一优化刚体变换矩阵和第二优化刚体变换矩阵。如图6所示,利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵,包括以下步骤:
在步骤610中,利用初始刚体变换矩阵对初始目标函数包含的参数进行初始化,得到初始化参数,初始化参数为:
ξk-1=0=0,xk-1=0=X
For i=0to N:λk-1i=1
其中,i表示方程序号,总共有N个方程,k是迭代次数。
在步骤620中,将初始化参数代入初始目标函数,得到第一新目标函数;
在步骤630中,基于第一新目标函数确定第一优化刚体变换矩阵,并计算第一优化刚体变换矩阵的第一误差。
当前迭代次对应的误差也即第一误差表示为:
Ek=Ek(xk)=max|ei(xk)|,1≤i≤N。
在步骤640中,基于第一优化刚体变换矩阵对第一新目标函数包含的参数进行更新,得到更新参数;
在一些实施例中,基于以下公式对第一新目标函数包含的参数进行更新:
Figure BDA0003919290340000101
Figure BDA0003919290340000102
Figure BDA0003919290340000103
在步骤650中,将更新参数代入第一新目标函数中,得到第二新目标函数;
在步骤660中,基于第二新目标函数确定第二优化刚体变换矩阵,并计算第二优化刚体变换矩阵的第二误差。
在一些实施例中,第二误差表示为EK-1=EK-1(x)=max|ei-1(xK)|,1≤i≤N。
在步骤670中,当第一误差与第二误差之差值小于阈值、且迭代次数小于最大迭代次数时,则停止迭代并输出第二优化刚体变换矩阵,第二优化刚体变换矩阵为目标变换矩阵。
在一些实施例中,若|EK-EK-1|<ε,则停止迭代,并输出k-1迭代次数所输出的刚体变换矩阵。其中,ε表示阈值,取值为1e-7至1e-8。
在步骤660之后,若第一误差与第二误差之差大于阈值、且迭代次数小于最大迭代次数时,则基于第二优化刚体变换矩阵对第二新目标函数包含的参数进行更新得到对应的新目标函数,再基于新目标函数确定对应的优化刚体变换矩阵,直至满足相邻两次迭代所得的优化刚体变换矩阵所对应的误差之差小于阈值或迭代次数到达最大迭代次数的条件时,将最后一次迭代所得到的优化刚体变换矩阵输出并作为目标刚体变换矩阵。
在一些实施例中,步骤140中的非线性迭代寻优方法,还可替换为Levenberg-Marquarelt(LM)列文伯格-马夸尔特、梯度下降等优化算法。使用不同的非线性优化算法,都可以获取比线性封闭式求解更优的结果,但与列文伯格-马夸尔特、梯度下降等优化算法相比,拟牛顿非纷性迭代寻优方法所获取的非纷性优化结果更优且效率更高。
在本申请中,确定手眼标定方程,通过线性求解法对手眼标定方程进行求解确定初始刚体变换矩阵,然后再利用初始目标函数对初始刚体变换矩阵进行非线性迭代寻优,最后将非线性迭代寻找到的全局最优的优化刚体变换矩阵作为目标刚体变换矩阵,经过非线性迭代寻找得到的目标刚体变换矩阵与初始刚体变换矩阵相比更加精确,实现了提高求解手眼标定方程的精度的目的。
图7示出了本申请手眼标定装置的结构框图,如图7所示,手眼标定装置700包括确定模块710、线性求解模块720、初始目标函数建立模块730和非线性迭代寻优模块740,具体为:
确定模块,用于确定手眼视觉系统的手眼标定方程,手眼视觉系统包括相机与机器人手臂末端,相机安装在机器人手臂末端,手眼标定方程用于求解相机坐标系与机器人手臂末端坐标系之间的刚体转换矩阵;
线性求解模块,用于对手眼标定方程进行线性求解,得到相机坐标系与机器人手臂末端坐标系之间的初始刚体变换矩阵;
初始目标函数建立模块,用于建立用于对初始刚体变换矩阵进行非线性迭代寻优的初始目标函数,初始目标函数用于表征待求解刚体变换矩阵与待求解刚体变换矩阵误差之间的关系;
非线性迭代寻优模块,用于利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵,其中,目标刚体变换矩阵用于将相机坐标系的坐标变换到机器人手臂末端坐标系中,新目标函数为初始目标函数以初始刚体变换矩阵作为初始值进行非线性迭代寻优得到。
在一些实施例中,非线性迭代寻优模块进一步用于:利用初始刚体变换矩阵对初始目标函数包含的参数进行初始化,得到初始化参数;
将初始化参数代入初始目标函数,得到第一新目标函数;
基于第一新目标函数确定第一优化刚体变换矩阵,并计算第一优化刚体变换矩阵的第一误差;
基于第一优化刚体变换矩阵对第一新目标函数包含的参数进行更新,得到更新参数;
将更新参数代入第一新目标函数中,得到第二新目标函数;
基于第二新目标函数确定第二优化刚体变换矩阵,并计算第二优化刚体变换矩阵的第二误差;
当第一误差与第二误差之差值小于阈值、且迭代次数小于最大迭代次数时,则停止迭代并输出第二优化刚体变换矩阵,第二优化刚体变换矩阵为目标变换矩阵。
在一些实施例中,非线性迭代寻优模块进一步用于当第一误差与第二误差之差大于阈值、且迭代次数小于最大迭代次数时,基于第二优化刚体变换矩阵对第二新目标函数包含的参数进行更新得到对应的新目标函数,再基于新目标函数确定对应的优化刚体变换矩阵,直至满足相邻两次迭代所得的优化刚体变换矩阵所对应的误差之差小于阈值或迭代次数到达最大迭代次数的条件时,将最后一次迭代所得到的优化刚体变换矩阵输出并作为目标刚体变换矩阵。
在一些实施例中,确定模块进一步用于:建立相机坐标系、机器人手臂末端坐标系、机器人基座世界基准坐标系和标定板坐标系;确定机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵、相机坐标系与标定板坐标系的刚体转换矩阵、标定板坐标系与机器人基座世界基准坐标系的刚体转换矩阵、以及待标定的机器人手臂末端坐标系与相机坐标系的刚体转换矩阵;获取机器人在多次运动下的姿态信息,基于姿态信息和刚体转换矩阵确定手眼标定方程。
在一些实施例中,确定模块进一步用于:确定机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵,进一步包括:
从机器人控制面板中读取机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵。
在一些实施例中,确定模块进一步用于:确定相机坐标系与标定板坐标系的刚体转换矩阵,进一步包括:获取标定板的标准点云数据;通过相机采集标定板的实际点云数据;对标准点云数据和实际点云数据进行配准,配准后得到相机坐标系与标定板坐标系的刚体转换矩阵。
在一些实施例中,初始刚体变换矩阵包括初始旋转矩阵方程和初始平移向量,线性求解模块进一步用于:将手眼标定方程转换为齐次手眼标定矩阵方程;将齐次手眼标定矩阵转换为旋转矩阵方程和平移向量方程;利用最小二乘法对旋转矩阵方程进行求解,得到初始旋转矩阵;将初始旋转矩阵代入平移向量方程中,并通过最小二乘法进行求解,得到初始平移向量。
上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种终端装置,包括:至少一个处理器和存储器;存储器,用于存储程序指令;处理器,用于调用并执行存储器中存储的程序指令,以使终端装置执行上述的眼标定方法。其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一些实施例中,提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的眼标定方法。其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(DynamicRandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种手眼标定方法,其特征在于,所述方法包括:
确定手眼视觉系统的手眼标定方程,所述手眼视觉系统包括相机与机器人手臂末端,所述相机安装在机器人手臂末端,所述手眼标定方程用于求解相机坐标系与机器人手臂末端坐标系之间的刚体转换矩阵;
对所述手眼标定方程进行线性求解,得到所述相机坐标系与所述机器人手臂末端坐标系之间的初始刚体变换矩阵;
建立用于对所述初始刚体变换矩阵进行非线性迭代寻优的初始目标函数,所述初始目标函数用于表征待求解刚体变换矩阵与待求解刚体变换矩阵误差之间的关系;
利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵,其中,所述目标刚体变换矩阵用于将所述相机坐标系的坐标变换到所述机器人手臂末端坐标系中,所述新目标函数为所述初始目标函数以所述初始刚体变换矩阵作为初始值进行非线性迭代寻优得到。
2.如权利要求1所述的手眼标定方法,其特征在于,所述利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵,进一步包括:
利用所述初始刚体变换矩阵对所述初始目标函数包含的参数进行初始化,得到初始化参数;
将所述初始化参数代入所述初始目标函数,得到第一新目标函数;
基于所述第一新目标函数确定第一优化刚体变换矩阵,并计算所述第一优化刚体变换矩阵的第一误差;
基于所述第一优化刚体变换矩阵对所述第一新目标函数包含的参数进行更新,得到更新参数;
将所述更新参数代入所述第一新目标函数中,得到第二新目标函数;
基于所述第二新目标函数确定第二优化刚体变换矩阵,并计算所述第二优化刚体变换矩阵的第二误差;
当所述第一误差与所述第二误差之差值小于阈值、且迭代次数小于最大迭代次数时,则停止迭代并输出所述第二优化刚体变换矩阵,所述第二优化刚体变换矩阵为所述目标变换矩阵。
3.如权利要求2所述的手眼标定方法,其特征在于,当所述第一误差与所述第二误差之差值大于所述阈值、且所述迭代次数小于所述最大迭代次数时,基于所述第二优化刚体变换矩阵对所述第二新目标函数包含的参数进行更新得到对应的新目标函数,再基于新目标函数确定对应的优化刚体变换矩阵,直至满足相邻两次迭代所得的优化刚体变换矩阵所对应的误差之差小于所述阈值或迭代次数到达最大迭代次数的条件时,将最后一次迭代所得到的优化刚体变换矩阵输出并作为所述目标刚体变换矩阵。
4.如权利要求1所述的手眼标定方法,其特征在于,所述确定手眼视觉系统的手眼标定方程,进一步包括:
建立相机坐标系、机器人手臂末端坐标系、机器人基座世界基准坐标系和标定板坐标系;
确定机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵、标定板坐标系与相机坐标系的刚体转换矩阵、标定板坐标系与机器人基座世界基准坐标系的刚体转换矩阵、以及待标定的相机坐标系与机器人手臂末端坐标系的刚体转换矩阵;
获取机器人在多次运动下的姿态信息,基于所述姿态信息和所述刚体转换矩阵确定所述手眼标定方程。
5.如权利要求4所述的手眼标定方法,其特征在于,所述确定所述机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵,进一步包括:
从机器人控制面板中读取机器人手臂末端坐标系与机器人基座世界基准坐标系的刚体转换矩阵。
6.如权利要求4所述的手眼标定方法,其特征在于,所述确定相机坐标系与标定板坐标系的刚体转换矩阵,进一步包括:
获取所述标定板的标准点云数据;
通过所述相机采集所述标定板的实际点云数据;
对所述标准点云数据和所述实际点云数据进行配准,配准后得到所述相机坐标系与所述标定板坐标系的刚体转换矩阵。
7.如权利要求1所述的手眼标定方法,其特征在于,所述初始刚体变换矩阵包括初始旋转矩阵方程和初始平移向量,所述对所述手眼标定方程进行线性求解,得到所述相机坐标系与所述机器人手臂末端坐标系之间的初始刚体变换矩阵,进一步包括:
将所述手眼标定方程转换为齐次手眼标定矩阵方程;
将所述齐次手眼标定矩阵转换为旋转矩阵方程和平移向量方程;
利用最小二乘法对所述旋转矩阵方程进行求解,得到所述初始旋转矩阵;
将所述初始旋转矩阵代入所述平移向量方程中,并通过最小二乘法进行求解,得到所述初始平移向量。
8.一种手眼标定装置,其特征在于,包括:
确定模块,用于确定手眼视觉系统的手眼标定方程,所述手眼视觉系统包括相机与机器人手臂末端,所述相机安装在机器人手臂末端,所述手眼标定方程用于求解相机坐标系与机器人手臂末端坐标系之间的刚体转换矩阵;
线性求解模块,用于对所述手眼标定方程进行线性求解,得到所述相机坐标系与所述机器人手臂末端坐标系之间的初始刚体变换矩阵;
初始目标函数建立模块,用于建立用于对所述初始刚体变换矩阵进行非线性迭代寻优的初始目标函数,所述初始目标函数用于表征待求解刚体变换矩阵与待求解刚体变换矩阵误差之间的关系;
非线性迭代寻优模块,用于利用新目标函数生成初始刚体变换矩阵对应的目标刚体变换矩阵,其中,所述目标刚体变换矩阵用于将所述相机坐标系的坐标变换到所述机器人手臂末端坐标系中,所述新目标函数为所述初始目标函数以所述初始刚体变换矩阵作为初始值进行非线性迭代寻优得到。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的手眼标定方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得所述计算机执行如权利要求1-7任一项所述的手眼标定方法。
CN202211352077.6A 2022-10-31 2022-10-31 一种手眼标定方法、装置和计算机设备 Pending CN115625709A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211352077.6A CN115625709A (zh) 2022-10-31 2022-10-31 一种手眼标定方法、装置和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211352077.6A CN115625709A (zh) 2022-10-31 2022-10-31 一种手眼标定方法、装置和计算机设备

Publications (1)

Publication Number Publication Date
CN115625709A true CN115625709A (zh) 2023-01-20

Family

ID=84909471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211352077.6A Pending CN115625709A (zh) 2022-10-31 2022-10-31 一种手眼标定方法、装置和计算机设备

Country Status (1)

Country Link
CN (1) CN115625709A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117506919A (zh) * 2023-12-01 2024-02-06 广州创之力智能科技有限公司 一种手眼标定方法、装置、终端设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117506919A (zh) * 2023-12-01 2024-02-06 广州创之力智能科技有限公司 一种手眼标定方法、装置、终端设备及存储介质

Similar Documents

Publication Publication Date Title
Lee et al. Camera-to-robot pose estimation from a single image
Lv et al. Taking a deeper look at the inverse compositional algorithm
CN110842914B (zh) 基于差分进化算法的手眼标定参数辨识方法、系统及介质
US10639792B2 (en) Deep machine learning methods and apparatus for robotic grasping
WO2021063127A1 (zh) 多相机环境中主动式刚体的位姿定位方法及相关设备
US9019278B2 (en) Systems and methods for animating non-humanoid characters with human motion data
CN113601503B (zh) 手眼标定方法、装置、计算机设备和存储介质
Kumar et al. Visual motor control of a 7DOF redundant manipulator using redundancy preserving learning network
Schramm et al. Ensuring visibility in calibration-free path planning for image-based visual servoing
Zhi et al. Simultaneous hand-eye calibration and reconstruction
Silveira On intensity-based nonmetric visual servoing
CN114387513A (zh) 机器人抓取方法、装置、电子设备及存储介质
CN115625709A (zh) 一种手眼标定方法、装置和计算机设备
US20220152818A1 (en) Apparatus and method for training a machine learning model to recognize an object topology of an object from an image of the object
US20230115521A1 (en) Device and method for training a machine learning model for recognizing an object topology of an object from an image of the object
Ahmadzadeh et al. Generalized Cylinders for Learning, Reproduction, Generalization, and Refinement of Robot Skills.
Zhao et al. Fingerslam: Closed-loop unknown object localization and reconstruction from visuo-tactile feedback
Lobos-Tsunekawa et al. Point cloud based reinforcement learning for sim-to-real and partial observability in visual navigation
US11964400B2 (en) Device and method for controlling a robot to pick up an object in various positions
Viksten et al. Increasing pose estimation performance using multi-cue integration
CN114347027B (zh) 一种3d相机相对于机械臂的位姿标定方法
CN116079727A (zh) 基于3d人体姿态估计的人形机器人动作模仿方法及装置
CN112991445B (zh) 模型训练方法、姿态预测方法、装置、设备及存储介质
CN115256367A (zh) 一种基于双目立体成像的机械臂手眼标定方法
CN112541936A (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