matlab 并联机械臂_机器人手眼标定MATLAB及C++实现(二十九)

本文详细介绍了机器人手眼标定的原理,包括Eye-In-Hand和Eye-To-Hand两种场景,并通过MATLAB和C++算法源代码展示了Tsai-Lenz方法的实现过程,用于确定摄像头与机械臂的坐标转换关系。
摘要由CSDN通过智能技术生成

一、概论

现在的机器人少不了有各种传感器,传感器之间的标定是机器人感知环境的一个重要前提。所谓标定,是指确定传感器之间的坐标转换关系。由于标定的传感器各异,好像没有特别通用的方法。

手眼标定法是标定摄像头与机械臂的一个经典方法,不过这个思想也适用于其他传感器,比如自动驾驶中激光雷达与摄像头之间的标定,比如东京大学的这篇工作《LiDAR and Camera Calibration using Motion Estimated by Sensor Fusion Odometry》。

手眼标定法的核心公式只有一个, d0b0243f-0f49-eb11-8da9-e4434bdf6706.svg ,这里的 X 就是指手(机械臂末端)与眼(摄像头)之间的坐标转换关系。下面结合机械臂的两种使用场景,讲一下这个公式的由来。

用Base表示机械臂的底座(可以认为是世界坐标系),用End表示机械臂的末端,用Camera表示摄像头,用Object表示标定板。

  • Eye-In-Hand

033ffdbefdb9f4f7b1d541e88102d28b.png

所谓Eye-In-Hand,是指摄像头被安装在机械臂上。此时要求取的是,End到Camera之间的坐标转换关系,也就是d3b0243f-0f49-eb11-8da9-e4434bdf6706.svg。这种情况下,有两个变量是不变的:

  1. 摄像头与机械臂末端之间的坐标转换关系不变,也就是说, d4b0243f-0f49-eb11-8da9-e4434bdf6706.svg 始终不变;

  2. 标定板与机械臂底座之间的坐标转换关系不变,也就是说, d5b0243f-0f49-eb11-8da9-e4434bdf6706.svg 也是不变的。

d5b0243f-0f49-eb11-8da9-e4434bdf6706.svg按照前后两次运动展开,有

d7b0243f-0f49-eb11-8da9-e4434bdf6706.svg

d8b0243f-0f49-eb11-8da9-e4434bdf6706.svg

就得到了

d0b0243f-0f49-eb11-8da9-e4434bdf6706.svg

也就是,如果能够计算移动前后,机械臂末端的坐标变换关系 dab0243f-0f49-eb11-8da9-e4434bdf6706.svg 以及相机的坐标变换关系 dbb0243f-0f49-eb11-8da9-e4434bdf6706.svg ,即可求出机械臂末端到相机之间的坐标变换关系 dcb0243f-0f49-eb11-8da9-e4434bdf6706.svg 。

  • Eye-To-Hand

37220585cf60ae9e7ec7f03c12fc4166.png

所谓Eye-To-Hand,是指摄像头被安装在一个固定不动的位置,而标定板被拿在机械臂手上。此时要求取的是,Base到Camera之间的坐标转换关系,也就是deb0243f-0f49-eb11-8da9-e4434bdf6706.svg。这种情况下,有两个变量是不变的:

  1. 摄像头与机械臂底座之间的坐标转换关系不变,也就是说, dfb0243f-0f49-eb11-8da9-e4434bdf6706.svg 始终不变;

  2. 标定板与机械臂末端之间的坐标转换关系不变,也就是说, 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值