CN113696188A - 手眼标定数据采集方法、装置、电子设备及存储介质 - Google Patents
手眼标定数据采集方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113696188A CN113696188A CN202111257383.7A CN202111257383A CN113696188A CN 113696188 A CN113696188 A CN 113696188A CN 202111257383 A CN202111257383 A CN 202111257383A CN 113696188 A CN113696188 A CN 113696188A
- Authority
- CN
- China
- Prior art keywords
- robot
- data
- center
- camera
- coordinate
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 239000011159 matrix material Substances 0.000 claims description 57
- 238000006243 chemical reaction Methods 0.000 claims description 27
- 230000032798 delamination Effects 0.000 claims description 22
- 238000013507 mapping Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 8
- 238000013480 data collection Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 13
- 230000009466 transformation Effects 0.000 description 13
- 238000006467 substitution reaction Methods 0.000 description 10
- 238000013519 translation Methods 0.000 description 10
- 238000003475 lamination Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
本申请涉及手眼标定技术领域,提供了一种手眼标定数据采集方法、装置、电子设备及存储介质,通过向机器人发送第一控制指令,使机器人携带相机移动至标定板中心的正上方;获取机器人携带相机移动至标定板中心的正上方时相机与标定板中心之间的第一距离和机器人的中心位姿数据;获取至少一个分层圆的高度数据;根据第一距离和高度数据计算各分层圆的半径;根据分层圆的半径获取分层圆圆周上的圆弧轨迹上的多个轨迹点的位姿数据;根据轨迹点的位姿数据向机器人发送第二控制指令,使机器人沿圆弧轨迹移动并采集标定板的图像和机器人的位姿数据,从而实现手眼标定轨迹的生成,节约了大量时间,且方便预测机器人在圆弧轨迹上的位姿。
Description
技术领域
本申请涉及手眼标定技术领域,具体而言,涉及一种手眼标定数据采集方法、装置、电子设备及存储介质。
背景技术
现有的手眼标定方法,是将标定板放在相机正下方,然后人手示教机器人依次移动到多个位置点处,在示教的过程中既要保证相机能够看到标定板,还需要保证相机拍摄的相邻两帧的图片位置姿态变化不能太小或太大;且相机拍摄前几帧图片时,必须示教机器人做平移运动。
按照上述流程做,需要耗费大量时间和人力资源才能完成手眼标定的计算。
针对上述问题,目前尚未有有效的技术解决方案。
发明内容
本申请的目的在于提供一种手眼标定数据采集方法、装置、电子设备及存储介质,解决了现有的人手示教手眼标定机器人走点方法需要耗费大量时间的问题。
第一方面,本申请提供了一种手眼标定数据采集方法,用于手眼标定系统,其中,包括以下步骤:
A1.向机器人发送第一控制指令,使所述机器人携带相机移动至标定板中心的正上方;所述相机设置在所述机器人的端部;
A2.获取所述机器人携带相机移动至标定板中心的正上方时所述相机与所述标定板中心之间的第一距离以及所述机器人的中心位姿数据;
A3.获取至少一个分层圆的高度数据;
A4.根据所述第一距离和所述高度数据计算各所述分层圆的半径;
A5.根据所述分层圆的半径获取所述分层圆圆周上的圆弧轨迹上的多个轨迹点的位姿数据;
A6.根据所述轨迹点的位姿数据向所述机器人发送第二控制指令,使所述机器人沿所述圆弧轨迹移动,并采集所述标定板的图像和所述机器人的位姿数据。
本申请提供的手眼标定数据采集方法,不仅可以全自动生成手眼标定轨迹,节约了大量时间和人力资源,还可以实时采集机器人的位姿数据,方便预测机器人在圆弧轨迹上的位姿。
可选地,在本申请所述的手眼标定数据采集方法中,所述步骤A1包括:
A101.确定机器人基坐标系的水平平面的坐标增量与所述相机的图像像素坐标增量之间的映射关系;
A102.获取所述相机在当前位置采集的第一图像;
A103.获取所述标定板中心在所述第一图像中的第一像素坐标数据与所述第一图像的中心之间的像素差值;
A104.根据所述像素差值和所述映射关系计算所述机器人的x坐标偏移量和y坐标偏移量;
A105.根据所述x坐标偏移量和所述y坐标偏移量生成所述第一控制指令并发送至所述机器人,使所述机器人携带相机移动至标定板中心的正上方。
通过这种方式,可以使相机到标定板中心的距离保持一定,提高精确性,方便后续圆弧轨迹的生成。
可选地,在本申请所述的手眼标定数据采集方法中,所述步骤A101包括:
S1.向所述机器人发送第三控制指令,使所述机器人以第一步长沿x轴移动n1次,并在每次移动后获取所述相机采集的第二图像,提取所述标定板中心在所述第二图像中的第二像素坐标增量数据;n1为预设的整数值,且n1>1;
S2.根据多个所述第二像素坐标增量数据计算第二像素坐标增量均值;
S3.向所述机器人发送第四控制指令,使所述机器人以第二步长沿y轴移动n2次,并在每次移动后获取所述相机采集的第三图像,提取所述标定板中心在所述第三图像中的第三像素坐标增量数据;n2为预设的整数值,且n2>1;
S4.根据多个所述第三像素坐标增量数据计算第三像素坐标增量均值;
S5.将所述第二像素坐标增量均值和所述第三像素坐标增量均值代入以下公式,计算得到转换矩阵T和常数b:
其中,为所述机器人基坐标系的水平平面的坐标增量矩阵,所述机器人基坐标系的水平平面的坐标增量矩阵包括所述第一步长和所述第二步长,为所述相机的图像像素坐标增量矩阵,所述图像像素坐标增量矩阵包括所述第二像素坐标增量均值和所述第三像素坐标增量均值,T为转换矩阵,b为常数。
通过这种方式,可以计算出机器人基坐标系的水平平面的坐标增量与相机的图像像素坐标增量之间的映射关系,实现机器人基坐标系的水平平面的坐标增量与相机的图像像素坐标增量之间的互相转换。
可选地,在本申请所述的手眼标定数据采集方法中,所述步骤S5之后还包括:
S6.获取第三步长和指定移动方向信息;
S7.根据所述第三步长和指定移动方向信息向所述机器人发送第五控制指令,使所述机器人以所述第三步长沿所述指定移动方向移动n3次;n3为预设的整数值,且n3>1;
S8.在每次移动后获取所述相机采集的第四图像,提取所述标定板中心在所述第四图像中的第四像素坐标增量数据;
S9.根据多个所述第四像素坐标增量数据计算第四像素坐标增量平均值;
S10.根据所述第三步长和指定移动方向信息计算所述第三步长在x轴方向的分量和在y轴方向的分量;
S11.根据所述第四像素坐标增量平均值、所述第三步长在x轴方向的分量和在y轴方向的分量验证所述转换矩阵T和所述常数b的正确性。
通过这种方式,可以提高计算得出的转换矩阵T和常数b的准确性。
可选地,在本申请所述的手眼标定数据采集方法中,所述步骤A4中,根据以下公式计算所述分层圆的半径:
可选地,在本申请所述的手眼标定数据采集方法中,所述步骤A5包括:
A501.根据以下公式计算各轨迹点的位姿数据中的位置坐标:
其中,step为预设的角度的增加步长;为所述分层圆的半径;R为所述第一距离;为所述分层圆的高度数据;分别为第i个轨迹点的位姿数据中的x轴坐标值、y轴坐标值和z轴坐标值,其中,当i=1时,为所述机器人在所述标定板中心的正上方的中心位姿数据中的x轴坐标值和y轴坐标值,为所述机器人在所述标定板中心的正上方的中心位姿数据中的z轴坐标值;为第i个轨迹点的角度,其中,当i=1时,为起始角度;
A502.根据以下公式计算各轨迹点的角度插值比例:
A503.根据以下公式计算各轨迹点的姿态角度:
第二方面,本申请提供一种手眼标定数据采集装置,用于手眼标定,所述装置包括:
第一控制模块,用于向机器人发送第一控制指令,使所述机器人携带相机移动至标定板中心的正上方;所述相机设置在所述机器人的端部;
第一获取模块,用于获取所述机器人携带相机移动至标定板中心的正上方时所述相机与所述标定板中心之间的第一距离和所述机器人的中心位姿数据;
第二获取模块,用于获取至少一个分层圆的高度数据;
第一计算模块,用于根据所述第一距离和所述高度数据计算各所述分层圆的半径;
第三获取模块,根据所述分层圆的半径获取所述分层圆圆周上的圆弧轨迹上的多个轨迹点的位姿数据;
第二控制模块,用于根据所述轨迹点的位姿数据向所述机器人发送第二控制指令,使所述机器人沿所述圆弧轨迹移动并采集所述标定板的图像和所述机器人的位姿数据。
可选地,在本申请所述的手眼标定数据采集装置中,第一控制模块用于在向机器人发送第一控制指令,使所述机器人携带相机移动至标定板中心的正上方的时候,执行:
确定机器人基坐标系的水平平面的坐标增量与所述相机的图像像素坐标增量之间的映射关系;
获取所述相机在当前位置采集的第一图像;
获取所述标定板中心在所述第一图像中的第一像素坐标数据与所述第一图像的中心之间的像素差值;
根据所述像素差值和所述映射关系计算所述机器人的x坐标偏移量和y坐标偏移量;
根据所述x坐标偏移量和所述y坐标偏移量生成所述第一控制指令并发送至所述机器人,使所述机器人携带相机移动至标定板中心的正上方。
本申请提供的手眼标定数据采集装置,不仅可以全自动生成手眼标定轨迹,节约了大量时间和人力资源,还可以实时采集机器人的位姿数据,方便预测机器人在圆弧轨迹上的位姿。
第三方面,本申请提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
由上可知,本申请提供的手眼标定数据采集方法、装置、电子设备及存储介质,通过向机器人发送第一控制指令,使机器人携带相机移动至标定板中心的正上方;获取机器人携带相机移动至标定板中心的正上方时相机与标定板中心之间的第一距离和机器人的中心位姿数据;获取至少一个分层圆的高度数据;根据第一距离和高度数据计算各分层圆的半径;根据分层圆的半径获取分层圆圆周上的圆弧轨迹上的多个轨迹点的位姿数据;根据轨迹点的位姿数据向机器人发送第二控制指令,使机器人沿圆弧轨迹移动并采集标定板的图像和机器人的位姿数据,从而实现手眼标定轨迹的生成,不仅可以全自动生成手眼标定轨迹,节约了大量时间和人力资源,还可以实时采集机器人的位姿数据,方便预测机器人在圆弧轨迹上的位姿。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本申请提供的手眼标定数据采集方法的一种流程图。
图2为本申请提供的手眼标定数据采集装置的一种结构示意图。
图3为本申请提供的电子设备的结构示意图。
图4为本申请提供的一种机器人携带相机沿分层圆的圆弧轨迹移动的简图。
标号说明:
100、机器人;200、相机;300、分层圆;400、标定板;201、第一控制模块;202、第一获取模块;203、第二获取模块;204、第一计算模块;205、第三获取模块;206、第二控制模块;301、处理器;302、存储器;303、通信总线,3、电子设备。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
其中,图4是本申请提供的一个机器人100沿分层圆300移动的示意图,以标定板400中心和相机200之间的距离为半径画一个球面,以xy平面横切该球面得到的分层圆300为纬度圆(图4所展示的分层圆300为纬度圆),以xz平面或yz平面竖切该球面得到的分层圆300为经度圆。
请参照图1,图1是本申请一些实施方式中的手眼标定数据采集方法的流程图,用于手眼标定系统,该方法包括以下步骤:
A1.向机器人100发送第一控制指令,使机器人100携带相机200移动至标定板400中心的正上方;相机200设置在机器人100的端部;
A2.获取机器人100携带相机200移动至标定板400中心的正上方时相机200与标定板400中心之间的第一距离以及机器人100的中心位姿数据;
A3.获取至少一个分层圆300的高度数据;
A4.根据第一距离和高度数据计算各分层圆300的半径;
A5.根据分层圆300的半径获取分层圆300圆周上的圆弧轨迹上的多个轨迹点的位姿数据;
A6.根据轨迹点的位姿数据向机器人100发送第二控制指令,使机器人100沿圆弧轨迹移动并采集标定板400的图像和机器人100的位姿数据。
其中,向机器人100发送第一控制指令和第二控制指令的设备是机器人控制器,从而该方法应用于该机器人控制器,该机器人控制器可以包括执行自动标定算法的芯片,例如人工智能(artificial intelligence,AI)芯片、图形处理器(graphics processingunit,GPU)芯片、中央处理器(central processing unit,CPU)等芯片,也可以是包括其中多种芯片构成的系统。
其中,在实际应用中,可把标定板400设置在一个预设的固定位置,并预先设置一个位于标定板400中心的正上方的初始位置;从而可以获取该初始位置的位置数据,根据该初始位置的位置数据生成第一控制指令发送至机器人100。还可以采用人工示教的方式,使机器人100携带相机200移动到标定板400中心正上方。通过这种方式,方便后续步骤中获取机器人100在标定板400中心的正上方的中心位姿数据和标定板400中心的第一像素坐标数据。
在一些实施方式中,步骤A1包括:
A101.确定机器人基坐标系的水平平面的坐标增量与相机200的图像像素坐标增量之间的映射关系;
A102.获取相机200在当前位置采集的第一图像;
A103.获取标定板400中心在第一图像中的第一像素坐标数据与第一图像的中心之间的像素差值;
A104.根据像素差值和映射关系计算机器人100的x坐标偏移量和y坐标偏移量;
A105.根据x坐标偏移量和y坐标偏移量生成第一控制指令并发送至机器人100,使机器人100携带相机200移动至标定板400中心的正上方。
通过获取标定板400中心在第一图像中的第一像素坐标数据和第一图像的中心之间的像素差值,之后通过映射关系可以精确地计算出机器人100应移动多少距离才能到标定板400的中心,提高了机器人100在标定板400的中心位置时的准确性。
其中,步骤A101包括以下子步骤:
S1.向机器人100发送第三控制指令,使机器人100以第一步长沿x轴移动n1次,并在每次移动后获取相机200采集的第二图像,提取标定板400中心在第二图像中的第二像素坐标增量数据;n1为预设的整数值,且n1>1;
S2.根据多个第二像素坐标增量数据计算第二像素坐标增量均值;
S3.向机器人100发送第四控制指令,使机器人100以第二步长沿y轴移动n2次,并在每次移动后获取相机200采集的第三图像,提取标定板400中心在第三图像中的第三像素坐标增量数据;n2为预设的整数值,且n2>1;
S4.根据多个第三像素坐标增量数据计算第三像素坐标增量均值;
S5.将第二像素坐标增量均值和第三像素坐标增量均值代入以下公式,计算得到转换矩阵T和常数b:
其中,为机器人基坐标系的水平平面的坐标增量矩阵,机器人基坐标系的水平平面的坐标增量矩阵包括第一步长和第二步长,为相机200的图像像素坐标增量矩阵,图像像素坐标增量矩阵包括第二像素坐标增量均值和第三像素坐标增量均值,T为转换矩阵,b为常数。
在实际应用中,n1、n2、第一步长和第二步长可以根据实际需要设置,也可以由系统随机生成,在此本申请不做具体限定。为方便理解该实施方式,可以预设n1=20,n2=20,第一步长为2.5cm,第二步长为2.5cm。具体的,先执行步骤S1,向机器人100发送第三控制指令,使机器人100以第一步长2.5cm向x轴移动n1(20)次,并在每次移动后获取相机200采集的第二图像,提取标定板400中心在第二图像中的第二像素坐标增量数据(由于n1=20,所以机器人100在移动20次后会获得20组第二像素坐标增量数据,例如将20组第二像素坐标增量数据相加,并记为,其中为像素坐标系中u坐标轴的增量,为像素坐标系中v坐标轴的增量),然后执行步骤S2,根据上述20组第二像素坐标增量数据计算第二像素坐标增量均值,记为。继续执行步骤S3,向机器人100发送第四控制指令,使机器人100以第二步长2.5cm向y轴移动n2(20)次,并在每次移动后获取相机200采集的第三图像,提取标定板400中心在第三图像中的第三像素坐标增量数据(由于n2=20,所以机器人100在移动20次后会获得20组第三像素坐标增量数据,例如将20组第三像素坐标坐标增量数据相加,并记为,其中为像素坐标系中u坐标轴的增量,为像素坐标系中v坐标轴的增量),然后执行步骤S4,根据上述20组第三像素坐标增量数据计算第三像素坐标增量均值,记为。
由此可以将 (1)式和(2)式联立,计算出转换矩阵T和常数b。通过这种方式,可以计算出机器人基坐标系的水平平面的坐标增量与相机200的图像像素坐标增量之间的映射关系,实现机器人基坐标系的水平平面的坐标增量与相机200的图像像素坐标增量之间的互相转换,提高了映射关系的精确性。
在进一步的实施方式中,步骤S5之后还包括:
S6.获取第三步长和指定移动方向信息;
S7.根据第三步长和指定移动方向信息向机器人100发送第五控制指令,使机器人100以第三步长沿指定移动方向移动n3次;n3为预设的整数值,且n3>1;
S8.在每次移动后获取相机200采集的第四图像,提取标定板400中心在第四图像中的第四像素坐标增量数据;
S9.根据多个第四像素坐标增量数据计算第四像素坐标增量平均值;
S10.根据第三步长和指定移动方向信息计算第三步长在x轴方向的分量和在y轴方向的分量;
S11.根据第四像素坐标增量平均值、第三步长在x轴方向的分量和在y轴方向的分量验证转换矩阵T和常数b的正确性。
在步骤S6、S7中,第三步长和n3也可以根据需要设置,指定移动方向信息可以是沿机器人基坐标系的水平平面的任意方向(该移动方向信息包括移动方向与x轴的夹角信息)。具体的,可设置n3=20,第三步长为cm,指定移动方向与x轴的夹角为45°。
步骤S7-S8中,然后以第三步长(cm)使机器人100沿该指定移动方向进行移动n3(20)次,并在每次移动后获取标定板400中心的第四像素坐标增量数据,将20组第四像素坐标增量数据相加,记为,其中为像素坐标系中u坐标轴的增量,为像素坐标系中v坐标轴的增量。
步骤S10中,由于预先指定的移动方向与x轴的夹角为45°,所以根据简单三角函数关系可以计算出,第三步长在x轴方向的分量和y轴方向的分量均为2cm,因此机器人100在该指定移动方向下以第三步长移动所形成的坐标增量数据为。
在实际应用中,由于手眼标定系统中的机器人100在移动时难免会有误差,但是在可控的范围内并不影响获取最终结果的准确性。因此在另一些实施方式中,可以预先设定一个误差范围,通过计算的模和的模之间的差值与该阈值进行比较,若该差值超过该误差范围则说明转换矩阵T和常数b不准确;若差值在该误差范围之内,则说明转换矩阵T和常数b准确。
步骤A103包括:
根据以下计算公式计算该像素差值:
步骤A105包括,根据上述x坐标偏移量和y坐标偏移量使机器人100移动到标定板400中心的正上方,并将此时机器人100的中心位姿数据保存,记为,其中,为机器人100在xyz轴上的位置,为机器人100的姿态。通过这种方式,可以使相机200到标定板400中心的距离保持一定,提高精确性,方便后续圆弧轨迹的生成。
在一些实施方式中,分层圆300的高度数据和半径可以是人为预设的一个数值。在实际应用中,机器人100的运动轨迹大致为球形轨迹,因此,球形轨迹的形成一般分为两种:经度圆和纬度圆。以下的实施方式采用纬度圆的方法计算。
在优选的实施方式中,在步骤A4中,为分层圆300的半径,R为第一距离,为分层圆300的高度数据。在实际应用中,第一距离R的数值可以是机器人100随机生成也可以是人为预设,在此本申请不做限定。例如,将相机200和标定板400中心之间的第一距离R设置为500mm;分层圆300的高度数据是指相机200垂直于标定板400的距离(即分层圆300的圆心与标定板400中心之间的距离),记为,高度数据可以直接获取;因此,根据勾股定理,即可计算出分层圆300的半径,计算公式如下:
为了保证精度,使机器人100能精确地在圆弧轨迹上移动,首先要先让机器人100在分层圆300上进行平移,使相机200获取的前几帧图片位置姿态变化不能超出预设范围。
在一些实施方式中,可以是在分层圆300上人为设定多个平移点,然后由机器人控制器发送控制指令使机器人100带相机200沿着该平移点进行移动;也可以是在分层圆300上人为标定好平移运动轨迹,然后由机器人控制器发送控制指令使机器人100带相机200沿着该平移运动轨迹进行移动;还可以是人工示教使机器人100在分层圆300上做平移运动。
在一些实施方式中,步骤A5包括:
A501.根据以下公式计算各轨迹点的位姿数据中的位置坐标:
其中,step为预设的角度的增加步长;为分层圆300的半径;R为第一距离;为分层圆300的高度数据;分别为第i个轨迹点的位姿数据中的x轴坐标值、y轴坐标值和z轴坐标值,其中,当i=1时,为机器人100在标定板400中心的正上方的中心位姿数据中的x轴坐标值和y轴坐标值,为机器人100在标定板400中心的正上方的中心位姿数据中的z轴坐标值;为第i个轨迹点的角度,其中,当i=1时,为起始角度;
A502.根据以下公式计算各轨迹点的角度插值比例:
step的数值例如等于0.1cm,但不限于此;
A503.根据以下公式计算各轨迹点的姿态角度:
在实际应用中,圆弧的起始姿态以及圆弧的终止姿态可以直接获取,也可以是人为预设或者系统随机生成。通过计算圆弧轨迹上各个轨迹点的姿态角度,能使各个轨迹点之间的连线平整光滑,从而生成平滑的圆弧轨迹。
在一些实施方式中,步骤A6包括:
A601.标定板400的图像包括RGB图和深度图,对RGB图和深度图进行对齐处理;
A602.计算相机坐标系到像素坐标系下的转换矩阵;
A603.将机器人100的位姿数据和转换矩阵封装成两个TOPIC,使用ros中的rostopic通信机制实时发布;
其中,每获取机器人100的位姿数据和转换矩阵的时间间隔为0.1s。
在步骤A601中,本申请的相机200包括RGB摄像头和红外摄像头,可以采集到RGB图像和深度图像。由于RGB图像数据与深度图像数据的空间坐标系是不同的,前者的原点是RGB摄像头,后者的原点是红外摄像头,因此两者会有相应的误差。通过进行对齐处理,可以减小两者的误差。
在步骤A602中,计算相机坐标系到像素坐标系下的转换矩阵采用的是OpenCV 图像处理库,转换矩阵的数据格式为4x4的矩阵,具体的算法为现有技术,在此本申请不再赘述。
在步骤A603中,将机器人100的位姿数据转换为4 x 4的矩阵,在机器人100学中,用齐次矩阵(4x4)来统一描述刚体的位置和姿态,具体如何转换为现有技术,在此不再赘述。之后将相机坐标系到像素坐标系下的转换矩阵和机器人100的位姿数据封装成两个TOPIC主题,使用ros中的rostopic通信机制实时发布。其中,TOPIC主题和ros通信机制也为现有技术,在此不再赘述。
通过这种方式,可以实时获取和估计机器人100在圆弧轨迹上的位姿数据,从而实现各个ros节点的数据通讯。
由上可知,本申请提供的手眼标定数据采集方法,用于手眼标定系统,通过向机器人100发送第一控制指令,使机器人100携带相机200移动至标定板400中心的正上方;获取机器人100携带相机200移动至标定板400中心的正上方时相机200与标定板400中心之间的第一距离和机器人100的中心位姿数据;获取至少一个分层圆300的高度数据;根据第一距离和高度数据计算各分层圆300的半径;根据分层圆300的半径获取分层圆300圆周上的圆弧轨迹上的多个轨迹点的位姿数据;根据轨迹点的位姿数据向机器人100发送第二控制指令,使机器人100沿圆弧轨迹移动并采集标定板400的图像和机器人100的位姿数据,从而实现手眼标定轨迹的生成,不仅可以全自动生成手眼标定轨迹,节约了大量时间和人力资源,还可以实时采集机器人100的位姿数据,方便预测机器人100在圆弧轨迹上的位姿。
请参照图2,图2是本申请一些实施方式中的手眼标定数据采集装置,用于手眼标定系统,该装置包括以下模块:
第一控制模块201,用于向机器人100发送第一控制指令,使机器人100携带相机200移动至标定板400中心的正上方;相机200设置在机器人100的端部;
第一获取模块202,用于获取机器人100携带相机200移动至标定板400中心的正上方时相机200与标定板400中心之间的第一距离和机器人100的中心位姿数据;
第二获取模块203,用于获取至少一个分层圆300的高度数据;
第一计算模块204,用于根据第一距离和高度数据计算各分层圆300的半径;
第三获取模块205,用于根据分层圆300的半径获取分层圆300圆周上的圆弧轨迹上的多个轨迹点的位姿数据;
第二控制模块206,用于根据轨迹点的位姿数据向机器人100发送第二控制指令,使机器人100沿圆弧轨迹移动并采集标定板400的图像和机器人100的位姿数据。
其中,向机器人100发送第一控制指令和第二控制指令的设备是机器人控制器,该机器人控制器可以包括执行自动标定算法的芯片,例如人工智能(artificialintelligence,AI)芯片、图形处理器(graphics processing unit,GPU)芯片、中央处理器(central processing unit,CPU)等芯片,也可以是包括其中多种芯片构成的系统。
其中,在实际应用中,可把标定板400设置在一个预设的固定位置,并预先设置一个位于标定板400中心的正上方的初始位置;从而可以获取该初始位置的位置数据,根据该初始位置的位置数据生成第一控制指令发送至机器人100。还可以采用人工示教的方式,使机器人100携带相机200移动到标定板400中心正上方。通过这种方式,方便后续模块中获取机器人100在标定板400中心的正上方的中心位姿数据和标定板400中心的第一像素坐标数据。
在一些实施方式中,第一控制模块201用于在向机器人100发送第一控制指令,使机器人100携带相机200移动至标定板400中心的正上方的时候,执行:
确定机器人基坐标系的水平平面的坐标增量与相机200的图像像素坐标增量之间的映射关系;
获取相机200在当前位置采集的第一图像;
获取标定板400中心在第一图像中的第一像素坐标数据与第一图像的中心之间的像素差值;
根据像素差值和映射关系计算机器人100的x坐标偏移量和y坐标偏移量;
根据x坐标偏移量和y坐标偏移量生成第一控制指令并发送至机器人100,使机器人100携带相机200移动至标定板400中心的正上方。
其中,第一控制模块201在执行确定机器人基坐标系的水平平面的坐标增量与相机200的图像像素坐标增量之间的映射关系的步骤中,包括以下子步骤:
S1.向机器人100发送第三控制指令,使机器人100以第一步长沿x轴移动n1次,并在每次移动后获取相机200采集的第二图像,提取标定板400中心在第二图像中的第二像素坐标增量数据;n1为预设的整数值,且n1>1;
S2.根据多个第二像素坐标增量数据计算第二像素坐标增量均值;
S3.向机器人100发送第四控制指令,使机器人100以第二步长沿y轴移动n2次,并在每次移动后获取相机200采集的第三图像,提取标定板400中心在第三图像中的第三像素坐标增量数据;n2为预设的整数值,且n2>1;
S4.根据多个第三像素坐标增量数据计算第三像素坐标增量均值;
S5.将第二像素坐标增量均值和第三像素坐标增量均值代入以下公式,计算得到转换矩阵T和常数b:
其中,为机器人基坐标系的水平平面的坐标增量矩阵,机器人基坐标系的水平平面的坐标增量矩阵包括第一步长和第二步长,为相机200的图像像素坐标增量矩阵,图像像素坐标增量矩阵包括第二像素坐标增量均值和第三像素坐标增量均值,T为转换矩阵,b为常数。
在实际应用中,n1、n2、第一步长和第二步长可以根据实际需要设置,也可以由系统随机生成,在此本申请不做具体限定。为方便理解该实施方式,可以预设n1=20,n2=20,第一步长为2.5cm,第二步长为2.5cm。具体的,先执行步骤S1,向机器人100发送第三控制指令,使机器人100以第一步长2.5cm向x轴移动n1(20)次,并在每次移动后获取相机200采集的第二图像,提取标定板400中心在第二图像中的第二像素坐标增量数据(由于n1=20,所以机器人100在移动20次后会获得20组第二像素坐标增量数据,例如将20组第二像素坐标增量数据相加,并记为,其中为像素坐标系中u坐标轴的增量,为像素坐标系中v坐标轴的增量),然后执行步骤S2,根据上述20组第二像素坐标增量数据计算第二像素坐标增量均值,记为。继续执行步骤S3,向机器人100发送第四控制指令,使机器人100以第二步长2.5cm向y轴移动n2(20)次,并在每次移动后获取相机200采集的第三图像,提取标定板400中心在第三图像中的第三像素坐标增量数据(由于n2=20,所以机器人100在移动20次后会获得20组第三像素坐标增量数据,例如将20组第二像素坐标增量数据相加,并记为,其中为像素坐标系中u坐标轴的增量,为像素坐标系中v坐标轴的增量),然后执行步骤S4,根据上述20组第三像素坐标增量数据计算第三像素坐标增量均值,记为。
由此可以将 (1)式和(2)式联立,计算出转换矩阵T和常数b。通过这种方式,可以计算出机器人基坐标系的水平平面的坐标增量与相机200的图像像素坐标增量之间的映射关系,实现机器人基坐标系的水平平面的坐标增量与相机200的图像像素坐标增量之间的互相转换,提高了映射关系的精确性。
在进一步的实施方式中,第一控制模块201在执行步骤S5之后还执行:
S6.获取第三步长和指定移动方向信息;
S7.根据第三步长和指定移动方向信息向机器人100发送第五控制指令,使机器人100以第三步长沿指定移动方向移动n3次;n3为预设的整数值,且n3>1;
S8.在每次移动后获取相机200采集的第四图像,提取标定板400中心在第四图像中的第四像素坐标增量数据;
S9.根据多个第四像素坐标增量数据计算第四像素坐标增量平均值;
S10.根据第三步长和指定移动方向信息计算第三步长在x轴方向的分量和在y轴方向的分量;
S11.根据第四像素坐标增量平均值、第三步长在x轴方向的分量和在y轴方向的分量验证转换矩阵T和常数b的正确性。
在步骤S6、S7中,第三步长和n3也可以根据需要设置,指定移动方向信息可以是沿机器人基坐标系的水平平面的任意方向(该移动方向信息包括移动方向与x轴的夹角信息)。具体的,可设置n3=20,第三步长为cm,指定移动方向与x轴的夹角为45°。
步骤S7-S8中,然后以第三步长(cm)使机器人100沿该指定移动方向进行移动n3(20)次,并在每次移动后获取标定板400中心的第四像素坐标增量数据,将20组第四像素坐标增量数据相加,记为,其中为像素坐标系中u坐标轴的增量,为像素坐标系中v坐标轴的增量。
步骤S10中,由于预先指定的移动方向与x轴的夹角为45°,所以根据简单三角函数关系可以计算出,第三步长在x轴方向的分量和y轴方向的分量均为2cm,因此机器人100在该指定移动方向下以第三步长移动所形成的坐标增量数据为。
在实际应用中,由于手眼标定系统中的机器人100在移动时难免会有误差,但是在可控的范围内并不影响获取最终结果的准确性。因此在另一些实施方式中,可以预先设定一个误差范围,通过计算的模和的模之间的差值与该阈值进行比较,若该差值超过该误差范围则说明转换矩阵T和常数b不准确;若差值在该误差范围之内,则说明转换矩阵T和常数b准确。
第一控制模块201在执行获取标定板400中心在第一图像中的第一像素坐标数据与第一图像的中心之间的像素差值的步骤时,执行:
根据以下计算公式计算该像素差值:
第一控制模块201在执行根据x坐标偏移量和y坐标偏移量生成第一控制指令并发送至机器人100,使机器人100携带相机200移动至标定板400中心的正上方的步骤时,执行:根据上述x坐标偏移量和y坐标偏移量使机器人100移动到标定板400中心的正上方,并将此时机器人100的中心位姿数据保存,记为,其中,为机器人100在xyz轴上的位置,为机器人100的姿态。通过这种方式,可以使相机200到标定板400中心的距离保持一定,提高精确性,方便后续圆弧轨迹的生成。
在一些实施方式中,分层圆300的高度数据和半径可以是人为预设的一个数值。在实际应用中,机器人100的运动轨迹大致为球形轨迹,因此,球形轨迹的形成一般分为两种:经度圆和纬度圆。以下的实施方式采用纬度圆的方法计算。
在优选的实施方式中,第一计算模块204在根据第一距离和高度数据计算各分层圆300的半径的时候,其中,为分层圆300的半径,R为第一距离,为分层圆300的高度数据。在实际应用中,第一距离R的数值可以是机器人100随机生成也可以是人为预设,在此本申请不做限定。例如,将相机200和标定板400中心之间的第一距离R设置为500mm;分层圆300的高度数据是指相机200垂直于标定板400的距离(即分层圆300的圆心与标定板400中心之间的距离),记为,高度数据可以直接获取;因此,根据勾股定理,即可计算出分层圆300的半径,计算公式如下:
为了保证精度,使机器人100能精确地在圆弧轨迹上移动,首先要先让机器人100在分层圆300上进行平移,使相机200获取的前几帧图片位置姿态变化不能超出预设范围。
在一些实施方式中,可以是在分层圆300上人为设定多个平移点,然后由机器人控制器发送控制指令使机器人100带相机200沿着该平移点进行移动;也可以是在分层圆300上人为标定好平移运动轨迹,然后由机器人控制器发送控制指令使机器人100带相机200沿着该平移运动轨迹进行移动;还可以是人工示教使机器人100在分层圆300上做平移运动。
在一些实施方式中,第三获取模块205在根据分层圆300的半径获取分层圆300圆周上的圆弧轨迹上的多个轨迹点的位姿数据的时候,执行以下步骤:
A501.根据以下公式计算各轨迹点的位姿数据中的位置坐标:
其中,step为预设的角度的增加步长;为分层圆300的半径;R为第一距离;为分层圆300的高度数据;分别为第i个轨迹点的位姿数据中的x轴坐标值、y轴坐标值和z轴坐标值,其中,当i=1时,为机器人100在标定板400中心的正上方的中心位姿数据中的x轴坐标值和y轴坐标值,为机器人100在标定板400中心的正上方的中心位姿数据中的z轴坐标值;为第i个轨迹点的角度,其中,当i=1时,为起始角度;
A502.根据以下公式计算各轨迹点的角度插值比例:
step的数值例如等于0.1cm,但不限于此;
A503.根据以下公式计算各轨迹点的姿态角度:
在实际应用中,圆弧的起始姿态以及圆弧的终止姿态可以直接获取,也可以是人为预设或者系统随机生成。通过计算圆弧轨迹上各个轨迹点的姿态角度,能使各个轨迹点之间的连线平整光滑,从而生成平滑的圆弧轨迹。
在一些实施方式中,第二控制模块206用于在根据轨迹点的位姿数据向机器人100发送第二控制指令,使机器人100沿圆弧轨迹移动并采集标定板400的图像和机器人100的位姿数据的时候,执行:
A601.标定板400的图像包括RGB图和深度图,对RGB图和深度图进行对齐处理;
A602.计算相机坐标系到像素坐标系下的转换矩阵;
A603.将机器人100的位姿数据和转换矩阵封装成两个TOPIC,使用ros中的rostopic通信机制实时发布;
其中,每获取机器人100的位姿数据和转换矩阵的时间间隔为0.1s。
在步骤A601中,本申请的相机200包括RGB摄像头和红外摄像头,可以采集到RGB图像和深度图像。由于RGB图像数据与深度图像数据的空间坐标系是不同的,前者的原点是RGB摄像头,后者的原点是红外摄像头,因此两者会有相应的误差。通过进行对齐处理,可以减小两者的误差。
在步骤A602中,计算相机坐标系到像素坐标系下的转换矩阵采用的是OpenCV 图像处理库,转换矩阵的数据格式为4x4的矩阵,具体的算法为现有技术,在此本申请不再赘述。
在步骤A603中,将机器人100的位姿数据转换为4 x 4的矩阵,在机器人100学中,用齐次矩阵(4x4)来统一描述刚体的位置和姿态,具体如何转换为现有技术,在此不再赘述。之后将相机坐标系到像素坐标系下的转换矩阵和机器人100的位姿数据封装成两个TOPIC主题,使用ros中的rostopic通信机制实时发布。其中,TOPIC主题和ros通信机制也为现有技术,在此不再赘述。
通过这种方式,可以实时获取和估计机器人100在圆弧轨迹上的位姿数据,从而实现各个ros节点的数据通讯。
由上可知,本申请提供的手眼标定数据采集装置,用于手眼标定系统,通过向机器人100发送第一控制指令,使机器人100携带相机200移动至标定板400中心的正上方;获取机器人100携带相机200移动至标定板400中心的正上方时相机200与标定板400中心之间的第一距离和机器人100的中心位姿数据;获取至少一个分层圆300的高度数据;根据第一距离和高度数据计算各分层圆300的半径;根据分层圆300的半径获取分层圆300圆周上的圆弧轨迹上的多个轨迹点的位姿数据;根据轨迹点的位姿数据向机器人100发送第二控制指令,使机器人100沿圆弧轨迹移动并采集标定板400的图像和机器人100的位姿数据,从而实现手眼标定轨迹的生成,不仅可以全自动生成手眼标定轨迹,节约了大量时间和人力资源,还可以实时采集机器人100的位姿数据,方便预测机器人100在圆弧轨迹上的位姿。
请参照图3,图3为本申请实施例提供的一种电子设备的结构示意图,本申请提供一种电子设备3,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当计算设备运行时,处理器301执行该计算机程序,以在执行时执行上述实施例的任一可选的实现方式中的方法,以实现以下功能:向机器人100发送第一控制指令,使机器人100携带相机200移动至标定板400中心的正上方;获取机器人100携带相机200移动至标定板400中心的正上方时相机200与标定板400中心之间的第一距离和机器人100的中心位姿数据;获取至少一个分层圆300的高度数据;根据第一距离和高度数据计算各分层圆300的半径;根据分层圆300的半径获取分层圆300圆周上的圆弧轨迹上的多个轨迹点的位姿数据;根据轨迹点的位姿数据向机器人100发送第二控制指令,使机器人100沿圆弧轨迹移动并采集标定板400的图像和机器人100的位姿数据。
本申请实施例提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,执行上述实施例的任一可选的实现方式中的方法,以实现以下功能:向机器人100发送第一控制指令,使机器人100携带相机200移动至标定板400中心的正上方;获取机器人100携带相机200移动至标定板400中心的正上方时相机200与标定板400中心之间的第一距离和机器人100的中心位姿数据;获取至少一个分层圆300的高度数据;根据第一距离和高度数据计算各分层圆300的半径;根据分层圆300的半径获取分层圆300圆周上的圆弧轨迹上的多个轨迹点的位姿数据;根据轨迹点的位姿数据向机器人100发送第二控制指令,使机器人100沿圆弧轨迹移动并采集标定板400的图像和机器人100的位姿数据。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-Only Memory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种手眼标定数据采集方法,用于手眼标定系统,其特征在于,包括以下步骤:
A1.向机器人发送第一控制指令,使所述机器人携带相机移动至标定板中心的正上方;所述相机设置在所述机器人的端部;
A2.获取所述机器人携带相机移动至标定板中心的正上方时所述相机与所述标定板中心之间的第一距离以及所述机器人的中心位姿数据;
A3.获取至少一个分层圆的高度数据;
A4.根据所述第一距离和所述高度数据计算各所述分层圆的半径;
A5.根据所述分层圆的半径获取所述分层圆圆周上的圆弧轨迹上的多个轨迹点的位姿数据;
A6.根据所述轨迹点的位姿数据向所述机器人发送第二控制指令,使所述机器人沿所述圆弧轨迹移动,并采集所述标定板的图像和所述机器人的位姿数据。
2.根据权利要求1所述的手眼标定数据采集方法,其特征在于,所述步骤A1包括:
A101.确定机器人基坐标系的水平平面的坐标增量与所述相机的图像像素坐标增量之间的映射关系;
A102.获取所述相机在当前位置采集的第一图像;
A103.获取所述标定板中心在所述第一图像中的第一像素坐标数据与所述第一图像的中心之间的像素差值;
A104.根据所述像素差值和所述映射关系计算所述机器人的x坐标偏移量和y坐标偏移量;
A105.根据所述x坐标偏移量和所述y坐标偏移量生成所述第一控制指令并发送至所述机器人,使所述机器人携带相机移动至标定板中心的正上方。
3.根据权利要求2所述的手眼标定数据采集方法,其特征在于,所述步骤A101包括:
S1.向所述机器人发送第三控制指令,使所述机器人以第一步长沿x轴移动n1次,并在每次移动后获取所述相机采集的第二图像,提取所述标定板中心在所述第二图像中的第二像素坐标增量数据;n1为预设的整数值,且n1>1;
S2.根据多个所述第二像素坐标增量数据计算第二像素坐标增量均值;
S3.向所述机器人发送第四控制指令,使所述机器人以第二步长沿y轴移动n2次,并在每次移动后获取所述相机采集的第三图像,提取所述标定板中心在所述第三图像中的第三像素坐标增量数据;n2为预设的整数值,且n2>1;
S4.根据多个所述第三像素坐标增量数据计算第三像素坐标增量均值;
S5.将所述第二像素坐标增量均值和所述第三像素坐标增量均值代入以下公式,计算得到转换矩阵T和常数b:
4.根据权利要求3所述的手眼标定数据采集方法,其特征在于,所述步骤S5之后还包括:
S6.获取第三步长和指定移动方向信息;
S7.根据所述第三步长和指定移动方向信息向所述机器人发送第五控制指令,使所述机器人以所述第三步长沿所述指定移动方向移动n3次;n3为预设的整数值,且n3>1;
S8.在每次移动后获取所述相机采集的第四图像,提取所述标定板中心在所述第四图像中的第四像素坐标增量数据;
S9.根据多个所述第四像素坐标增量数据计算第四像素坐标增量平均值;
S10.根据所述第三步长和指定移动方向信息计算所述第三步长在x轴方向的分量和在y轴方向的分量;
S11.根据所述第四像素坐标增量平均值、所述第三步长在x轴方向的分量和在y轴方向的分量验证所述转换矩阵T和所述常数b的正确性。
6.根据权利要求1所述的手眼标定数据采集方法,其特征在于,所述步骤A5包括:
A501.根据以下公式计算各轨迹点的位姿数据中的位置坐标:
其中,step为预设的角度的增加步长;为所述分层圆的半径;R为所述第一距离;为所述分层圆的高度数据;分别为第i个轨迹点的位姿数据中的x轴坐标值、y轴坐标值和z轴坐标值,其中,当i=1时,为所述机器人在所述标定板中心的正上方的中心位姿数据中的x轴坐标值和y轴坐标值,为所述机器人在所述标定板中心的正上方的中心位姿数据中的z轴坐标值;为第i个轨迹点的角度,其中,当i=1时,为起始角度;
A502.根据以下公式计算各轨迹点的角度插值比例:
A503.根据以下公式计算各轨迹点的姿态角度:
7.一种手眼标定数据采集装置,用于手眼标定,其特征在于,所述装置包括:
第一控制模块,用于向机器人发送第一控制指令,使所述机器人携带相机移动至标定板中心的正上方;所述相机设置在所述机器人的端部;
第一获取模块,用于获取所述机器人携带相机移动至标定板中心的正上方时所述相机与所述标定板中心之间的第一距离和所述机器人的中心位姿数据;
第二获取模块,用于获取至少一个分层圆的高度数据;
第一计算模块,用于根据所述第一距离和所述高度数据计算各所述分层圆的半径;
第三获取模块,根据所述分层圆的半径获取所述分层圆圆周上的圆弧轨迹上的多个轨迹点的位姿数据;
第二控制模块,用于根据所述轨迹点的位姿数据向所述机器人发送第二控制指令,使所述机器人沿所述圆弧轨迹移动并采集所述标定板的图像和所述机器人的位姿数据。
8.根据权利要求7所述的手眼标定数据采集装置,其特征在于,所述第一控制模块用于在向机器人发送第一控制指令,使所述机器人携带相机移动至标定板中心的正上方的时候,执行:
确定机器人基坐标系的水平平面的坐标增量与所述相机的图像像素坐标增量之间的映射关系;
获取所述相机在当前位置采集的第一图像;
获取所述标定板中心在所述第一图像中的第一像素坐标数据与所述第一图像的中心之间的像素差值;
根据所述像素差值和所述映射关系计算所述机器人的x坐标偏移量和y坐标偏移量;
根据所述x坐标偏移量和所述y坐标偏移量生成所述第一控制指令并发送至所述机器人,使所述机器人携带相机移动至标定板中心的正上方。
9.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-6任一项所述手眼标定数据采集方法中的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-6任一项所述手眼标定数据采集方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111257383.7A CN113696188B (zh) | 2021-10-27 | 2021-10-27 | 手眼标定数据采集方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111257383.7A CN113696188B (zh) | 2021-10-27 | 2021-10-27 | 手眼标定数据采集方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113696188A true CN113696188A (zh) | 2021-11-26 |
CN113696188B CN113696188B (zh) | 2022-02-08 |
Family
ID=78647108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111257383.7A Active CN113696188B (zh) | 2021-10-27 | 2021-10-27 | 手眼标定数据采集方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113696188B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114894116A (zh) * | 2022-04-08 | 2022-08-12 | 苏州瀚华智造智能技术有限公司 | 一种测量数据融合方法及非接触式测量设备 |
CN114952856A (zh) * | 2022-06-16 | 2022-08-30 | 江西省智能产业技术创新研究院 | 机械臂手眼标定方法、系统、计算机及可读存储介质 |
CN115781698A (zh) * | 2023-02-06 | 2023-03-14 | 广东省科学院智能制造研究所 | 分层式手眼标定机器人运动位姿自动生成方法、系统、设备和介质 |
CN116423525A (zh) * | 2023-06-12 | 2023-07-14 | 上海仙工智能科技有限公司 | 一种自动手眼标定方法及系统、存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5323327A (en) * | 1992-05-01 | 1994-06-21 | Storage Technology Corporation | On-the-fly cataloging of library cell contents in an automated robotic tape library |
DE202005010299U1 (de) * | 2005-06-30 | 2006-01-12 | Beyer, Lukas | Meßvorrichtung für Industrieroboter |
CN104354167A (zh) * | 2014-08-29 | 2015-02-18 | 广东正业科技股份有限公司 | 一种机器人手眼标定方法及装置 |
CN108942934A (zh) * | 2018-07-23 | 2018-12-07 | 珠海格力电器股份有限公司 | 确定手眼标定的方法及装置 |
CN109176505A (zh) * | 2018-08-10 | 2019-01-11 | 厦门大学 | 一种基于球杆仪的六轴关节工业机器人空间误差标定方法 |
CN109859275A (zh) * | 2019-01-17 | 2019-06-07 | 南京邮电大学 | 一种基于s-r-s结构的康复机械臂的单目视觉手眼标定方法 |
CN110861091A (zh) * | 2019-12-04 | 2020-03-06 | 武汉工程大学 | 基于交叉激光束的工业机器人尖点型回转体工具标定方法 |
CN112720457A (zh) * | 2020-12-03 | 2021-04-30 | 深圳众为兴技术股份有限公司 | 机器人标定方法、装置、电子设备及存储介质 |
-
2021
- 2021-10-27 CN CN202111257383.7A patent/CN113696188B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5323327A (en) * | 1992-05-01 | 1994-06-21 | Storage Technology Corporation | On-the-fly cataloging of library cell contents in an automated robotic tape library |
DE202005010299U1 (de) * | 2005-06-30 | 2006-01-12 | Beyer, Lukas | Meßvorrichtung für Industrieroboter |
CN104354167A (zh) * | 2014-08-29 | 2015-02-18 | 广东正业科技股份有限公司 | 一种机器人手眼标定方法及装置 |
CN108942934A (zh) * | 2018-07-23 | 2018-12-07 | 珠海格力电器股份有限公司 | 确定手眼标定的方法及装置 |
CN109176505A (zh) * | 2018-08-10 | 2019-01-11 | 厦门大学 | 一种基于球杆仪的六轴关节工业机器人空间误差标定方法 |
CN109859275A (zh) * | 2019-01-17 | 2019-06-07 | 南京邮电大学 | 一种基于s-r-s结构的康复机械臂的单目视觉手眼标定方法 |
CN110861091A (zh) * | 2019-12-04 | 2020-03-06 | 武汉工程大学 | 基于交叉激光束的工业机器人尖点型回转体工具标定方法 |
CN112720457A (zh) * | 2020-12-03 | 2021-04-30 | 深圳众为兴技术股份有限公司 | 机器人标定方法、装置、电子设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114894116A (zh) * | 2022-04-08 | 2022-08-12 | 苏州瀚华智造智能技术有限公司 | 一种测量数据融合方法及非接触式测量设备 |
CN114894116B (zh) * | 2022-04-08 | 2024-02-23 | 苏州瀚华智造智能技术有限公司 | 一种测量数据融合方法及非接触式测量设备 |
CN114952856A (zh) * | 2022-06-16 | 2022-08-30 | 江西省智能产业技术创新研究院 | 机械臂手眼标定方法、系统、计算机及可读存储介质 |
CN115781698A (zh) * | 2023-02-06 | 2023-03-14 | 广东省科学院智能制造研究所 | 分层式手眼标定机器人运动位姿自动生成方法、系统、设备和介质 |
CN115781698B (zh) * | 2023-02-06 | 2023-04-04 | 广东省科学院智能制造研究所 | 分层式手眼标定机器人运动位姿自动生成方法、系统、设备和介质 |
CN116423525A (zh) * | 2023-06-12 | 2023-07-14 | 上海仙工智能科技有限公司 | 一种自动手眼标定方法及系统、存储介质 |
CN116423525B (zh) * | 2023-06-12 | 2023-09-01 | 上海仙工智能科技有限公司 | 一种自动手眼标定方法及系统、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113696188B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113696188B (zh) | 手眼标定数据采集方法、装置、电子设备及存储介质 | |
US10984554B2 (en) | Monocular vision tracking method, apparatus and non-volatile computer-readable storage medium | |
US11498220B2 (en) | Control system and control method | |
WO2019170166A1 (zh) | 深度相机标定方法以及装置、电子设备及存储介质 | |
CN109752003B (zh) | 一种机器人视觉惯性点线特征定位方法及装置 | |
CN108564657A (zh) | 一种基于云端的地图构建方法、电子设备和可读存储介质 | |
CN110517209A (zh) | 数据处理方法、装置、系统以及计算机可读存储介质 | |
CN115847384B (zh) | 机械臂安全平面信息显示方法及相关产品 | |
CN112146682A (zh) | 智能汽车的传感器标定方法、装置、电子设备及介质 | |
CN110000793A (zh) | 一种机器人运动控制方法、装置、存储介质和机器人 | |
CN113814987B (zh) | 多相机机器人手眼标定方法、装置、电子设备及存储介质 | |
US20210156710A1 (en) | Map processing method, device, and computer-readable storage medium | |
CN110991085B (zh) | 一种机器人图像仿真数据的构建方法、介质、终端和装置 | |
CN111971529A (zh) | 用于管理机器人系统的方法和装置 | |
CN113671523A (zh) | 机器人定位方法、装置、存储介质及机器人 | |
An et al. | Image-based positioning system using LED Beacon based on IoT central management | |
CN112381873A (zh) | 一种数据标注方法及装置 | |
CN110853098A (zh) | 机器人定位方法、装置、设备及存储介质 | |
CN114926542A (zh) | 基于光学定位系统的混合现实固定参考系校准方法 | |
CN115416025A (zh) | 焊接机器人控制方法、装置、焊接机器人和可读介质 | |
CN110675445B (zh) | 一种视觉定位方法、装置及存储介质 | |
CN110842917B (zh) | 串并联机械的机械参数的标定方法、电子装置及存储介质 | |
CN113758481A (zh) | 栅格地图生成方法、装置、系统、存储介质及电子设备 | |
CN114155292A (zh) | 一种基于全景视频的室内定位定姿方法及装置 | |
CN111862141A (zh) | Agv装置运动精度的评估方法、装置、介质及电子设备 |
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 |