经典手眼标定算法之Navy的OpenCV实现

本文介绍了Frank C. Park和Bryan J. Martin提出的Navy手眼标定算法,该算法利用李群理论解决AX=XB问题。文章详细阐述了李群的基本知识,包括指数映射和对数映射,并提供了利用这些知识求解手眼标定的最小二乘拟合方法。此外,还分享了基于OpenCV的C++实现代码。
摘要由CSDN通过智能技术生成

       在我的上一篇博客中已经介绍了Tsai的手眼标定算法,下面主要介绍Frank C. Park and Bryan J. Martin在文献Robot sensor calibration: solving AX=XB on the Euclidean group中提出的手眼标定算法,该算法也被称为Navy手眼标定算法,该算法的主要创新点为利用李群理论的知识来求解手眼标定经典方程。该算法基于OpenCV的C++版本程序可去CSDN资源下载,MATLAB版本作者为苏黎世理工的Christian Wengert,也可在此处下载。


       正如Tsai等在文献中指出的,手眼标定问题其实就是求解 AX=XB 方程问题。其中 A 为机器人末端连杆坐标架在机器人-摄像机系统移动前后的转换关系, B 为摄像机坐标架在移动前后的相对关系。Tsai指出要唯一确定手眼矩阵的各分量,至少需要旋转轴不平行的两组运动。由于在观测中一般存在噪声,因此在实际测量中一般需要多组运动来求解该方程。

       假设有多组观测值 { (A1,B1),(A2,B2),,(Ak,Bk)} ,求解 AX=XB 方程可以转化为如下最小化问题

mini=1kd(AiX,XBi)

其中, d 表示在欧式群上的距离测度。利用李群理论知识可以将上述最小化问题转化为最小二乘拟合问题,从而可以得到简单而又明确的解。下面介绍李群中的基本知识。


李群基本知识

       描述刚体运动可以用欧式群表示,由如下形式的矩阵表示:

[θ0b1]

其中, θSO(3),bR3 SO(3) 表示旋转矩阵组成的群。

       每个李群都有其对应的李代数,李群与李代数之间的转换可以由指数映射对数映射完成。由于本人数学知识比较单薄,如果读者想要继续深入理解李群和李代数知识,可以自行查阅相关文献或者书籍。在这里我就不详细介绍,只简单介绍Park文献中出现的知识。

指数映射

       李代数到李群的转换满足指数映射关系,假设 [w]so(3) ,而 exp[w]SO(3) ,则其指数映射满足罗德里格斯公式:

exp[w]=I+
  • 16
    点赞
  • 120
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值