1.本发明涉及一种用于双
机械臂协作的深度
相机标定技术。
背景技术:
2.随着社会进步和科学技术的不断发展变化,机器人在各行各业应用不断广泛和深入,作业环境与任务要求更具个性化、定制化、复杂化和多样性。传统的单机械臂工作模式对任务适应性存在不足,局限性愈发凸显,有的应用场合往往开始采用两个甚至多个机械臂实现单机械臂难以甚至无法实现的功能,其中双臂协作是较为常见的。而相机则是机械臂的“眼睛”,具备目标识别,定位,测量等功能。
3.深度相机指能提供彩图和深度图的相机,如realsensed435i。
手眼相机指与机械臂协同工作的相机,通常分为眼在手上和眼在手外两种情况,其中眼在手上则是指相机安装于机械臂末端工具法兰,而眼在手外则指相机不安装于机械臂身上,而是安装于周围环境。
4.眼在手上的情况中,在机械臂a上安装相机,用于引导该机械臂a工作。但在某些复杂工况中,这种眼在手上机械臂并不适用。
技术实现要素:
5.为了解决现有技术中双机械臂存在的问题,本技术提供了一种具有手眼相机的双机械臂装置及其控制方法,将安装于机械臂a上的相机c,用于引导机械臂b工作,这样能够提高工作效率,且可应用于复杂工况。
6.本技术提供了一种具有手眼相机的双机械臂装置,包括:
7.第一机械臂,其末端通过末端法兰安装有第一操作工具;
8.第二机械臂,其末端通过末端法兰安装有第二操作工具;
9.第一手眼相机,安装于第一机械臂的第一操作工具上,用于引导第二机械臂的运动。
10.在至少一个实施例中,其中,第一手眼相机为深度相机。
11.在至少一个实施例中,其中,第一手眼相机还用于引导第一机械臂的运动。
12.在至少一个实施例中,其中,还包括第二手眼相机,第二手眼相机安装于第二机械臂的第二操作工具上,用于引导第一机械臂的运动。
13.在至少一个实施例中,其中,第二手眼相机为深度相机。
14.在至少一个实施例中,其中,第二手眼相机还用于引导第二机械臂的运动。
15.在至少一个实施例中,第一机械臂和第二机械臂为六轴机械臂。
16.本技术还提供了一种双机械臂装置的控制方法,包括:
17.s1:获得第一操作工具相对于第一机械臂的末端法兰的齐次变换矩阵获得二操作工具相对于第二机械臂的末端法兰的齐次变换矩阵
18.s2:获得第一机械臂的末端法兰相对于第一机械臂基
坐标系的齐次变换矩阵
19.s3:获取第一手眼相机到第一机械臂的末端法兰的齐次变换矩阵获取第一手眼相机的内参变换矩阵m
cama
,
[0020][0021]
其中u0、v0为图像坐标系原点,f
x
,fy取决于像素大小;
[0022]
s4:获得第二机械臂的底座基坐标系相对于第一机械臂的底座基坐标系的齐次变换矩阵
[0023]
s5:测量得到目标对象在图像坐标系的位置为p
obj
(u,v),第一手眼相机在位置(u,v)下测量的深度信息值为z;
[0024]
s6:若第二机械臂需要运动至目标位置,则按下方法进行计算得到:
[0025]
s61.利用步骤s5中p
obj
(u,v)和深度信息值z,求得相机坐标系下的齐次矩阵,其中x=(u-u0)
×
z/f
x
[0026]
y=(v-v0)
×
z/fy[0027][0028]
s62.求得
[0029]
即为第二机械臂的第二操作工具运动到目标点时的位置和姿态。
[0030]
在至少一个实施例中,其中,若第一机械臂需要运动至目标位置,则按下方法进行计算得到:
[0031]
a.利用步骤s5中的p
obj
(u,v)和深度信息值z,求得相机坐标系下的齐次矩阵,其中x=(u-u0)
×
z/f
x
[0032]
y=(v-v0)
×
z/fy[0033][0034]
b.求得
[0035]
即为第一机械臂的第一操作工具运动到目标点时的位置和姿态。
[0036]
本发明将安装于机械臂a上的相机c,用于引导机械臂b工作,能够提高工作效率,可应用于复杂工况。
附图说明
[0037]
下文将以明确易懂的方式通过对优选实施例的说明并结合附图来对本技术上述特性、技术特征、优点及其实现方式予以进一步说明。以下附图仅旨在于对本技术做示意性说明和解释,并不限定本技术的范围。其中:
[0038]
图1示出了根据一个实施例的具有手眼相机的双机械臂装置;
[0039]
图2示出了根据另一个实施例的具有手眼相机的双机械臂装置;
[0040]
图3示出了根据又一个实施例的具有手眼相机的双机械臂装置。
具体实施方式
[0041]
为了对本技术的技术特征、目的和效果有更加清楚的理解,现对照附图说明本技术的具体实施方式。
[0042]
本发明的改进和创新在于:1)将安装于机械臂a上的相机c,用于引导机械臂b工作;2)相机c随着机械臂a移动,变换位置和姿态,相对机械臂b而言,相机c是一个快速移动的全局相机,相机c一次标定后,就可以在机械臂a的工作范围内任意变换位置,引导机械臂b工作;3)可以相机c检测的同时,机械臂b工作,提高工作效率;4)可应用于复杂工况。
[0043]
通常将和机械臂协同工作的相机称为手眼相机。手眼相机分为眼在手上和眼在手外。相机标定分为内参和外参。内参标定的结果与相机加工过程有关,如像素大小,偏移,畸变等。外参标定的结果与安装位置有关。眼在手上外参标定结果是相机相对于机械臂末端的旋转和平移,而眼在手外外参标定的结果是相机相对于机械臂底座基坐标系的旋转和平移。
[0044]
本发明利用标定的内外参数、机械臂正向运动学、两机械臂位姿关系,将检测目标位置转换到用于工作的机械臂基坐标系下,引导机械臂运动。
[0045]
本发明以双机械臂协作为应用场景,两机械臂分别命名为机械臂a和机械臂b,眼在手上安装方式和功能有:1)系统只有一个相机安装于机械臂a,相机用于引导机械臂a和b工作;2)系统只有一个相机安装于机械臂b,相机用于引导机械臂a和b工作;3)系统有两个相机(命名为相机c和相机d)分别安装于机械臂a和b,相机c可用于单独引导机械臂a、b工作,也可以用于引导a、b同时工作,相机d也具备同样功能。本发明应用于上述的三种安装方式和功能。
[0046]
根据本发明的一个实施例提供了一种具有手眼相机的双机械臂装置,其结构如图1所示,包括:
[0047]
第一机械臂a,其末端通过末端法兰安装有第一操作工具11,用于夹持、搬运等操作;
[0048]
第二机械臂b,其末端通过末端法兰安装有第二操作工具21,用于夹持、搬运等操作;
[0049]
手眼相机c,为深度相机,安装于第一机械臂a的第一操作工具11上,用于引导第二机械臂b的运动,可选的,还可以用于引导第一机械臂a的运动。
[0050]
本实施例提供的具有手眼相机的双机械臂装置的控制方法包括:
[0051]
s1:获得第一机械臂a的末端所安装的第一操作工具11相对于第一机械臂a的末端法兰的4
×
4齐次变换矩阵获得第二机械臂b的末端所安装的第二操作工具21相对
于第二机械臂b的末端法兰的4
×
4齐次变换矩阵
[0052]
s2:通过机械臂正向运动学或者直接从机械臂示教器获得第一机械臂a的末端法兰相对于第一机械臂基坐标系的4
×
4齐次变换矩阵,命名为
[0053]
s3:通过二维相机标定方法(如基于opencv或matlab工具箱等),结合步骤s2的机械臂数据,获取手眼相机c到第一机械臂a的末端法兰的4
×
4齐次变换矩阵—外参,命名为获取手眼相机c内参3
×
3变换矩阵m
cama
,内参矩阵与相机制造过程有关,其中u0、v0为图像坐标系原点,也就是像素坐标下的主点位置,f
x
,fy与像素大小有关。
[0054][0055]
s4:通过测量或标定等方法获得第二机械臂b底座基坐标系相对于第一机械臂a基坐标系的4
×
4齐次变换矩阵,命名为
[0056]
s5:设通过检测算法测量得到目标对象的在像素坐标系的位置为p
obj
(u,v),深度相机在(u,v)位置下测量的深度信息值为z。
[0057]
s6:若第一机械臂a需要运动至目标位置,则按下方法进行计算得到。
[0058]
a.利用步骤s5中的p
obj
(u,v)和深度信息z,求得相机坐标系下的4
×
4齐次矩阵,其中x=(u-u0)
×
z/f
x
[0059]
y=(v-v0)
×
z/fy[0060][0061]
b.利用公式求得
[0062][0063]
即为第一机械臂a的第一操作工具11运动到目标点时的位置和姿态。
[0064]
s7:若第二机械臂b需要运动至目标位置,则按下方法进行计算得到。
[0065]
a.利用步骤s5中p
obj
(u,v)和深度信息z,求得相机坐标系下的4
×
4齐次矩阵,其中x=(u-u0)
×
z/f
x
[0066]
y=(v-v0)
×
z/fy[0067][0068]
b.利用公式求得
[0069]
[0070]
即为第二机械臂b的第二操作工具21运动到目标点时的位置和姿态。
[0071]
根据本发明的又一个实施例提供了一种具有手眼相机的双机械臂装置,其结构如图2所示,包括:
[0072]
第一机械臂a,其末端通过末端法兰安装有第一操作工具11,用于夹持、搬运等操作;
[0073]
第二机械臂b,其末端通过末端法兰安装有第二操作工具21,用于夹持、搬运等操作;
[0074]
手眼相机d,为深度相机,安装于第二机械臂b的第二操作工具21上,用于引导第一机械臂a的运动,可选的,还可以用于引导第二机械臂b的运动。
[0075]
本实施例提供的具有手眼相机的双机械臂装置的控制方法包括:
[0076]
s1:获得第一机械臂a的末端所安装的第一操作工具11相对于第一机械臂a的末端法兰的4
×
4齐次变换矩阵获得第二机械臂b的末端所安装的第二操作工具21相对于第二机械臂b的末端法兰的4
×
4齐次变换矩阵
[0077]
s2:通过机械臂正向运动学或者直接从机械臂示教器获得第二机械臂b的末端法兰相对于第二机械臂基坐标系的4
×
4齐次变换矩阵,命名为
[0078]
s3:通过二维相机标定方法(如基于opencv或matlab工具箱等),结合步骤s2的机械臂数据,获取手眼相机d到第二机械臂b的末端法兰的4
×
4齐次变换矩阵—外参,命名为获取手眼相机d内参3
×
3变换矩阵m
cama
,内参矩阵与相机制造过程有关,其中u0、v0为图像坐标系原点,也就是像素坐标下的主点位置,f
x
,fy与像素大小有关。
[0079][0080]
s4:通过测量或标定等方法获得第二机械臂b底座基坐标系相对于第一机械臂a基坐标系的4
×
4齐次变换矩阵,命名为
[0081]
s5:设通过检测算法测量得到目标对象的在像素坐标系的位置为p
obj
(u,v),深度相机在(u,v)位置下测量的深度信息值为z。
[0082]
s6:若第二机械臂b需要运动至目标位置,则按下方法进行计算得到。
[0083]
a.利用步骤s5中的p
obj
(u,v)和深度信息z,求得相机坐标系下的4
×
4齐次矩阵,其中x=(u-u0)
×
z/f
x
[0084]
y=(v-v0)
×
z/fy[0085][0086]
b.利用公式求得
[0087]
[0088]
即为第二机械臂b的第二操作工具21运动到目标点时的位置和姿态。
[0089]
s7:若第一机械臂a需要运动至目标位置,则按下方法进行计算得到。
[0090]
a.利用步骤s5中p
obj
(u,v)和深度信息z,求得相机坐标系下的4
×
4齐次矩阵,其中x=(u-u0)
×
z/f
x
[0091]
y=(v-v0)
×
z/fy[0092][0093]
b.利用公式求得
[0094][0095]
即为第一机械臂a的第一操作工具1+1运动到目标点时的位置和姿态。
[0096]
根据本发明的另一个实施例提供了一种具有手眼相机的双机械臂装置,其结构如图3所示,包括:
[0097]
第一机械臂a,其末端通过末端法兰安装有第一操作工具11,用于夹持、搬运等操作;
[0098]
第二机械臂b,其末端通过末端法兰安装有第二操作工具21,用于夹持、搬运等操作;
[0099]
第一手眼相机c,为深度相机,安装于第一机械臂a的第一操作工具11上,用于引导第二机械臂b的运动,可选的,还可以用于引导第一机械臂a的运动;
[0100]
第二手眼相机d,为深度相机,安装于第二机械臂b的第二操作工具21上,用于引导第一机械臂a的运动,可选的,还可以用于引导第二机械臂b的运动。
[0101]
本实施例提供的具有手眼相机的双机械臂装置的控制方法包括:
[0102]
s1:获得第一机械臂a的末端所安装的第一操作工具11相对于第一机械臂a的末端法兰的4
×
4齐次变换矩阵获得第二机械臂b的末端所安装的第二操作工具21相对于第二机械臂b的末端法兰的4
×
4齐次变换矩阵
[0103]
s2:通过机械臂正向运动学或者直接从机械臂示教器获得第一机械臂a的末端法兰相对于第一机械臂基坐标系的4
×
4齐次变换矩阵,命名为通过机械臂正向运动学或者直接从机械臂示教器获得第二机械臂b的末端法兰相对于第二机械臂基坐标系的4
×
4齐次变换矩阵,命名为
[0104]
s3:通过二维相机标定方法(如基于opencv或matlab工具箱等),结合步骤s2的机械臂数据,获取手眼相机c到第一机械臂a的末端法兰的4
×
4齐次变换矩阵—外参,命名为获取手眼相机c内参3
×
3变换矩阵m
camac
,内参矩阵与相机制造过程有关,其中u
c0
、v
c0
为图像坐标系原点,也就是像素坐标下的主点位置,f
cx
,f
cy
与像素大小有关。获取手眼相机d到第二机械臂b的末端法兰的4
×
4齐次变换矩阵—外参,命名为获取手眼相机d内参3
×
3变换矩阵m
camad
,内参矩阵与相机制造过程有关,其中u
d0
、v
d0
为图像坐标系原点,
也就是像素坐标下的主点位置,f
dx
,f
dy
与像素大小有关
[0105][0106]
s4:通过测量或标定等方法获得第二机械臂b底座基坐标系相对于第一机械臂a基坐标系的4
×
4齐次变换矩阵,命名为
[0107]
s5:设通过检测算法测量得到目标对象的在相机c的像素坐标系的位置为p
objc
(uc,vc),深度相机在(uc,vc)位置下测量值为zc,通过检测算法测量得到目标对象的在相机d的像素坐标系的位置为p
objd
(ud,vd),深度相机在(ud,vd)位置下测量值为zd。
[0108]
s6:若第一机械臂a需要运动至第一手眼相机c下目标位置t
camac
,则按下方法进行计算得到。
[0109]
a.利用步骤s5中的s5p
objc
(uc,vc)和深度信息zc,求得相机坐标系下的4
×
4齐次矩阵,其中xc=(u
c-u
c0
)
×
zc/f
cx
[0110]
yc=(v
c-v
c0
)
×
zc/f
cy
[0111][0112]
b.利用公式求得
[0113][0114]
即为带工具的第一机械臂a运动到第一手眼相机c下目标点时的位置和姿态。
[0115]
s7:若第一机械臂a需要运动至第二手眼相机d下目标位置t
camad
,则按下方法进行计算得到。
[0116]
a.第5步p
objd
(ud,vd)和深度信息zd,求得相机坐标系下的4
×
4齐次矩阵,其中xd=(u
d-u
d0
)
×
zd/f
dx
[0117]
yd=(v
d-v
d0
)
×
zd/f
dy
[0118][0119]
b.利用公式求得
[0120][0121]
即为带工具的第一机械臂a运动到第二手眼相机d下目标点时的位置和姿态。
[0122]
s8:若第二机械臂b需要运动至第二手眼相机d下目标位置t
camad
,则按下方法进行计算得到。
[0123]
a.第5步p
objd
(ud,vd)和深度信息zd,求得相机坐标系下的4
×
4齐次矩阵,其中xd=
(u
d-u
d0
)
×
zd/f
dx
[0124]
yd=(v
d-v
d0
)
×
zd/f
dy
[0125][0126]
b.利用公式求得
[0127][0128]
即为带工具的第二机械臂b运动到第二手眼相机d下目标点时的位置和姿态。
[0129]
s9:若第二机械臂b需要运动至第一手眼相机c下目标位置t
camac
,则按下方法进行计算得到。
[0130]
a.第5步p
objc
(uc,vc)和深度信息zc,求得相机坐标系下的4
×
4齐次矩阵,其中xc=(u
c-u
c0
)
×
zc/f
cx
[0131]
yc=(v
c-v
c0
)
×
zc/f
cy
[0132][0133]
b.利用公式求得
[0134][0135]
即为带工具的第二机械臂b运动到第一手眼相机c下目标点时的位置和姿态。
[0136]
应当理解,虽然本说明书是按照各个实施例描述的,但并非每个实施例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
[0137]
以上所述仅为本技术示意性的具体实施方式,并非用以限定本技术的范围。任何本领域的技术人员,在不脱离本技术的构思和原则的前提下所作的等同变化、修改与结合,均应属于本技术保护的范围。
技术特征:
1.一种具有手眼相机的双机械臂装置,包括:第一机械臂,其末端通过末端法兰安装有第一操作工具;第二机械臂,其末端通过末端法兰安装有第二操作工具;第一手眼相机,安装于第一机械臂的第一操作工具上,用于引导第二机械臂的运动。2.根据权利要求1所述的装置,其中,第一手眼相机为深度相机。3.根据权利要求1所述的装置,其中,第一手眼相机还用于引导第一机械臂的运动。4.根据权利要求1所述的装置,其中,还包括第二手眼相机,第二手眼相机安装于第二机械臂的第二操作工具上,用于引导第一机械臂的运动。5.根据权利要求4所述的装置,其中,第二手眼相机为深度相机。6.根据权利要求4所述的装置,其中,第二手眼相机还用于引导第二机械臂的运动。7.根据权利要求1所述的装置,第一机械臂和第二机械臂为六轴机械臂。8.根据权利要求1所述的具有手眼相机的双机械臂装置的控制方法,包括:s1:获得第一操作工具相对于第一机械臂的末端法兰的齐次变换矩阵获得二操作工具相对于第二机械臂的末端法兰的齐次变换矩阵s2:获得第一机械臂的末端法兰相对于第一机械臂基坐标系的齐次变换矩阵s3:获取第一手眼相机到第一机械臂的末端法兰的齐次变换矩阵获取第一手眼相机的内参变换矩阵m
cama
,其中u0、v0为图像坐标系原点,f
x
,f
y
取决于像素大小;s4:获得第二机械臂的底座基坐标系相对于第一机械臂的底座基坐标系的齐次变换矩阵s5:测量得到目标对象在图像坐标系的位置为p
obj
(u,v),第一手眼相机在位置(u,v)下测量的深度信息值为z;s6:若第二机械臂需要运动至目标位置,则按下方法进行计算得到:s61.利用步骤s5中p
obj
(u,v)和深度信息值z,求得相机坐标系下的齐次矩阵,其中x=(u-u0)
×
z/f
x
y=(v-v0)
×
z/f
y
s62.求得即为第二机械臂的第二操作工具运动到目标点时的位置和姿态。9.根据权利要求8所述的方法,其中,若第一机械臂需要运动至目标位置,则按下方法
进行计算得到:a.利用步骤s5中的p
obj
(u,v)和深度信息值z,求得相机坐标系下的齐次矩阵,其中x=(u-u0)
×
z/f
x
y=(v-v0)
×
z/f
y
b.求得即为第一机械臂的第一操作工具运动到目标点时的位置和姿态。10.一种计算机可读存储介质,包括存储的计算机程序,其中,在所述计算机程序被处理器运行时执行权利要求8至9中任意一项所述的方法。
技术总结
本申请提供了一种具有手眼相机的双机械臂装置,包括:第一机械臂,其末端通过末端法兰安装有第一操作工具;第二机械臂,其末端通过末端法兰安装有第二操作工具;第一手眼相机,安装于第一机械臂的第一操作工具上,用于引导第二机械臂的运动。第一手眼相机为深度相机,还用于引导第一机械臂的运动。还用于引导第一机械臂的运动。还用于引导第一机械臂的运动。
技术研发人员:
黄伟 吴洪成 徐拴锋 刘大勇 郭瑞科 李宜鹏
受保护的技术使用者:
中国空间技术研究院杭州中心
技术研发日:
2022.11.10
技术公布日:
2023/2/3