CN115958589A - 用于机器人的手眼标定的方法和装置 - Google Patents
用于机器人的手眼标定的方法和装置 Download PDFInfo
- Publication number
- CN115958589A CN115958589A CN202111189896.9A CN202111189896A CN115958589A CN 115958589 A CN115958589 A CN 115958589A CN 202111189896 A CN202111189896 A CN 202111189896A CN 115958589 A CN115958589 A CN 115958589A
- Authority
- CN
- China
- Prior art keywords
- robot
- point cloud
- pose
- model
- cloud data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39022—Transform between measuring and manipulator coordinate system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39024—Calibration of manipulator
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39057—Hand eye calibration, eye, camera on hand, end effector
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Manipulator (AREA)
Abstract
本申请涉及一种用于机器人的手眼标定的方法,包括:控制机器人保持在第一位姿,其中,在第一位姿下,机器人的末端部分处于3D相机的视野内;获得由3D相机采集的在第一位姿下的机器人的该末端部分的点云数据,其中,末端部分的点云数据是3D相机坐标系下的点云数据;获得与处于第一位姿的机器人相对应的该末端部分的3D模型的点云数据,其中,该末端部分的3D模型的点云数据是机器人基础坐标系下的点云数据;通过对该末端部分的点云数据和该末端部分的3D模型的点云数据进行点云配准处理,得到从3D相机坐标系到机器人基础坐标系的变换矩阵。
Description
技术领域
本申请通常涉及机器人视觉,更具体地,涉及用于机器人的手眼标定的方法和装置。
背景技术
手眼标定是机器人视觉应用中非常重要的一步,可以帮助机器人利用识别出的视觉信息完成后续的抓取等任务。
手眼标定的目的是获得相机坐标系与机器人坐标系的变换关系,最终将视觉识别的结果传递给机器人坐标系。业内手眼标定分为两种形式,根据摄像头固定的位置不同,如果摄像头和机器人末端操作器固定在一起,摄像头的位置随机器人末端操作器位置的改变而改变,则称为“手中眼”。如果将摄像头固定在机器人基座的外侧,摄像头的位置不随机器人末端操作器位置的改变而改变,则称为“眼到手”。在手中眼配置中,将确定相机和机器人末端操作器之间的变换关系。在眼到手配置中,将确定相机和机器人基座之间的变换关系。
传统的手眼标定方法中,为了获得眼到手变换的校准结果,通常需要在机器人末端操作器上安装附加校准板,并且通过相机获得机器人在不同位姿下的捕获数据,从而确定相机和机器人基座之间的变换关系。
为了保证标定精度,通常使用的校准板必须满足一定的制造精度,价格昂贵,需要安装和拆卸。此外,传统方法需要设计专门的机器人末端操作器适配器,安装校准板,调整多个机器人姿态并记录多组相关数据。传统的方法费时费力,需要大量人工操作。
发明内容
提供下面的简介是为了以简单的形式介绍选择的一些概念,在后面的详细说明中会进一步描述这些概念。该简介不是想要突出所要求保护主题的关键特征或必要特征,也不是想要限制所要求保护主题的范围。
根据本申请的一个方面,提供了一种用于机器人的手眼标定的方法,包括:控制所述机器人保持在第一位姿,其中,在所述第一位姿下,所述机器人的末端部分处于三维(3D)相机的视野内;获得由所述3D相机采集的在所述第一位姿下的所述机器人的所述末端部分的点云数据,其中,所述末端部分的点云数据是3D相机坐标系下的点云数据;获得与处于所述第一位姿的所述机器人相对应的所述末端部分的3D模型的点云数据,其中,所述末端部分的3D模型的点云数据是机器人基础坐标系下的点云数据;以及通过对所述末端部分的点云数据和所述末端部分的3D模型的点云数据进行点云配准处理,得到从所述3D相机坐标系到所述机器人基础坐标系的变换矩阵。
根据本申请的一个方面,提供了一种机器人,包括:三维(3D)相机;机械系统,所述机械系统包括末端部分,所述末端部分包括末端操作器、法兰、机械臂中的一个或多个;控制系统,所述控制系统用于执行本公开各个实施例描述的机器人手眼标定的方法。
根据本申请的一个方面,提供了一种用于机器人的手眼标定的装置,包括:一个或多个处理器;以及存储器,其存储计算机可执行指令,所述指令当被执行时使得所述一个或多个处理器执行本公开各个实施例描述的机器人手眼标定的方法。
根据本申请的一个方面,提供了一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得一个或多个处理器执行本公开各个实施例描述的机器人手眼标定的方法。
根据本申请的一个方面,提供了一种计算机程序产品,其包括计算机可执行指令,所述指令当被执行时使得一个或多个处理器执行本公开各个实施例描述的机器人手眼标定的方法。
利用根据本申请的用于机器人的手眼标定的方法,无需安装额外的校准板或校准图案,也无需限制末端操作器的面积足够小到实质上达到校准板的标准。并且,利用根据本申请的用于机器人的手眼标定的方法,通过一个机器人位姿即可获得眼到手校准结果,而传统方法需要多个不同的机器人位姿才能获得眼到手校准结果,从而能够带来标定过程中尽可能少的人工操作。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据一个实施例的机器人系统的方框图。
图2示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
图3示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
图4示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
图5示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
图6示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
图7示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
图8示出了根据一个实施例的机器人系统的方框图。
图9示出了根据一个实施例的用于机器人手眼标定的计算机系统的方框图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
图1示出了根据一个实施例的机器人系统的方框图。
该机器人系统也可以称为机器人视觉系统,其包括机械系统10、相机系统20和处理系统30。机械系统10包括基座110,机械臂120和130,以及末端操作器140。可以理解,机械系统10还可以包括其他的组件,例如连接于机械臂130末端的法兰盘,可以在该法兰盘上安装末端操作器140,为了图示的简洁,图1中没有示出法兰盘。又例如,机械系统10可以包括更多关节或更少关节的机械臂。在本公开的实施方式中,可以将末端操作器140称为机器人10的末端部分。在一些实施方式中,可以将末端操作器140连同用于固定末端操作器的法兰盘称为机器人10的末端部分。在一些实施例中,可以将末端操作器140、法兰盘以及机械臂130称为机器人10的末端部分。在不具有法兰盘的一些实施例中,可以将末端操作器140和机械臂130称为机器人10的末端部分。
相机系统20可以是三维(3D)相机系统或称之为3D传感器系统,其用于采集物体的3D图像数据,例如点云数据。为了机器人能够正确的工作,通常将相机20安装在适当的位置以使得其视野能够覆盖机械臂末端操作器的工作区域。例如,该机器人系统是刹车片分拣生产线上用于分拣刹车片的机器人,那么相机20通常安装到适当的位置以使得其视野能够覆盖分拣刹车片的工作范围。此外,为了确保末端操作器140的三维图像能够被3D相机20捕获,可以适当地设置相机20的位置以及控制机械臂的运动轨迹,使末端操作器40无遮挡的面向3D相机20。
处理系统30控制机械系统10和相机系统20的操作。在机器人的工作过程中,处理系统30获得由相机系统20采集的3D图像数据,并基于相机系统20采集的3D图像数据确定末端操作器140和被操作对象的特征和位置,进而控制机械系统10的操作,以实现自动的机器人操作,例如上述刹车片分拣的操作。虽然处理系统30在图1中被示出为是与机械系统10和相机系统20分开的,但是可以理解,处理系统30可以以各种方式实现,例如,处理系统30可以集成在机械系统10中,可以与机械系统10和相机系统20一起位于工作现场,也可以位于远离工作现场的地方,例如位于放置服务器或计算机的机房中,其中处理系统30在服务器或计算机上实现,并且与机械系统10和相机系统20通过有线链路或无线链路连接,以用于控制机械系统10和相机系统20的操作。
如图1所示,机器人10的坐标系是以固定位置为参考的,因此可以称为机器人基础坐标系、机器人基坐标系等,相机20的坐标系是以相机位置为参考的,因此可以称为相机坐标系。机器人基础坐标系和相机坐标系不同,需要将相机系统20采集的相机坐标系中的诸如点云数据的3D图像数据变换到机器人基础坐标系中的图像数据,从而能够利用相机系统20采集的图像数据来在机器人基础坐标系中控制机器人10的动作。为了实现图像数据从相机坐标系到机器人基础坐标系的转换,需要进行机器人系统的手眼标定,以得到从相机坐标系到机器人坐标系的转换关系,该转换该系通常是由转换矩阵来表示的,该转换矩阵也可以成为眼到手转换矩阵。
可以在任何情况下执行手眼标定,例如初装机器人系统的时候,定期维护的时候,机器人系统工作不正常的时候。用于手眼标定的处理可以在处理系统30上实现,也可以在另外的设备上实现,诸如在用于维护的设备上实现。
图2示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
在步骤210,开始用于机器人10的手眼标定过程。通常在不工作的状态下,机器人10可以处于特定的位姿或姿态,可以将其称为复位位姿,不妨假设手眼标定过程是从机器人10的复位位姿开始的。同时,可以运行与机器人10对应的机器人3D模型,该机器人3D模型具有与真实机器人10相同的结构和运动控制参数。机器人3D模型初始可以处于上述复位位姿,并且采用与机器人10相同的机器人坐标系。在一个例子中,机器人3D模型可以通过任何适当的建模方法来实现,例如通过DH模型来实现。可以理解,在设计机器人10的过程中,通常是通过3D建模的方式来模拟机器人10,因此机器人10的3D模型对于设备制造商来说是容易得到的。
在步骤220,控制机器人10的末端操作器140移动到3D相机20的视野内,同时将所述控制施加于机器人3D模型以使其在模拟环境中做出与机器人10相同的动作。在将末端执行器140移动到3D相机20的视野内后,控制机器人10保持第一位姿,以在第一位姿下使末端操作器140处于3D相机20的视野内。此时机器人3D模型也保持在第一位姿。
不妨假设图1所示的机器人10的位姿是第一位姿的例子。机器人10的移动和保持可以通过处理系统30来实现。例如,可以由人工控制末端操作器140的移动,处理系统30接收该人工控制的数据并根据该人工控制的数据将机器人10的末端操作器140移动到相机20的视野内,同时控制机器人3D模型做出相同的动作。
在步骤230,处理系统30可以控制3D相机20采集在第一位姿下的机器人10的末端操作器140的点云数据,该末端操作器140的点云数据是3D相机坐标系中的点云数据。例如,处理系统30中运行的标定程序可以控制与标定过程有关的操作,其中,标定程序的运行可以控制相机20采集点云数据,所采集的点云数据包括末端操作器140的点云数据。
在一个实施例中,可以对相机20采集的点云数据进行图像分割,以得到末端操作器140的点云数据。可以理解,任何适当的3D图像分割方法都可以用于从采集的点云数据分割出末端操作器140的点云数据。在一个例子中,可以利用机器人10的末端操作器140的基准3D模型对相机20采集的点云数据执行图像匹配,从而识别并分割出所采集的末端操作器140的点云数据。末端操作器140的基准3D模型可以是任何适用于表示末端操作器140的3D形状的模型。例如,该基准3D模型可以是点云数据表示的3D模型。
在步骤240,从处于第一位姿的机器人3D模型获得与末端操作器140对应的末端操作器3D模型的点云数据,该末端操作器3D模型的点云数据是机器人基础坐标系下的点云数据。在一个例子中,在机器人3D模型的第一位姿下,末端操作器3D模型在机器人基础坐标系中位姿可以由末端操作器3D模型的参考点的位置坐标和相对角度来表示。具体地,所述位置坐标是末端操作器3D模型的参考点在机器人基础坐标系中的三维坐标,即由横坐标x、纵坐标y和垂直坐标z表示的位置,所述相对角度是与末端操作器的基准3D模型相比,在第一位姿下的末端操作器3D模型相对于参考点的三维角度,即分别相对于横坐标轴、纵坐标轴和垂直坐标轴的三个角度。因此,末端操作器3D模型的位姿可以由六维的坐标(x,y,z,α,β,θ)表示,其中α,β,θ分别表示相对于参考点(x,y,z)的俯角、仰角和转角。这里,末端操作器的基准3D模型可以是具有参考坐标的基准3D模型,该参考坐标例如是(0,0,0,0,0,0)。机器人3D模型的其他部分,例如基座110、机械臂120和130的位姿也可以分别通过类似的六维坐标来表示。机器人3D模型的所有部分的位姿共同表示了机器人3D模型的第一位姿。机器人10以及其各个部分的位姿表示与上述机器人3D模型及其各个部分的位姿表示是对应的,不再具体描述。
在一个例子中,通过末端操作器3D模型的位姿,诸如上述六维坐标(x,y,z,α,β,θ),以及末端操作器的基准3D模型,可以得到该位姿下的末端操作器3D模型的点云。在一个例子中,当末端操作器的基准3D模型是以点云的方式实现的,则通过将该基准3D模型的点云数据根据六维坐标的平移和旋转运算可以得到该位姿下的末端操作器3D模型的点云。在另一个例子中,当末端操作器的基准3D模型是以其他方式描述末端操作器的形状时,则通过将该基准3D模型根据六维坐标的平移和旋转运算之外,通过例如内插的方式可以得到该位姿下的末端操作器3D模型的点云。
在步骤250,将通过3D相机20采集在第一位姿下的末端操作器140的相机坐标系中的点云数据和从第一位姿的机器人3D模型获得的末端操作器3D模型的机器人基础坐标系中的点云数据进行点云配准处理,得到从3D相机20的3D相机坐标系到机器人10的机器人基础坐标系的变换矩阵。
在一个实施方式中,可以采用迭代最近点(Iterative Closest Point,ICP)算法来进行步骤250中的点云配准处理。ICP算法是一种点云精配准算法,目前已有的以及将来改进的各种ICP算法及其变形均可以用于步骤250中的点云配准处理。点云配准(PointCloud Registration)指的是输入两幅点云,即源点云Ps和目标点云Pt,输出一个变换T,使得T(Ps)和Pt的重合程度尽可能高。在本文的实施方式中,变换T是刚性的,即变换只包括旋转和平移。对于T是刚性变换的情形,点云配准问题可以描述为:
这里和是源点云和目标点云中的一一对应的点,R和t分别是旋转矩阵和平移矩阵,在点云中的每个点由三维位置坐标(x,y,z)表示的情况下,R和t分别是3乘3矩阵和3乘1矩阵。ICP算法通过迭代的过程,最终求得最优的旋转矩阵和平移矩阵R*,t*。
在一个例子中,在步骤250中,将3D相机采集的末端操作器的点云作为源点云以及将相应的末端操作器3D模型的点云作为目标点云,通过ICP算法执行点云配准得到的旋转矩阵和平移矩阵可以作为从3D相机20的3D相机坐标系到机器人10的机器人基础坐标系的变换矩阵。另一个例子中,在步骤250中通过ICP算法执行点云配准得到的旋转矩阵和平移矩阵的任何变形可以作为从3D相机20的3D相机坐标系到机器人10的机器人基础坐标系的变换矩阵,例如,由该3乘3旋转矩阵和3乘1平移矩阵组成的4乘4矩阵可以作为从3D相机20的3D相机坐标系到机器人10的机器人基础坐标系的变换矩阵。
在另一个实施方式中,可以采用点对特征(Point Pair Feature,PPF)算法来进行步骤250中的点云配准处理。相比于ICP算法,PPF算法是一种精确度较粗但是计算速度更快的点云配准算法,目前已有的以及将来改进的各种PPF算法及其变形均可以用于步骤250中的点云配准处理。
在一个例子中,可以采用PPF算法来得到从3D相机20的3D相机坐标系到机器人10的机器人基础坐标系的变换矩阵。在另一个例子中,可以首先采用PPF算法来得到从3D相机20的3D相机坐标系到机器人10的机器人基础坐标系的变换矩阵,然后将该变换矩阵作为上述ICP算法的初始变换矩阵,进而利用ICP算法得到更为精确的变换矩阵。
可以理解,可以采用任何适当的点云配准方法来进行上述相机坐标系中的点云数据和机器人基础坐标系中的点云数据的配准处理。
在结合图2所示的例子中,以末端操作器140的点云及其相应的3D模型的点云为例说明了利用点云配准过程得到从3D相机坐标系到机器人基本坐标系的变换矩阵以实现机器人手眼标定的过程。可以理解,用于步骤250中的点云配准过程的源点云不限于末端操作器140的点云,例如,源点云可以是法兰盘和末端操作器140的点云,可以是3D相机视野内的一部分机械臂连同法兰盘和末端操作器140的点云,在不具有法兰盘的情况下可以是3D相机视野内的一部分机械臂连同末端操作器140的点云,相应的目标点云可以是包含源点云相关部分的部件的3D模型的点云。
图3示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
在步骤310,开始用于机器人10的手眼标定过程。步骤310与图2所示的步骤210类似,不再详细描述。
在步骤320,控制机器人10的末端操作器140移动到3D相机20的视野内。在将末端执行器140移动到3D相机20的视野内后,控制机器人10保持第一位姿,以在第一位姿下使末端操作器140处于3D相机20的视野内。
在步骤330,读取机器人10的第一位姿的数据。例如,可以从处理系统30读出该第一位姿的数据。
在步骤340,根据所读取的第一位姿的数据来将机器人的3D模型调整到第一位姿。
在步骤350-370分别与图2所示的步骤230-250对应,因此不再具体描述。
图4示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
在步骤410,开始用于机器人10的手眼标定过程。步骤410与图2所示的步骤210类似,不再详细描述。
在步骤420,按照预配置的位姿参数控制机器人10的末端操作器140移动到3D相机20的视野内,同时按照预配置的位姿参数控制机器人3D模型的位姿,该位姿参数对应于第一位姿。可以理解,该预配置的位姿参数在必要的情况下可以手工调整,以使得机器人10的末端操作器140在第一位姿下处于3D相机20的视野内。
步骤430-450分别与图2所示的步骤230-250对应,因此不再具体描述。
图5示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
在步骤510,开始用于机器人10的手眼标定过程。
在步骤520,控制机器人10的末端操作器140移动到3D相机20的视野内。在将末端执行器140移动到3D相机20的视野内后,控制机器人10保持第一位姿,以在第一位姿下使末端操作器140处于3D相机20的视野内。
在步骤530,读取机器人10的末端操作器140的第一位姿的数据。例如,可以从处理系统30读出该末端操作器140的第一位姿的数据。
在步骤540,根据所读取的末端操作器140的第一位姿的数据来得到相应的末端操作器3D模型在该第一位姿下的点云数据。例如,所读取的末端操作器140的第一位姿的数据可以是上述六维坐标,根据该六维坐标以及末端操作器的基准3D模型可以得到末端操作器3D模型在该第一位姿下的点云数据。
在步骤550-570分别与图2所示的步骤230-250对应,因此不再具体描述。
图6示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
在步骤610,开始用于机器人10的手眼标定过程。
在步骤620,按照预配置的位姿参数控制机器人10的末端操作器140移动到3D相机20的视野内,该位姿参数对应于第一位姿。可以理解,该预配置的位姿参数在必要的情况下可以手工调整,以使得机器人10的末端操作器140在第一位姿下处于3D相机20的视野内。
在步骤630,根据预配置的位姿参数中的末端操作器140的位姿参数来得到相应的末端操作器3D模型在相应位姿下的点云数据。例如,预配置的末端操作器140的位姿参数可以是上述六维坐标,根据该六维坐标以及末端操作器的基准3D模型可以得到末端操作器3D模型在该位姿下的点云数据。
在步骤640-660分别与图2所示的步骤230-250对应,因此不再具体描述。
图7示出了根据一个实施例的用于机器人的手眼标定方法的流程图。
在步骤710,控制机器人保持在第一位姿,其中,在第一位姿下,机器人的末端部分处于3D相机的视野内。
在步骤720,获得由3D相机采集的在第一位姿下的机器人的该末端部分的点云数据,其中,该末端部分的点云数据是3D相机坐标系下的点云数据。
在步骤730,获得与处于第一位姿的机器人相对应的该末端部分的3D模型的点云数据,其中,该末端部分的3D模型的点云数据是机器人基础坐标系下的点云数据。
在步骤740,通过对该末端部分的点云数据和该末端部分的3D模型的点云数据进行点云配准处理,得到从3D相机坐标系到机器人基础坐标系的变换矩阵。
在一个实施例中,在步骤720中,对由3D相机采集的点云数据进行图像分割以得到在第一位姿下的机器人的该末端部分的点云数据。
在一个实施例中,在步骤730中,基于表示第一位姿的数据和表示该末端部分的3D模型的数据得到该末端部分的3D模型在第一位姿下的点云数据。在一个实施例中,表示第一位姿的数据包括在机器人基础坐标系中该末端部分的参考点的位置坐标和该末端部分相对于该参考点的角度。
在一个实施例中,表示第一位姿的数据是从机器人的控制系统或处理系统获得的。在一个实施例中,表示第一位姿的数据是预配置的。
在一个实施例中,在步骤730中,在与机器人对应的机器人模拟环境中调整机器人的3D模型的位姿,使得机器人的3D模型处于第一位姿;以及基于处于第一位姿的机器人的3D模型得到该末端部分的3D模型在第一位姿下的点云数据。
在一个实施例中,调整机器人的3D模型的位姿包括:与将机器人从初始位姿调整到第一位姿同步地将机器人的3D模型从该初始位姿调整到第一位姿。
在一个实施例中,调整机器人的3D模型的位姿包括:从机器人的控制系统获得表示第一位姿的数据;基于表示第一位姿的数据来将机器人的3D模型调整到第一位姿。
在一个实施例中,调整机器人的3D模型的位姿包括:根据预配置的表示第一位姿的数据来将机器人的3D模型调整到第一位姿。
在一个实施例中,表示第一位姿的数据包括在机器人基础坐标系中该末端部分的参考点的位置坐标和该末端部分相对于该参考点的角度。
在一个实施例中,在步骤740中,通过点对特征(PPF)算法和/或迭代最近点(ICP)算法对该末端部分的点云数据和该末端部分的3D模型的点云数据执行点云配准处理,得到从3D相机坐标系到机器人基础坐标系的眼到手变换矩阵。
在一个实施例中,在步骤740中,通过PPF算法对该末端部分的点云数据和该末端部分的3D模型的点云数据执行点云配准处理以得到从3D相机坐标系到机器人基础坐标系的第一变换矩阵;然后基于第一变换矩阵通过ICP算法对该末端部分的点云数据和该末端部分的3D模型的点云数据执行点云配准处理以得到从3D相机坐标系到机器人基础坐标系的最终变换矩阵。
在一个实施例中,机器人的该末端部分包括机器人的末端操作器,法兰,机械臂中的一个或多个。
可以理解,图2到7所描述的方法的各个步骤不一定是按照所示出的顺序执行的,一些步骤可以并行地执行,无需严格的前后顺序。
图8示出了根据一个实施例的机器人系统的方框图。
机器人800包括:3D相机810,例如图1所示的3D相机20,机械系统820,例如图1所示的机械系统10。机械系统10包括末端部分,所述末端部分包括末端操作器,法兰,机械臂中的一个或多个。
机器人800还包括控制系统830。该控制系统830可以包括图1所示的处理系统30以及用于控制机械系统活动的必要控制部分。控制系统830用于本公开的各种实施例中所提供的机器人手眼标定方法。
图9示出了根据一个实施例的用于机器人手眼标定的计算机系统的方框图。
根据一个实施例,计算机系统900可以包括一个或多个处理器910,处理器910执行在计算机可读存储介质(即,存储器920)中存储或编码的一个或多个计算机可读指令(即,上述以软件形式实现的元素)。虽然没有在图9中示出,但是本领域技术人员能够理解,计算机系统900可以包括各种其他组件,例如各种通信模块、总线模块、以及可能的用户接口模块等。
在一个实施例中,计算机系统900可以实现在图1所示的处理系统30或图8所示的控制系统830中,在存储器920中存储计算机可执行指令,其当执行时使得一个或多个处理器910执行上文中结合图1-8描述的各种操作。
根据一个实施例,提供了一种非暂时性机器可读介质。该非暂时性机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得例如图1和8、9所示的装置执行本申请的各个实施例中以上结合图1-9描述的各种操作和功能。
根据一个实施例,提供了一种计算机程序产品。该计算机程序产品可以包括指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得例如图1和8、9所示的装置执行本申请的各个实施例中以上结合图1-9描述的各种操作和功能。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例”或意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (17)
1.一种用于机器人的手眼标定的方法,包括:
控制所述机器人保持在第一位姿,其中,在所述第一位姿下,所述机器人的末端部分处于三维(3D)相机的视野内;
获得由所述3D相机采集的在所述第一位姿下的所述机器人的所述末端部分的点云数据,其中,所述末端部分的点云数据是3D相机坐标系下的点云数据;
获得与处于所述第一位姿的所述机器人相对应的所述末端部分的3D模型的点云数据,其中,所述末端部分的3D模型的点云数据是机器人基础坐标系下的点云数据;以及
通过对所述末端部分的点云数据和所述末端部分的3D模型的点云数据进行点云配准处理,得到从所述3D相机坐标系到所述机器人基础坐标系的变换矩阵。
2.如权利要求1所述的方法,其中,获得由所述3D相机采集的在所述第一位姿下的所述机器人的所述末端部分的点云数据包括:
对由所述3D相机采集的点云数据进行图像分割以得到在所述第一位姿下的所述机器人的所述末端部分的点云数据。
3.如权利要求1所述的方法,其中,获得与处于所述第一位姿的所述机器人相对应的所述末端部分的3D模型的点云数据包括:
基于表示所述第一位姿的数据和表示所述末端部分的3D模型的数据得到所述末端部分的3D模型在所述第一位姿下的点云数据。
4.如权利要求3所述的方法,其中,表示所述第一位姿的数据包括在所述机器人基础坐标系中所述末端部分的参考点的位置坐标和所述末端部分相对于所述参考点的角度。
5.如权利要求3所述的方法,其中,表示所述第一位姿的数据是从所述机器人的控制系统获得的。
6.如权利要求3所述的方法,其中,表示所述第一位姿的数据是预配置的。
7.如权利要求1所述的方法,其中,获得与处于所述第一位姿的所述机器人相对应的所述末端部分的3D模型的点云数据包括:
在与所述机器人对应的机器人模拟环境中调整所述机器人的3D模型的位姿,使得所述机器人的3D模型处于所述第一位姿;以及
基于处于所述第一位姿的所述机器人的3D模型得到所述末端部分的3D模型在所述第一位姿下的点云数据。
8.如权利要求7所述的方法,其中,调整所述机器人的3D模型的位姿包括:
与将所述机器人从初始位姿调整到所述第一位姿同步地将所述机器人的3D模型从所述初始位姿调整到所述第一位姿。
9.如权利要求7所述的方法,其中,调整所述机器人的3D模型的位姿包括:
从所述机器人的控制系统获得表示所述第一位姿的数据;
基于表示所述第一位姿的数据来将所述机器人的3D模型调整到所述第一位姿。
10.如权利要求7所述的方法,其中,调整所述机器人的3D模型的位姿包括:
根据预配置的表示所述第一位姿的数据来将所述机器人的3D模型调整到所述第一位姿。
11.如权利要求1所述的方法,其中,得到从所述3D相机坐标系到所述机器人基础坐标系的变换矩阵包括:
通过点对特征(PPF)算法和/或迭代最近点(ICP)算法对所述末端部分的点云数据和所述末端部分的3D模型的点云数据进行点云配准处理,得到从所述3D相机坐标系到所述机器人基础坐标系的变换矩阵。
12.如权利要求11所述的方法,其中,对所述末端部分的点云数据和所述末端部分的3D模型的点云数据执行点云配准处理包括:
通过PPF算法对所述末端部分的点云数据和所述末端部分的3D模型的点云数据执行点云配准处理以得到从所述3D相机坐标系到所述机器人基础坐标系的第一变换矩阵;以及
基于所述第一变换矩阵通过ICP算法对所述末端部分的点云数据和所述末端部分的3D模型的点云数据执行点云配准处理以得到从所述3D相机坐标系到所述机器人基础坐标系的所述变换矩阵。
13.如权利要求1所述的方法,其中,所述机器人的末端部分包括所述机器人的末端操作器、法兰、机械臂中的一个或多个。
14.一种机器人,包括:
三维(3D)相机;
机械系统,所述机械系统包括末端部分,所述末端部分包括末端操作器、法兰、机械臂中的一个或多个;
控制系统,所述控制系统用于执行权利要求1-13中任何一个所述的方法以实现所述机器人的手眼标定。
15.一种用于机器人的手眼标定的装置,包括:
一个或多个处理器;以及
存储器,其存储计算机可执行指令,所述指令当被执行时使得所述一个或多个处理器执行如权利要求1到13中任一个所述的方法。
16.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得一个或多个处理器执行如权利要求1到13中任一个所述的方法。
17.一种计算机程序产品,其包括计算机可执行指令,所述指令当被执行时使得一个或多个处理器执行如权利要求1到13中任一个所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111189896.9A CN115958589A (zh) | 2021-10-11 | 2021-10-11 | 用于机器人的手眼标定的方法和装置 |
PCT/EP2022/075686 WO2023061695A1 (en) | 2021-10-11 | 2022-09-15 | Method and apparatus for hand-eye calibration of robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111189896.9A CN115958589A (zh) | 2021-10-11 | 2021-10-11 | 用于机器人的手眼标定的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115958589A true CN115958589A (zh) | 2023-04-14 |
Family
ID=83688754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111189896.9A Pending CN115958589A (zh) | 2021-10-11 | 2021-10-11 | 用于机器人的手眼标定的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115958589A (zh) |
WO (1) | WO2023061695A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118121307A (zh) * | 2024-03-13 | 2024-06-04 | 宽瑞智能科技(苏州)有限公司 | 基于手术机器人末端连接件的手眼标定方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117103286B (zh) * | 2023-10-25 | 2024-03-19 | 杭州汇萃智能科技有限公司 | 一种机械手手眼标定方法、系统和可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9616569B2 (en) * | 2015-01-22 | 2017-04-11 | GM Global Technology Operations LLC | Method for calibrating an articulated end effector employing a remote digital camera |
US20200398433A1 (en) * | 2018-03-01 | 2020-12-24 | The Governing Council Of The University Of Toronto | Method of calibrating a mobile manipulator |
CN110223345B (zh) * | 2019-05-14 | 2022-08-09 | 南京理工大学 | 基于点云的配电线路作业对象位姿估计方法 |
-
2021
- 2021-10-11 CN CN202111189896.9A patent/CN115958589A/zh active Pending
-
2022
- 2022-09-15 WO PCT/EP2022/075686 patent/WO2023061695A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118121307A (zh) * | 2024-03-13 | 2024-06-04 | 宽瑞智能科技(苏州)有限公司 | 基于手术机器人末端连接件的手眼标定方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2023061695A1 (en) | 2023-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111331592B (zh) | 机械手臂工具中心点校正装置及其方法以及机械手臂系统 | |
CN111482959B (zh) | 机器人运动视觉系统的自动手眼标定系统与方法 | |
JP6815309B2 (ja) | 作動システムおよびプログラム | |
US9884425B2 (en) | Robot, robot control device, and robotic system | |
JP6978454B2 (ja) | 物体検出装置、制御装置及び物体検出用コンピュータプログラム | |
CN115958589A (zh) | 用于机器人的手眼标定的方法和装置 | |
US11040451B2 (en) | Teaching device and teaching method | |
WO2019028075A1 (en) | INTELLIGENT ROBOTS | |
CN107300100B (zh) | 一种在线cad模型驱动的级联式机械臂视觉引导逼近方法 | |
JP2013215866A (ja) | ロボットシステム、ロボットシステムのキャリブレーション方法、キャリブレーション装置およびデジタルカメラ | |
CN113172659B (zh) | 基于等效中心点识别的柔性机器人臂形测量方法及系统 | |
JP6885856B2 (ja) | ロボットシステムおよびキャリブレーション方法 | |
WO2022107684A1 (ja) | パラメータを調整する装置、ロボットシステム、方法、及びコンピュータプログラム | |
JP2014029664A (ja) | 比較画像範囲生成方法、位置姿勢検出方法、比較画像範囲生成装置、位置姿勢検出装置、ロボット、ロボットシステム、比較画像範囲生成プログラム及び位置姿勢検出プログラム | |
CN117841041B (zh) | 基于多臂协同的机械臂组合装置 | |
CN116766194A (zh) | 基于双目视觉的盘类工件定位与抓取系统和方法 | |
JP6410411B2 (ja) | パターンマッチング装置及びパターンマッチング方法 | |
CN115841516A (zh) | 用于对摄像头的动态本征参数进行建模的方法和设备 | |
WO2022208963A1 (ja) | ロボット制御用のキャリブレーション装置 | |
CN114187312A (zh) | 目标物的抓取方法、装置、系统、存储介质及设备 | |
KR102573020B1 (ko) | 로봇팔을 이용한 학습 데이터셋 생성 장치 및 방법 | |
JP2019133344A (ja) | ワーク画像生成装置 | |
WO2021199305A1 (ja) | 制御装置、制御システム、制御方法、および、制御プログラムが記録された記録媒体 | |
KR20220085242A (ko) | 공작기계용 기구물 종류 및 위치 인식 방법 | |
WO2021210514A1 (ja) | ロボットの制御装置及び制御方法、ロボットシステム、ロボットの動作プログラムを生成する装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |