CN116038720B - 一种基于点云配准的手眼标定方法、装置及设备 - Google Patents
一种基于点云配准的手眼标定方法、装置及设备 Download PDFInfo
- Publication number
- CN116038720B CN116038720B CN202310345998.8A CN202310345998A CN116038720B CN 116038720 B CN116038720 B CN 116038720B CN 202310345998 A CN202310345998 A CN 202310345998A CN 116038720 B CN116038720 B CN 116038720B
- Authority
- CN
- China
- Prior art keywords
- transformation matrix
- coordinates
- eye
- hand
- dimensional
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000011159 matrix material Substances 0.000 claims abstract description 195
- 230000009466 transformation Effects 0.000 claims abstract description 176
- 238000005457 optimization Methods 0.000 claims abstract description 21
- 230000006870 function Effects 0.000 claims description 52
- 230000008569 process Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000001131 transforming effect Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 238000012804 iterative process Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30204—Marker
- G06T2207/30208—Marker matrix
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本申请公开了一种基于点云配准的手眼标定方法、装置及设备,方法包括:获取相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵;采用三维扫描系统对棋盘格标定板进行扫描,并获取多组棋盘格标定板角点的三维相机坐标、二维像素坐标和机械臂变换矩阵,三维扫描系统包括拍摄相机和投影仪,棋盘格标定板安装于机械臂末端上;根据机械臂变换矩阵对多组三维相机坐标和二维像素坐标进行点云配准,并计算出配准误差;基于初始手眼变换矩阵,采用LM算法对依据配准误差构建的代价函数进行迭代操作,得到优化手眼变换矩阵。本申请能够解决现有技术存在精度较低,且缺乏优化的情况,导致实际手眼标定误差较大的技术问题。
Description
技术领域
本申请涉及机器人视觉技术领域,尤其涉及一种基于点云配准的手眼标定方法、装置及设备。
背景技术
随着科学技术的不断发展,机器视觉的应用领域越来越广泛,包括航空航天、工业生产、物流运输等。在工业应用领域中,视觉系统时常作为机器臂的引导,通过确定机械臂基座坐标系与相机坐标系之间的变换关系,将视觉系统感知到的目标信息转换到机械臂基座坐标系,最终实现机械臂对物体的抓取、搬运、装配等操作。计算机械臂基座坐标系与相机坐标系之间的变换矩阵这一过程称为手眼标定。手眼标定是实现视觉系统引导机械臂实现柔性抓取或装配的基础,手眼标定精确度将直接影响机械臂抓取或装配的精度。
现阶段工业应用领域的手眼标定主要有两个误差,一个是机械臂本身绝对定位精度低,另外一个是棋盘格标定板相对于相机坐标系的变换矩阵解算精度低。然而现有的手眼标定解算方法并没有考虑这两个误差来源对手眼矩阵解算带来的精度影响;而且也没有对解算结果进行调整或者优化,导致求得的手眼矩阵精度较低,倘若直接将求得的手眼矩阵用于机械臂的生产加工,则会带来很大的加工误差。
发明内容
本申请提供了一种基于点云配准的手眼标定方法、装置及设备,用于解决现有技术存在精度较低,且缺乏优化的情况,导致实际手眼标定误差较大的技术问题。
有鉴于此,本申请第一方面提供了一种基于点云配准的手眼标定方法,包括:
获取相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵;
采用三维扫描系统对棋盘格标定板进行扫描,并获取多组所述棋盘格标定板角点的三维相机坐标、二维像素坐标和机械臂变换矩阵,所述三维扫描系统包括拍摄相机和投影仪,所述棋盘格标定板安装于机械臂末端上;
根据所述机械臂变换矩阵对多组所述三维相机坐标和所述二维像素坐标进行点云配准,并计算出配准误差;
基于所述初始手眼变换矩阵,采用LM算法对依据所述配准误差构建的代价函数进行迭代操作,得到优化手眼变换矩阵。
优选地,所述获取相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵,包括:
获取多组棋盘格标定板相对于相机坐标系的第一变换矩阵和机械臂末端相对于机械臂基座坐标系的第二变换矩阵;
根据所述第一变换矩阵和所述第二变换矩阵计算所述相机坐标系相对于所述机械臂基座坐标系的初始手眼变换矩阵。
优选地,所述根据所述第一变换矩阵和所述第二变换矩阵计算所述相机坐标系相对于所述机械臂基座坐标系的初始手眼变换矩阵,包括:
根据所述第一变换矩阵和所述第二变换矩阵构建手眼标定方程组;
采用四元数算法求解所述手眼标定方程组,得到所述相机坐标系相对于所述机械臂基座坐标系的初始手眼变换矩阵。
优选地,所述根据所述机械臂变换矩阵对多组所述三维相机坐标和所述二维像素坐标进行点云配准,并计算出配准误差,包括:
以第一组所述三维相机坐标和所述二维像素坐标为基准组坐标,根据所述机械臂变换矩阵分别将其他组所述三维相机坐标和所述二维像素坐标与所述基准组坐标进行点云配准,得到三维相机配准坐标和对应的二维像素配准坐标;
将所述二维像素配准坐标与所述基准组坐标中的所述二维像素坐标作差,得到配准误差。
优选地,所述基于所述初始手眼变换矩阵,采用LM算法对依据所述配准误差构建的代价函数进行迭代操作,得到优化手眼变换矩阵,包括:
依据所述配准误差构建代价函数;
基于将所述初始手眼变换矩阵从李群空间转换至李代数空间的操作对所述代价函数进行变换,得到转换代价函数;
以所述初始手眼变换矩阵为初始值,采用LM算法对所述转换代价函数进行迭代操作,得到优化手眼变换矩阵。
本申请第二方面提供了一种基于点云配准的手眼标定装置,包括:
矩阵获取单元,用于获取相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵;
信息获取单元,用于采用三维扫描系统对棋盘格标定板进行扫描,并获取多组所述棋盘格标定板角点的三维相机坐标、二维像素坐标和机械臂变换矩阵,所述三维扫描系统包括拍摄相机和投影仪,所述棋盘格标定板安装于机械臂末端上;
点云配准单元,用于根据所述机械臂变换矩阵对多组所述三维相机坐标和所述二维像素坐标进行点云配准,并计算出配准误差;
迭代标定单元,用于基于所述初始手眼变换矩阵,采用LM算法对依据所述配准误差构建的代价函数进行迭代操作,得到优化手眼变换矩阵。
优选地,所述矩阵获取单元,包括:
矩阵获取子单元,用于获取多组棋盘格标定板相对于相机坐标系的第一变换矩阵和机械臂末端相对于机械臂基座坐标系的第二变换矩阵;
矩阵计算子单元,用于根据所述第一变换矩阵和所述第二变换矩阵计算所述相机坐标系相对于所述机械臂基座坐标系的初始手眼变换矩阵。
优选地,所述矩阵计算子单元,具体用于:
以第一组所述三维相机坐标和所述二维像素坐标为基准组坐标,根据所述机械臂变换矩阵分别将其他组所述三维相机坐标和所述二维像素坐标与所述基准组坐标进行点云配准,得到三维相机配准坐标和对应的二维像素配准坐标;
将所述二维像素配准坐标与所述基准组坐标中的所述二维像素坐标作差,得到配准误差。
优选地,所述迭代标定单元,包括:
函数构建子单元,用于依据所述配准误差构建代价函数;
函数优化子单元,用于基于将所述初始手眼变换矩阵从李群空间转换至李代数空间的操作对所述代价函数进行变换,得到转换代价函数;
优化标定子单元,用于以所述初始手眼变换矩阵为初始值,采用LM算法对所述转换代价函数进行迭代操作,得到优化手眼变换矩阵。
本申请第三方面提供了一种基于点云配准的手眼标定设备,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面所述的基于点云配准的手眼标定方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中,提供了一种基于点云配准的手眼标定方法,包括:获取相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵;采用三维扫描系统对棋盘格标定板进行扫描,并获取多组棋盘格标定板角点的三维相机坐标、二维像素坐标和机械臂变换矩阵,三维扫描系统包括拍摄相机和投影仪,棋盘格标定板安装于机械臂末端上;根据机械臂变换矩阵对多组三维相机坐标和二维像素坐标进行点云配准,并计算出配准误差;基于初始手眼变换矩阵,采用LM算法对依据配准误差构建的代价函数进行迭代操作,得到优化手眼变换矩阵。
本申请提供的基于点云配准的手眼标定方法,通过点云配准和优化求解的方式提高了手眼标定的准确度;通过配准误差和初始手眼变换矩阵构建代价函数考虑到了机械臂绝对定位对求解手眼变换矩阵的影响,能够避免现有技术求解精度较低的问题;而且迭代操作能够优化手眼变换矩阵,确保求解的可靠性和准确性。因此,本申请能够解决现有技术存在精度较低,且缺乏优化的情况,导致实际手眼标定误差较大的技术问题。
附图说明
图1为本申请实施例提供的一种基于点云配准的手眼标定方法的一个流程示意图;
图2为本申请实施例提供的一种基于点云配准的手眼标定方法的另一个流程示意图;
图3为本申请实施例提供的一种基于点云配准的手眼标定装置的结构示意图;
图4为本申请实施例提供的点云配准过程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,请参阅图1,本申请提供的一种基于点云配准的手眼标定方法的实施例一,包括:
步骤101、获取相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵。
初始手眼变换矩阵可以通过现有的/>的标定公式计算得到,具体过程不作赘述,但是这样求解的初始手眼变换矩阵不够精确,所以本实施例基于此进行后续的优化处理。
需要说明的是,相机坐标系是用于捕捉机械臂(手)末端动作的相机(眼)的坐标系;而机械臂基座坐标系显然是针对机械臂而言的坐标系;两个坐标系之间的转换矩阵即为手眼标定,用手眼变换矩阵表达。
步骤102、采用三维扫描系统对棋盘格标定板进行扫描,并获取多组棋盘格标定板角点的三维相机坐标、二维像素坐标和机械臂变换矩阵,三维扫描系统包括拍摄相机和投影仪,棋盘格标定板安装于机械臂末端上。
三维扫描系统是由拍摄相机和投影仪构成;棋盘格标定板安装在机械臂的末端随机械臂移动。多组数据的获取过程是:多次变动棋盘格标定板的位姿,然后采用三维扫描系统获取多次变动下的三维相机坐标,同时将三维相机坐标映射至像素坐标系,得到对应的二维像素坐标,而且,还可以记录下机械臂末端相对与机械臂基座坐标系的变换矩阵。每变动拍摄一次产生的三维相机坐标、二维像素坐标和机械臂变换矩阵视为一组拍摄数据。
步骤103、根据机械臂变换矩阵对多组三维相机坐标和二维像素坐标进行点云配准,并计算出配准误差。
本实施例中对点云数据进行配准的目的是确保后续优化求解过程中使用的相关数据对之间是对齐、统一的,这样能够保证结果的可靠性和鲁棒性。配准的点云数据主要是上述获取的每一组拍摄数据中的点云数据,由于二维像素坐标与三维相机坐标对应,所以可以对三维相机坐标配准之后,将其映射至像素坐标系,完成二维像素坐标的配准。根据机械臂变换矩阵进行点云配准也是考虑到了机械臂绝对定位的影响,使得计算数据更加符合实际情况。
步骤104、基于初始手眼变换矩阵,采用LM算法对依据配准误差构建的代价函数进行迭代操作,得到优化手眼变换矩阵。
LM(Levenberg-Marquarelt)算法是一种迭代求函数极值的算法,同时具有梯度下降法和牛顿法的优点;当λ很小时,步长等于牛顿法步长;当λ很大时,步长约等于梯度下降法的步长。
需要说明的是,初始手眼变换矩阵是作为初始值输入迭代优化过程中的;此外基于配准误差构建的代价函数中包括待求解的手眼变换矩阵表达,通过迭代优化就可以求解出具体的手眼变换矩阵,即优化手眼变换矩阵。
本申请实施例提供的基于点云配准的手眼标定方法,通过点云配准和优化求解的方式提高了手眼标定的准确度;通过配准误差和初始手眼变换矩阵构建代价函数考虑到了机械臂绝对定位对求解手眼变换矩阵的影响,能够避免现有技术求解精度较低的问题;而且迭代操作能够优化手眼变换矩阵,确保求解的可靠性和准确性。因此,本申请实施例能够解决现有技术存在精度较低,且缺乏优化的情况,导致实际手眼标定误差较大的技术问题。
为了便于理解,请参阅图2,本申请提供了一种基于点云配准的手眼标定方法的实施例二,包括:
步骤201、获取多组棋盘格标定板相对于相机坐标系的第一变换矩阵和机械臂末端相对于机械臂基座坐标系的第二变换矩阵。
步骤202、根据第一变换矩阵和第二变换矩阵计算相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵。
进一步地,步骤202,包括:
根据第一变换矩阵和第二变换矩阵构建手眼标定方程组;
采用四元数算法求解手眼标定方程组,得到相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵。
在机械臂末端放置一块棋盘格标定板,多次变动棋盘格标定板的位姿,同时保证棋盘格标定板始终在拍摄相机和投影仪的共同视场内,然后获取多组棋盘格标定板相对于相机坐标系的第一变换矩阵A和机械臂末端相对于机械臂基座坐标系的第二变换矩阵B;接着,根据棋盘格标定与机械臂末端的变换关系固定不变可以根据第一变换矩阵A和第二变换矩阵B构建手眼标定方程组;最后采用四元数算法对手眼标定方程组进行求解,就可以得到初始手眼变换矩阵/>。
初始手眼变换矩阵的实质就是相机坐标系相对于机械臂基座坐标系的变换矩阵,即本实施例的最终目的,但是此处的初始手眼变换矩阵精确度较低,所以需要后续的配准优化操作,以求得到最优手眼变换矩阵。此外,每一个第一变换矩阵A对应一个第二变换矩阵B,两者之间可以表示为:
;
其中,,表示在手眼标定过程中棋盘格标定板变动位姿的次数,如果只讨论有意义的位姿变动次数,也可以看做是拍摄的数据组数量;/>通常取30次左右。
若考虑所有组数据,则可以得到如下手眼标定方程组:
;
求解得到相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵表达为:
;
该初始手眼变换矩阵为4×4大小的矩阵,、/>分别为3×3、3×1大小的矩阵,分别表示相机坐标系相对于机械臂基座坐标系的旋转矩阵和平移矩阵。
步骤203、采用三维扫描系统对棋盘格标定板进行扫描,并获取多组棋盘格标定板角点的三维相机坐标、二维像素坐标和机械臂变换矩阵,三维扫描系统包括拍摄相机和投影仪,棋盘格标定板安装于机械臂末端上。
多组数据的获取过程是:多次变动棋盘格标定板的位姿,然后采用三维扫描系统获取多次变动下的三维相机坐标,同时将三维相机坐标映射至像素坐标系,得到对应的二维像素坐标,而且,还可以记录下机械臂末端相对与机械臂基座坐标系的变换矩阵。每变动拍摄一次产生的三维相机坐标、二维像素坐标和机械臂变换矩阵视为一组拍摄数据;具体的三维相机坐标和其对应的二维像素坐标分别表示为:
;
;
其中,i,j分别为第i组数据和棋盘格标定板第j个角点,也可以描述为棋盘格标定板第i次位姿变动,相机内参矩阵,是3×3大小的矩阵;机械臂变换矩阵表达为/>。具体的相机内参矩阵/>表达为:
;
其中,表示相机焦距f在相机内部图像坐标系x轴方向占的像素个数,也叫x轴方向的归一化焦距;/>表示相机焦距f在相机内部图像坐标系y轴方向占的像素个数,也叫y轴方向的归一化焦距,二者单位均为像素。
另外举例说明,第一组的三维相机坐标、二维像素坐标分别表达为:
;
;
以及第一组数据中的机械臂变换矩阵表达为。
步骤204、以第一组三维相机坐标和二维像素坐标为基准组坐标,根据机械臂变换矩阵分别将其他组三维相机坐标和二维像素坐标与基准组坐标进行点云配准,得到三维相机配准坐标和对应的二维像素配准坐标。
配准过程可以描述为:请参阅图4,选取第一组的三维相机坐标和二维像素坐标作为基准组坐标;然后将第二组的三维相机坐标和二维像素坐标与基准组坐标进行配准,配准按照如下公式表达:
;
或者:
;
那么映射到像素坐标系的二维像素坐标可以表达为:
;
或者:
;
第二组的二维像素坐标也可以根据基准组坐标中的二维像素坐标配准得到,但是由于二维像素坐标也是基于三维相机坐标映射得到,所以结果应该是一致的,都属于配准后的结果;具体的在此不作具体限定。
第三组的三维相机坐标和二维像素坐标可以依据第二组的配准方式进行配准,那么第i组的三维相机坐标和对应的二维像素坐标分别可以表达为:
;
;
根据以上方式进行坐标配准,就可以得到三维相机配准坐标和对应的二维像素配准坐标。
需要说明的是,本实施例将点云数据从相机坐标系映射到像素坐标系下进行配准的过程考虑到了相机内参矩阵对求解变换矩阵带来的影响,能够克服现有技术中变换矩阵计算精度较低的技术问题。
步骤205、将二维像素配准坐标与基准组坐标中的二维像素坐标作差,得到配准误差。
由于机械臂绝对定位精度低,且棋盘格标定板相对于相机坐标系的变换矩阵A解算精度低,导致初始手眼标定精度低,即初始手眼变换矩阵精确度较低,所以会出现:
;
;
也就是说,棋盘格标定板角点的点云配准存在误差,因此还需要对手眼标定过程进行深度优化。
若表示基准组坐标中棋盘格标定板角点的三维相机坐标从相机坐标系映射到像素坐标系下的坐标,即对应的二维像素坐标,/>表示配准后的第i组棋盘格标定板角点的三维相机坐标在基准下的二维像素坐标,则可以计算残差函数为,即作差,得到配准误差。
步骤206、依据配准误差构建代价函数。
步骤207、基于将初始手眼变换矩阵从李群空间转换至李代数空间的操作对代价函数进行变换,得到转换代价函数。
基于配准误差构建的代价函数表达为:
;
考虑到以上代价函数中的手眼变换矩阵X中的旋转矩阵R在迭代优化过程中需要满足正交性,所以本实施例将手眼变换矩阵X从李群空间SO转换至李代数空间SE,然后基于此进行优化迭代操作;在李代数空间SE下,手眼变换矩阵X表达为exp(X),那么代价函数相应的变换为:
;
或者:
;
其中,m,n分别是指m组坐标数据和棋盘格标定板的n个角点,这其中的手眼变换矩阵X是待求解,并不是初始手眼变换矩阵,也可以看做是基于配准误差和手眼标定表达矩阵进行代价函数构建。
步骤208、以初始手眼变换矩阵为初始值,采用LM算法对转换代价函数进行迭代操作,得到优化手眼变换矩阵。
以初始手眼变换矩阵为初始值,采用LM算法对转换代价函数进行迭代优化,具体的是基于最小二乘法进行迭代求解。首先初始化各个参数,配置初始值,这其中包括输入初始手眼变换矩阵,设置迭代次数;其次基于转换代价函数进行迭代计算,直至迭代至终止条件或者迭代次数,则停止,得到优化手眼变换矩阵X。
本实施例基于代价函数优化的方法考虑到了机械臂绝对定位精度对求解变换矩阵的影响,也就是说,本实施例中可以同时兼顾相机内参和绝对定位的影响,优化并提高手眼变换矩阵的精准度。
为了便于理解,请参阅图3,本申请还提供了一种基于点云配准的手眼标定装置的实施例,包括:
矩阵获取单元301,用于获取相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵;
信息获取单元302,用于采用三维扫描系统对棋盘格标定板进行扫描,并获取多组棋盘格标定板角点的三维相机坐标、二维像素坐标和机械臂变换矩阵,三维扫描系统包括拍摄相机和投影仪,棋盘格标定板安装于机械臂末端上;
点云配准单元303,用于根据机械臂变换矩阵对多组三维相机坐标和二维像素坐标进行点云配准,并计算出配准误差;
迭代标定单元304,用于基于初始手眼变换矩阵,采用LM算法对依据配准误差构建的代价函数进行迭代操作,得到优化手眼变换矩阵。
进一步地,矩阵获取单元301,包括:
矩阵获取子单元3011,用于获取多组棋盘格标定板相对于相机坐标系的第一变换矩阵和机械臂末端相对于机械臂基座坐标系的第二变换矩阵;
矩阵计算子单元3012,用于根据所述第一变换矩阵和所述第二变换矩阵计算所述相机坐标系相对于所述机械臂基座坐标系的初始手眼变换矩阵。
进一步地,矩阵计算子单元3012,具体用于:
以第一组三维相机坐标和二维像素坐标为基准组坐标,根据机械臂变换矩阵分别将其他组三维相机坐标和二维像素坐标与基准组坐标进行点云配准,得到三维相机配准坐标和对应的二维像素配准坐标;
将二维像素配准坐标与基准组坐标中的二维像素坐标作差,得到配准误差。
进一步地,迭代标定单元304,包括:
函数构建子单元3041,用于依据配准误差构建代价函数;
函数优化子单元3042,用于基于将初始手眼变换矩阵从李群空间转换至李代数空间的操作对代价函数进行变换,得到转换代价函数;
优化标定子单元3043,用于以初始手眼变换矩阵为初始值,采用LM算法对转换代价函数进行迭代操作,得到优化手眼变换矩阵。
本申请还提供了一种基于点云配准的手眼标定设备,设备包括处理器以及存储器;
存储器用于存储程序代码,并将程序代码传输给处理器;
处理器用于根据程序代码中的指令执行上述方法实施例中的基于点云配准的手眼标定方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (6)
1.一种基于点云配准的手眼标定方法,其特征在于,包括:
获取相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵;
采用三维扫描系统对棋盘格标定板进行扫描,并获取多组所述棋盘格标定板角点的三维相机坐标、二维像素坐标和机械臂变换矩阵,所述三维扫描系统包括拍摄相机和投影仪,所述棋盘格标定板安装于机械臂末端上;
根据所述机械臂变换矩阵对多组所述三维相机坐标和所述二维像素坐标进行点云配准,并计算出配准误差,配准过程具体为:
以第一组所述三维相机坐标和所述二维像素坐标为基准组坐标,根据所述机械臂变换矩阵分别将其他组所述三维相机坐标和所述二维像素坐标与所述基准组坐标进行点云配准,得到三维相机配准坐标和对应的二维像素配准坐标;
将所述二维像素配准坐标与所述基准组坐标中的所述二维像素坐标作差,得到配准误差;
基于所述初始手眼变换矩阵,采用LM算法对依据所述配准误差构建的代价函数进行迭代操作,得到优化手眼变换矩阵,迭代过程具体为:
依据所述配准误差构建代价函数,所述代价函数表达为:
其中,为所述三维相机坐标,/>为第一组二维像素坐标,/>相机内参矩阵,B为第二变换矩阵,X为待求的所述手眼变换矩阵,m,n分别是指m组坐标数据和棋盘格标定板的n个角点,/>表示基准组坐标中棋盘格标定板角点的三维相机坐标从相机坐标系映射到像素坐标系下的坐标,即对应的二维像素坐标,/>表示配准后的第i组棋盘格标定板角点的三维相机坐标在基准下的二维像素坐标,/>为配准误差;
基于将所述初始手眼变换矩阵从李群空间转换至李代数空间的操作对所述代价函数进行变换,得到转换代价函数;
以所述初始手眼变换矩阵为初始值,采用LM算法对所述转换代价函数进行迭代操作,得到优化手眼变换矩阵。
2.根据权利要求1所述的基于点云配准的手眼标定方法,其特征在于,所述获取相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵,包括:
获取多组棋盘格标定板相对于相机坐标系的第一变换矩阵和机械臂末端相对于机械臂基座坐标系的第二变换矩阵;
根据所述第一变换矩阵和所述第二变换矩阵计算所述相机坐标系相对于所述机械臂基座坐标系的初始手眼变换矩阵。
3.根据权利要求2所述的基于点云配准的手眼标定方法,其特征在于,所述根据所述第一变换矩阵和所述第二变换矩阵计算所述相机坐标系相对于所述机械臂基座坐标系的初始手眼变换矩阵,包括:
根据所述第一变换矩阵和所述第二变换矩阵构建手眼标定方程组;
采用四元数算法求解所述手眼标定方程组,得到所述相机坐标系相对于所述机械臂基座坐标系的初始手眼变换矩阵。
4.一种基于点云配准的手眼标定装置,其特征在于,包括:
矩阵获取单元,用于获取相机坐标系相对于机械臂基座坐标系的初始手眼变换矩阵;
信息获取单元,用于采用三维扫描系统对棋盘格标定板进行扫描,并获取多组所述棋盘格标定板角点的三维相机坐标、二维像素坐标和机械臂变换矩阵,所述三维扫描系统包括拍摄相机和投影仪,所述棋盘格标定板安装于机械臂末端上;
点云配准单元,用于根据所述机械臂变换矩阵对多组所述三维相机坐标和所述二维像素坐标进行点云配准,并计算出配准误差,配准过程具体为:
以第一组所述三维相机坐标和所述二维像素坐标为基准组坐标,根据所述机械臂变换矩阵分别将其他组所述三维相机坐标和所述二维像素坐标与所述基准组坐标进行点云配准,得到三维相机配准坐标和对应的二维像素配准坐标;
将所述二维像素配准坐标与所述基准组坐标中的所述二维像素坐标作差,得到配准误差;
迭代标定单元,用于基于所述初始手眼变换矩阵,采用LM算法对依据所述配准误差构建的代价函数进行迭代操作,得到优化手眼变换矩阵,所述迭代标定单元,包括:
函数构建子单元,用于依据所述配准误差构建代价函数,所述代价函数表达为:
其中,为所述三维相机坐标,/>为第一组二维像素坐标,/>相机内参矩阵,B为第二变换矩阵,X为待求的所述手眼变换矩阵,m,n分别是指m组坐标数据和棋盘格标定板的n个角点,/>表示基准组坐标中棋盘格标定板角点的三维相机坐标从相机坐标系映射到像素坐标系下的坐标,即对应的二维像素坐标,/>表示配准后的第i组棋盘格标定板角点的三维相机坐标在基准下的二维像素坐标,/>为配准误差;
函数优化子单元,用于基于将所述初始手眼变换矩阵从李群空间转换至李代数空间的操作对所述代价函数进行变换,得到转换代价函数;
优化标定子单元,用于以所述初始手眼变换矩阵为初始值,采用LM算法对所述转换代价函数进行迭代操作,得到优化手眼变换矩阵。
5.根据权利要求4所述的基于点云配准的手眼标定装置,其特征在于,所述矩阵获取单元,包括:
矩阵获取子单元,用于获取多组棋盘格标定板相对于相机坐标系的第一变换矩阵和机械臂末端相对于机械臂基座坐标系的第二变换矩阵;
矩阵计算子单元,用于根据所述第一变换矩阵和所述第二变换矩阵计算所述相机坐标系相对于所述机械臂基座坐标系的初始手眼变换矩阵。
6.一种基于点云配准的手眼标定设备,其特征在于,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-3任一项所述的基于点云配准的手眼标定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310345998.8A CN116038720B (zh) | 2023-04-03 | 2023-04-03 | 一种基于点云配准的手眼标定方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310345998.8A CN116038720B (zh) | 2023-04-03 | 2023-04-03 | 一种基于点云配准的手眼标定方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116038720A CN116038720A (zh) | 2023-05-02 |
CN116038720B true CN116038720B (zh) | 2023-08-11 |
Family
ID=86131692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310345998.8A Active CN116038720B (zh) | 2023-04-03 | 2023-04-03 | 一种基于点云配准的手眼标定方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116038720B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109483516A (zh) * | 2018-10-16 | 2019-03-19 | 浙江大学 | 一种基于空间距离和极线约束的机械臂手眼标定方法 |
CN110555889A (zh) * | 2019-08-27 | 2019-12-10 | 西安交通大学 | 一种基于CALTag和点云信息的深度相机手眼标定方法 |
CN114714356A (zh) * | 2022-04-14 | 2022-07-08 | 武汉理工大学重庆研究院 | 基于双目视觉的工业机器人手眼标定误差精确检测方法 |
WO2022160787A1 (zh) * | 2021-01-26 | 2022-08-04 | 深圳市优必选科技股份有限公司 | 一种机器人手眼标定方法, 装置, 可读存储介质及机器人 |
CN115861445A (zh) * | 2022-12-23 | 2023-03-28 | 广东工业大学 | 一种基于标定板三维点云的手眼标定方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10076842B2 (en) * | 2016-09-28 | 2018-09-18 | Cognex Corporation | Simultaneous kinematic and hand-eye calibration |
US11911914B2 (en) * | 2019-01-28 | 2024-02-27 | Cognex Corporation | System and method for automatic hand-eye calibration of vision system for robot motion |
-
2023
- 2023-04-03 CN CN202310345998.8A patent/CN116038720B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109483516A (zh) * | 2018-10-16 | 2019-03-19 | 浙江大学 | 一种基于空间距离和极线约束的机械臂手眼标定方法 |
CN110555889A (zh) * | 2019-08-27 | 2019-12-10 | 西安交通大学 | 一种基于CALTag和点云信息的深度相机手眼标定方法 |
WO2022160787A1 (zh) * | 2021-01-26 | 2022-08-04 | 深圳市优必选科技股份有限公司 | 一种机器人手眼标定方法, 装置, 可读存储介质及机器人 |
CN114714356A (zh) * | 2022-04-14 | 2022-07-08 | 武汉理工大学重庆研究院 | 基于双目视觉的工业机器人手眼标定误差精确检测方法 |
CN115861445A (zh) * | 2022-12-23 | 2023-03-28 | 广东工业大学 | 一种基于标定板三维点云的手眼标定方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116038720A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021115331A1 (zh) | 基于三角测量的坐标定位方法、装置、设备及存储介质 | |
CN109521403B (zh) | 多线激光雷达的参数标定方法及装置、设备及可读介质 | |
CN110355755B (zh) | 机器人手眼系统标定方法、装置、设备及存储介质 | |
CN110640747B (zh) | 机器人的手眼标定方法、系统、电子设备和存储介质 | |
CN111445533B (zh) | 一种双目相机标定方法、装置、设备及介质 | |
WO2015132981A1 (ja) | 位置測定装置及び位置測定方法 | |
CN113787522B (zh) | 消除机械臂累积误差的手眼标定方法 | |
CN111801198A (zh) | 一种手眼标定方法、系统及计算机存储介质 | |
CN113012226A (zh) | 相机位姿的估计方法、装置、电子设备及计算机存储介质 | |
CN116038720B (zh) | 一种基于点云配准的手眼标定方法、装置及设备 | |
CN116188594B (zh) | 沙姆相机的标定方法、标定系统、装置和电子设备 | |
CN115965697A (zh) | 基于沙姆定律的投影仪标定方法、标定系统及装置 | |
CN112991445B (zh) | 模型训练方法、姿态预测方法、装置、设备及存储介质 | |
CN115741666A (zh) | 机器人手眼标定方法、机器人及机器人作业方法 | |
WO2021200438A1 (ja) | 較正システム、情報処理システム、ロボット制御システム、較正方法、情報処理方法、ロボット制御方法、較正プログラム、情報処理プログラム、較正装置、情報処理装置、及びロボット制御装置 | |
CN115042184A (zh) | 机器人手眼坐标转换方法、装置、计算机设备和存储介质 | |
CN111145268B (zh) | 一种视频注册方法及装置 | |
JP6967150B2 (ja) | 学習装置、画像生成装置、学習方法、画像生成方法及びプログラム | |
CN116862999B (zh) | 一种双摄像机三维测量的标定方法、系统、设备和介质 | |
CN111932628A (zh) | 一种位姿确定方法及装置、电子设备、存储介质 | |
CN112102506B (zh) | 物体的采样点集合的获取方法、装置、设备以及存储介质 | |
CN116100564B (zh) | 一种标定机械手的高精度标定方法及装置 | |
CN111179357B (zh) | 一种基于平面靶标组合的大视场相机标定方法 | |
CN112446928B (zh) | 一种拍摄装置的外参确定系统和方法 | |
CN114952832B (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 |