一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

机器人手眼标定方法、装置、电子设备、存储介质及产品

2022-04-30 17:58:10 来源:中国专利 TAG:


1.本发明属于工业机器人标定技术领域,尤其涉及一种机器人手眼标定方法、装置、电子设备、存储介质及产品。


背景技术:

2.随着机器人和机器视觉技术的快速发展,机器人在工业生产场景中的应用已经逐渐普及开来。为了让机器人能够自主定位抓取散乱无序工件的位置,在机器人控制系统中添加视觉传感器。
3.由于机器人坐标系和视觉传感器坐标系并不统一,因此通过视觉传感器识别到的工件位置和姿态并不能直接用于引导机器人抓取,需要计算机器人坐标系和视觉传感器之间的变换位姿,即手眼标定。从而将工件的位置和姿态信息从传感器坐标系转换到机器人坐标系。手眼标定是否准确是机器人能够准确定位、抓取工件的前提。
4.传统的“两步法”手眼标定算法主要先从眼在手外位姿关系基本方程求解出视觉传感器在机器人基座坐标系内的姿态中的旋转矩阵,再将旋转矩阵代入该基本方程求解出平移向量。由于存在矩阵耦合,在求解平移向量时代入旋转矩阵会将求取旋转矩阵时的误差放大,因此标定结果会存在角度误差较小而位移误差较大的情况。所以传统标定方法都会采集较多组数据,并且需要保证每组数据的机器人位姿的自由度参数之间要具有一定的的差异以消除误差提高标定精度。这也就带来了操作上的困难:(1)要保证机器人位姿上的差异,就会导致采集数据时机器人活动范围较大,而在视觉传感器的视野边缘畸变又较大,反而导致标定精度下降。(2)需要根据视野范围规划数据采集位置和姿态,规划不好会影响标定精度。


技术实现要素:

5.本发明的目的在于克服现有技术的不足,提供一种机器人手眼标定方法、装置、电子设备及存储介质及产品,可以避免求解耦合矩阵,从而提高了标定精度。
6.在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
7.根据本发明实施例的第一方面,本公开提供了一种机器人手眼标定方法,该方法通过直接求取标定板在工具坐标系中的位姿,再根据式位姿推导公式求得视觉传感器在机器人基座坐标系中的位姿。通过标定板夹具限制标定板在工具坐标系中的位姿中的若干个参数和特定的数据采集位姿,可以避免求解耦合矩阵,分别求取标定板在工具坐标系中的位姿中的平移量和旋转量,从而提高了标定精度。同时避免数据采集位姿规划的问题,降低操作难度。
8.控制程序根据配置的数据以及当前机器人末端位姿自动规划位姿队列并控制机
器人进行变换位姿;
9.采集程序采集并存储每个位姿的视觉传感器数据和机器人末端位姿数据;
10.计算模块根据视觉传感器数据和机器人位姿数据、传感器内参和配置的数据进行标定计算,输出标定结果;
11.所述标定计算的流程为:
12.计算模块计算出标定板在视觉传感器坐标系中的位姿,即视觉传感器的一系列外参;
13.计算模块根据旋转点位的标定板在视觉传感器坐标系下的位置拟合出机器人末端旋转中心在传感器坐标系中的坐标,再将其推导到在第1个旋转点位的标定板坐标系中的三轴坐标;
14.标定板平面和机器人末端平面由夹具保持平行,机器人末端在标定板坐标系中的位姿角度rx、ry已由夹具固定成180
°
和0
°
,根据移动后的标定板在第1个旋转点位的标定板坐标系中的位置、末端在自身坐标系平面o
xy
内平移的方向推导出末端坐标系绕第1个旋转点的标定板坐标系的z轴旋转的角度rz;
15.先求得标定板在机器人末端坐标系下的位姿
toolhcal
;再根据如下推导公式
[0016][0017]
求得手眼位姿关系,其中
basehtool1

