双目标定,手眼标定,末端标定

双目标定

工业上经常需要对双目相机进行标定,双目标定是进行机械臂手眼标定和末端标定的基础,准确的双目相机参数对机械臂的精准控制至关重要。
双目标定不仅需要标定出两个相机的内参畸变参数,关键还要获得两个相机之间的相对位置
假设标定板上某个点在世界系下的坐标 P w P_w Pw,对应相机系的坐标为 P l , P r P_l,P_r PlPr,右相机相对于左相机旋转平移矩阵为 R , T R,T RT,该点相对于左相机的旋转平移矩阵为 R l , T l R_l,T_l RlTl,相对于右相机的旋转平移矩阵为 R r , T r R_r,T_r RrTr,对于左右相机显然有
P l = R l ∙ P w + T l P r = R r ∙ P w + T r P_l=R_l∙P_w+T_l \\ P_r=R_r∙P_w+T_r Pl=RlPw+TlPr=RrPw+Tr
消去 P w P_w Pw,有
( R l ) − 1 ∙ ( P l − T l ) − ( R r ) − 1 ∙ ( P r − T r ) = 0 (R_l)^{-1}∙(P_l-T_l )-(R_r )^{-1}∙(P_r-T_r )=0 (Rl)1(PlTl)(Rr)1(PrTr)=0
同乘 R r R_r Rr并移项可得
P r = R r ( R l ) − 1 P l + T r − R r ( R l ) − 1 T l P_r=R_r (R_l)^{-1} P_l+T_r-R_r (R_l)^{-1} T_l Pr=Rr(Rl)1Pl+TrRr(Rl)1Tl
另外有
P r = R P l + T P_r=RP_l+T Pr=RPl+T
因此可知 R = R r ( R l ) − 1 , T = T r − R r ( R l ) − 1 T l R=R_r (R_l)^{-1},T=T_r-R_r (R_l)^{-1} T_l R=Rr(Rl)1,T=TrRr(Rl)1Tl。而 R l , T l , R r , T r R_l,T_l,R_r,T_r RlTlRrTr,均为已知量,据此可以计算得出双目相机的变换矩阵,之后再进行多次优化求解出更准确的参数。

手眼标定

一般在双目相机标定完成后,进行手眼标定。
定义四个坐标系:基础坐标系(用 b a s e base base表示)、机械手坐标系(用 t o o l tool tool表示)、相机坐标系(用 c a m cam cam表示)、标定物坐标系(用 c a l cal cal表示)。对坐标系之间的转换关系进行如下说明: b a s e H t o o l baseHtool baseHtool表示机械手坐标系到基础坐标系的转换关系,可以由机器人系统中得出; t o o l H c a m toolHcam toolHcam表示相机坐标系到机械手坐标系的转换关系;这个转化关系在机械手移动过程中是不变的; c a l H c a m calHcam calHcam表示相机坐标系到标定板坐标系的转换关系(相机外参); b a s e H c a l baseHcal baseHcal表示标定板坐标系到基础坐标系的变换,只要机械手和标定板的相对位置不变,这个变换矩阵不发生变化。
假设机械臂处于 X X X以及 Y Y Y位置,可以计算:
P b a s e = b a s e H t o o l ( X ) ∗ t o o l H c a m ∗ c a l H c a m ( X ) − 1 ∗ P c a l P b a s e = b a s e H t o o l ( Y ) ∗ t o o l H c a m ∗ c a l H c a m ( Y ) − 1 ∗ P c a l P_{base}=baseHtool(X)*toolHcam*calHcam(X)^{-1}*P_{cal} \\ P_{base}=baseHtool(Y)*toolHcam*calHcam(Y)^{-1}*P_{cal} Pbase=baseHtool(X)toolHcamcalHcam(X)1PcalPbase=baseHtool(Y)toolHcamcalHcam(Y)1Pcal
这两个公式代表从标定物体的位姿转到相机系,在转到机械手系,再转到机器人基坐标系的过程,
因为 b a s e base base c a l cal cal坐标系是固定的,所以 b a s e H c a l baseHcal baseHcal不改变,所以
b a s e H c a l = b a s e H t o o l ( X ) ∗ t o o l H c a m ∗ c a l H c a m ( X ) − 1 ∗ P c a l = b a s e H t o o l ( Y ) ∗ t o o l H c a m ∗ c a l H c a m ( Y ) ( − 1 ) ∗ P c a l baseHcal=baseHtool(X)*toolHcam*calHcam(X)^{-1}*P_{cal} \\ = baseHtool(Y)*toolHcam*{calHcam(Y)}^(-1)*P_{cal} baseHcal=baseHtool(X)toolHcamcalHcam(X)1Pcal=baseHtool(Y)toolHcamcalHcam(Y)(1)Pcal
b a s e H t o o l ( ∗ ) baseHtool(*) baseHtool() A ( ∗ ) A(*) A() c a l H c a m ( ∗ ) calHcam(*) calHcam() B ( ∗ ) B(*) B() t o o l H c a m 为 X toolHcam为X toolHcamX,所以有
A X = X B AX=XB AX=XB
A A A B B B均为已知量,故可以求解 X X X得到手眼变换矩阵

末端TCP标定

工业机器人末端工具中心点 (TCP) 是机器人实际的运动轨迹,在完成双目和手眼标定后,还需要对末端机构进行标定,即求得TCP到机械臂手的偏移向量 P e P_e Pe。设末端工具中心点 P P P,根据手眼标定结果 t o o l H c a m toolHcam toolHcam为已知量, P P P在双目视觉传感器下的坐标为 P c P_c Pc,由空间转换关系可知
[ P c 1 ] T = t o o l H c a m ∙ [ P e 1 ] T [P_c \quad 1]^T=toolHcam ∙[P_e \quad 1]^T [Pc1]T=toolHcam[Pe1]T
根据此公式即可求解

手眼和末端标定过程了解不多,这里仅是个人理解

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MATLAB手眼标定是指通过使用MATLAB编程语言和工具对机器人系统的手部和眼睛部分进行标定的过程。手眼标定是机器人领域中非常重要的一个任务,用于确定机器人手和眼之间的准确变换关系。 MATLAB提供了一些用于手眼标定的工具和函数,使得标定过程更加简单和高效。在进行手眼标定之前,需要确定机器人系统所使用的传感器类型和变换模型。之后,根据具体的标定需求,可以选择合适的手眼标定方法,如眼指标定法、手指标定法等。 在MATLAB中,可以使用`rigidBodyTree`和`rigidBodyTreeAssembler`函数来构建机器人系统的刚体树模型,包括手和眼之间的关联。通过添加刚体、连接关节和定义变换矩阵等参数,可以创建机器人系统的模型。 接下来,需要准备一组已知的手眼变换对,这些变换对包括机器人手和眼之间的真实相对位姿。可以通过移动机器人手的工具或根据已知的位置和姿态来获得这些变换对。 然后,可以使用`estimateHandEye`函数进行手眼标定。此函数使用最小二乘法来估计机器人手和眼之间的变换关系,从而得到准确的标定结果。函数的输入参数包括已知的手眼变换对以及其他相关参数,如运动个数、测量噪声等。 最后,根据`estimateHandEye`函数的输出结果,可以得到机器人手和眼之间的准确变换关系,从而实现准确的手眼标定。这个过程可以帮助机器人系统在实际应用中更准确地感知和操作环境。 总之,MATLAB提供了方便的工具和函数来实现机器人系统的手眼标定。通过使用这些功能,可以高效地完成机器人系统的手眼标定任务,并提高机器人系统在实际应用中的准确性和可靠性。 ### 回答2: Matlab手眼标定是指通过计算机软件Matlab,使用输入的手臂运动和相机视觉数据,来估计手臂和相机之间的变换矩阵,从而实现手眼坐标系的标定。这种标定技术常用于机器人的视觉引导、物体抓取、定位等应用中。 在进行Matlab手眼标定时,首先要确定两个坐标系:手臂坐标系和相机坐标系。然后,通过让手臂在不同位置和姿态下移动,并使用相机拍摄对应位置的物体或标定板图像,来获得一系列手臂和相机之间的运动关系数据。这些数据可以包括手臂末端执行器的位姿和相机视觉数据,例如图像上的特征点坐标或角度信息。 在实现标定过程中,Matlab提供了一些函数和工具箱,例如MATLAB Camera Calibration Toolbox,可以辅助处理图像和运动数据,并计算出手臂和相机之间的变换关系。具体的手眼标定算法可以使用最小二乘法、标定板法或棋盘格法等方法。这些算法可以根据用户的实际需求和具体情况选择。 Matlab手眼标定的输出结果通常是一个变换矩阵,它描述了手臂和相机坐标系之间的位移和旋转关系。这个矩阵可以被应用在机器人操作中,使得机器人能够根据相机的视觉信息进行目标物体的定位、抓取等任务。 总结起来,Matlab手眼标定是一种应用Matlab软件进行手臂和相机之间坐标系关系确定的技术。通过手臂和相机的运动和视觉数据,计算出其间的变换矩阵,以实现机器人的视觉引导和相关操作。 ### 回答3: 在机器人研究和应用中,手眼标定是一项重要的任务,用于确定机器人末端执行器与相机之间的准确转换关系。MATLAB是一种常用的科学计算软件,在手眼标定中也可以使用MATLAB进行数据处理和计算。 手眼标定的基本原理是通过采集一系列运动学标定数据,来计算出机器人末端执行器与相机之间的转换关系矩阵。这个矩阵可以描述机器人末端执行器在世界坐标系下的位置和姿态与相机在图像坐标系下的位置和姿态之间的关系。手眼标定的目标是求解出这个矩阵。 首先,收集一组运动学标定数据。这些数据包括机器人末端执行器的位置和姿态以及相机拍摄到的对应图像。这些数据可以通过安装相机的平台来精确控制机器人的运动。 然后,使用MATLAB来处理这些数据。首先,需要对图像进行特征提取和匹配,以获取机器人末端执行器在图像中的位置和姿态。然后,将机器人末端执行器的位置和姿态与对应的图像位置进行配对。 接下来,使用一个手眼标定算法来计算出机器人末端执行器与相机之间的转换关系矩阵。这个算法可以利用利用标定数据中的位置和姿态信息,以及图像中的位置信息,来估计这个矩阵。MATLAB提供了很多用于计算和优化的函数,可以帮助快速求解这个问题。 最后,使用得到的转换关系矩阵,在实际应用中实现机器人和相机之间的准确配准。可以利用这个矩阵来计算机器人末端执行器在世界坐标系下的位置和姿态,以及相机在图像坐标系下的位置和姿态。 总之,MATLAB提供了强大的数据处理和计算功能,可以用于解决手眼标定中的问题。通过收集运动学标定数据,使用MATLAB进行数据处理和计算,可以得到机器人末端执行器与相机之间的准确转换关系,从而实现精确的机器人和相机配准。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值