camhcal1
表示第一个旋转点时的机器人末端位姿和标定板在传感器坐标系中的位姿。
[0018]
可选地,在上述方面的一个示例中,所述配置的数据包括:标定好的传感器内参、标定板表面到机器人末端表面之间的距离dz、机器人末端在标定板坐标系中的位姿角度rx、ry、沿机器人末端坐标系x轴移动的距离dm和旋转位姿采样点的个数k。
[0019]
可选地,在上述方面的一个示例中,所述位姿队列排列为先走绕机器人末端z轴的一系列旋转点再沿机器人末端坐标系x轴平移距离dm,平移后的机器人末端相对于基座坐标系的姿态与第一个旋转点处的姿态相同。
[0020]
根据本发明实施例的第二方面,本发明提供一种机器人手眼标定装置,用于对视觉传感器设置在机器人外的机器人进行手眼标定;包括:
[0021]
配置模块,用于输入标定好的传感器内参;输入通过标定板夹具固定的标定板在机器人末端坐标系内的部分位姿参数:标定板表面到机器人末端表面之间的距离dz、机器人末端在标定板坐标系中的位姿角度rx、ry;输入合适的机器人末端移动的距离dm和旋转位姿采样点的个数k或个数k和使其不会造成运动干涉的旋转角度;
[0022]
控制模块,用于根据配置的数据以及当前机器人末端位姿自动规划位姿队列并控制机器人进行变换位姿,位姿队列排列为先走绕机器人末端z轴的一系列旋转点再在末端的o
xy
平面内平移一段距离,平移后的机器人末端相对于基座坐标系的姿态与第一个旋转点处的姿态相同;
[0023]
采集模块,用于采集并存储每个位姿的视觉传感器数据和第一个旋转点的机器人末端位姿数据;
[0024]
计算模块,根据视觉传感器数据和机器人位姿数据、传感器内参和配置的数据进行标定计算。
[0025]
根据本发明实施例的第三方面,本发明提供一种电子设备,包括处理器和存储器,
所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如所述的机器人手眼标定方法的步骤。
[0026]
根据本发明实施例的第四方面,本发明提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如所述的机器人手眼标定方法的步骤。
[0027]
根据本发明实施例的第五方面,本发明提供一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行如上所述的方法。
[0028]
本发明的优点和积极效果是:
[0029]
本发明提出的手眼标定方法可以避免求解耦合矩阵,无需将旋转矩阵回代求取平移量,从而避免误差的放大,进而提高了标定精度。通过特定的数据采集点位姿规划,减少了数据采集过程中人为调整机器人姿态带来的误差和标定流程时间,并且降低了由规划位姿产生的操作难度。
附图说明
[0030]
图1为本发明的一个实施例的标定板夹具示意图;
[0031]
图2为本发明的一个实施例的标定板的示意图;
[0032]
图3为本发明的一个实施例的机器人与视觉传感器与标定板夹具的结构图;
[0033]
图4为本发明的一个实施例的机器人手眼标定的方法的流程图;
[0034]
图5为本发明的一个实施例的机器人手眼标定装置的示例性配置的框图;
[0035]
图6为本发明的一个实施例的对机器人进行手眼标定的计算设备的方框图。
[0036]
101:标定板夹具;102:磁条贴;103:标定板;201:机器人;202:视觉传感器;300:机器人手眼标定装置;301:配置模块;302:控制模块;303:采集模块;304:计算模块;400:电子设备;401:存储器;402:处理器。
具体实施方式
[0037]
下面通过具体实施例对本发明作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。
[0038]
在眼在手外系统中一般有如下位姿关系:
[0039]
basehtool
×
toolhcal

basehcam
×
camhcal
(1)
[0040]
其中标定板在工具坐标系中的位姿
toolhcal
和视觉传感器在机器人基座坐标系中的位姿
basehcam
是固定不变的;标定板在视觉传感器坐标系中的位姿
camhcal
是变化的,可由传感器数据和传感器内参求出;工具在机器人基座坐标系中的位姿
basehtool
可直接从机器人控制系统得到。
[0041]
一般将
toolhcal
作为中间变量联立不同机器人位姿下的位姿关系方程,得到如下等式:
[0042][0043]
其中
base1hcam1

base2hcam2
,代表传感器在机器人基座坐标系中的位姿,即上述等式在数学中可描述为齐次方程ax=xb的求解,其中a、x、b均为旋转平移矩阵,a为机器人姿态变换后机器人工具在机器人基座坐标系内姿态
base2htool2
和机器人姿态变换前机器人工具
在机器人基座坐标系内姿态的逆
base1ht-o1
ol1
的乘积,b为机器人姿态变换后标定板在视觉传感器坐标系内姿态
cam2hcal2
和机器人姿态变换前标定板在视觉传感器坐标系内姿态的逆
cam1hc-a1
l1
的乘积,x为视觉传感器在机器人基座坐标系内的姿态。
[0044]
传统的“两步法”手眼标定算法主要先从基本方程求解出x中的旋转矩阵r,再将旋转矩阵r代入基本方程求解出平移向量t。由于存在矩阵耦合,在求解平移向量时代入旋转矩阵会将求取旋转矩阵时的误差放大,因此标定结果会存在角度误差较小而位移误差较大的情况。
[0045]
本实例中公开了一种与定制标定板夹具101配合的手眼标定方法,通过直接求取中间变量
toolhcal
,再根据式(1)位姿推导公式
[0046][0047]
从而求得标定结果
basehcam
。通过标定板夹具101限制中间结果
toolhcal
中的若干个参数和特定的数据采集位姿,可以避免求解耦合矩阵,分别求取
toolhcal
中的平移量和旋转量,从而提高了标定精度。
[0048]
如图1所示,为标定板夹具101的正、反面结构图。其中α1为标定板夹具101的与标定板103的贴合面,α2为标定板夹具101与机器人201末端的贴合面。
[0049]
如图2所示,标定板夹具101由标定板托板和四根固定标定板103的硬磁条贴102组成。
[0050]
如图3所示,该标定板托板能牢固安装在机器人201末端法兰上,不会因为机器人变换位姿而相对机器人末端法兰移动。
[0051]
标定板夹具101的与标定板103的贴合面α1和与机器人201末端的贴合面α2之间保证一定的平面度、平行度和间距。通过标定板夹具101能够固定标定板103在机器人末端坐标系内的位姿,并能通过夹具结构获得部分位姿参数:标定板103表面与机器人末端表面之间的距离dz、机器人末端在标定板坐标系中的位姿角度rx、ry。
[0052]
现在结合附图来描述根据本公开实施例的机器人手眼标定方法和装置。
[0053]
图4示出了根据本公开的一个实施例的机器人手眼标定方法的示例性过程的流程图。
[0054]
步骤一、配置数据,包括输入标定好的传感器内参;输入标定板103表面到机器人末端表面之间的距离dz、机器人末端在标定板坐标系中的位姿角度rx、ry;输入合适的沿机器人末端坐标系x轴移动的距离dm和旋转位姿采样点的个数k。
[0055]
步骤二、手动控制机器人末端到达视野中心附近位置。手动调整机器人末端姿态使标定板103和视觉传感器光轴大致垂直,并获得清晰的标定板103图像。
[0056]
步骤三、控制程序根据配置的数据以及当前机器人末端位姿自动规划位姿队列并控制机器人进行变换位姿,位姿队列排列为先走绕机器人末端z轴的一系列旋转点再沿机器人末端坐标系x轴平移距离dm,平移后的机器人末端相对于基座坐标系的姿态与第一个旋转点处的姿态相同。
[0057]
步骤四、采集程序采集并存储每个位姿的视觉传感器202数据和机器人末端位姿数据。
[0058]
步骤五、计算模块根据视觉传感器202数据和机器人位姿数据、传感器内参和配置的数据进行标定计算。
[0059]
其中,标定计算的流程为:
[0060]
a1计算模块根据视觉传感器202数据、传感器内参计算得到标定板103在传感器坐标系中的位姿
camhcal_1

camhcal_k 1

[0061]
a2计算模块根据旋转点的
camhcal_1

camhcal_k
中的标定板三轴位置拟合出末端旋转中心在传感器坐标系中的x'、y'坐标和修正偏移值(数据配置中的dz)后的z'轴坐标。再由式(5)推导出末端旋转中心在第1个旋转点的标定板坐标系中的三轴坐标x、y、z。
[0062][0063]
a3因为标定板103平面和机器人末端平面由夹具保持平行,即机器人末端在标定板坐标系中的位姿
calhtool
中角度rx、ry已由夹具固定成180
°
和0
°
,可根据移动后的标定板103在第1个旋转点位的标定板坐标系中的坐标x"、y"推导出末端坐标系绕第1个旋转点的标定板坐标系的z轴旋转的角度rz。
[0064]
rz=arctan(y",x")(6)
[0065]
a4位姿的六个自由度都已完全确定,可得
[0066][0067]
即可得
[0068]
a5根据推导公式
[0069][0070]
求得手眼位姿关系,其中
basehtool_1

camhcal_1
表示第一个旋转点时的机器人末端位姿和标定板103在传感器坐标系中的位姿。
[0071]
步骤六、输出标定结果。
[0072]
表1和表2为使用传统“两步法”手眼标定方法和本发明手眼标定方法的多次标定结果的重复性误差对比,可知本发明手眼标定方法标定的精度高于传统“两步法”手眼标定方法。
[0073]
表1
[0074]
次数x/mmy/mmz/mmrx/degry/degrz/deg1-670.66198791.242691907.095215-179.5006477-5.885947813-94.831643882-670.53558388.7947159907.814209-179.5701346-5.735943871-94.697131253-670.04669287.9692612910.195679-179.5559869-5.843908238-94.83104424-670.60736187.6039352904.950012-179.503703-5.742297814-94.716242785-670.87335288.0241165904.402222-179.5374535-5.712267935-94.88579189均方差0.3056916061.471629582.3332579780.0309454420.0761187880.081595887
[0075]
表2
[0076]
次数x/mmy/mmz/mmrx/degry/degrz/deg1-670.061987586.35911316904.0624581-179.453182-5.542808132-94.595588312-670.143742286.40820869904.0843259-179.4519771-5.541413243-94.598696283-669.768920386.77170359904.0486354-179.458659-5.561155152-94.697807754-670.269242686.39566523904.0783092-179.4542272-5.533462448-94.517314655-670.009067786.58273952904.0819924-179.4537929-5.544838025-94.62852438均方差0.1855250180.1730378560.0152058290.0025439370.0101421070.065096599
[0077]
如图5所示,本发明实施例提供一种机器人手眼标定装置300,用于对视觉传感器设置在机器人外的机器人进行手眼标定;包括:
[0078]
配置模块301,用于输入标定好的传感器内参;输入通过标定板夹具101固定的标定板在机器人末端坐标系内的部分位姿参数:标定板表面到机器人末端表面之间的距离dz、机器人末端在标定板坐标系中的位姿角度rx、ry;输入合适的机器人末端移动的距离dm和旋转位姿采样点的个数k或个数k和使其不会造成运动干涉的旋转角度。
[0079]
控制模块302,用于根据配置的数据以及当前机器人末端位姿自动规划位姿队列并控制机器人进行变换位姿,位姿队列排列为先走绕机器人末端z轴的一系列旋转点再在末端的o
xy
平面内平移一段距离,平移后的机器人末端相对于基座坐标系的姿态与第一个旋转点处的姿态相同。
[0080]
采集模块303,用于采集并存储每个位姿的视觉传感器数据和第一个旋转点的机器人末端位姿数据。
[0081]
计算模块304,根据视觉传感器数据和机器人位姿数据、传感器内参和配置的数据进行标定计算。
[0082]
机器人手眼标定装置的各个部分的操作和功能的细节例如可以与参照结合图1-4所描述的本公开的机器人手眼标定方法的实施例的相关部分相同或类似,这里不再详细描述。
[0083]
在此需要说明的是,图5所示的机器人手眼标定装置及其组成单元的结构仅仅是示例性的,本领域技术人员可以根据需要对图5所示的结构框图进行修改。
[0084]
上面的机器人手眼标定装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
[0085]
在本公开中,机器人手眼标定装置可以利用电子设备400实现。计算设备可以包括至少一个处理器402,处理器执行在计算机可读存储介质(即,存储器401)中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
[0086]
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器进行本公开的各个实施例中以上结合图1-4描述的各种操作和功能。
[0087]
根据一个实施例,提供了一种机器可读存储介质。该机器可读存储介质可以具有机器可执行指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-4描述的各种操作和功能。
[0088]
根据一个实施例,提供了一种计算机程序产品,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行本公开的各个实施例中以上结合图1-4描述的各种操作和功能。
[0089]
以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员
来说,在不脱离发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献