7_手眼标定_1_一个失败的流程记录

本文介绍了OpenCV3中手眼标定的接口,包括眼在手上的标定方法,坐标系转换,以及如何获取和处理输入参数。特别强调了标定过程中需要的不同姿势和注意事项。
摘要由CSDN通过智能技术生成

c1f49ae977c1f08badc2c56b4472017a.png

1.Opencv3手眼标定接口介绍        

一些基础知识:

手眼标定分为两种:眼在手上和眼在手外。文章数据采集的是眼在手上。  

坐标系:

base:机械臂基坐标系,一般在机械臂底座,一般是机械臂的默认坐标系。

gripper:机械臂工具坐标系(实际中机械臂都需要携带工具),例子中使用机械臂法兰中心的数据,未使用工具。

cam:相机坐标系

target:标定板坐标系        

对于眼在手上,标定求解的是相机坐标系相对于机械臂末端坐标系的变换矩阵(旋转和平移)。           

官方接口说明链接:https://docs.opencv.org/3.4.18/d9/d0c/group__calib3d.html#gad10a5ef12ee3499a0774c7904a801b99

#include <opencv2/calib3d.hpp>     

void calibrateHandEye( InputArrayOfArrays  R_gripper2base,


InputArrayOfArrays  t_gripper2base,


InputArrayOfArrays  R_target2cam,


InputArrayOfArrays  t_target2cam,


OutputArray  R_cam2gripper,


OutputArray  t_cam2gripper,


HandEyeCalibrationMethod method=CALIB_HAND_EYE_TSAI );

矩阵输入参数类型都为std::vector

输入:

R_gripper2base:机械臂末端坐标系相对于机械臂基坐标系的旋转矩阵 

t_gripper2base:机械臂末端坐标系相对于机械臂基坐标系的平移矩阵 

R_target2cam:世界坐标系相对于相机坐标系的旋转矩阵 

t_target2cam: 世界坐标系相对于相机坐标系的平移矩阵 

method:使用默认的CALIB_HAND_EYE_TSAI.

输出:

R_cam2gripper:相机坐标系 相对于机械臂末端坐标系的旋转矩阵

t_cam2gripper:相机坐标系 相对于机械臂末端坐标系的平移矩阵           

R_gripper2base和t_gripper2base可直接从机械臂获取(可使用机械臂sdk),一般是位置和姿态。姿态需要知道转轴顺序,然后转成3*3旋转矩阵,这块比较好搞。

R_target2cam和t_target2cam,我给的参数是从calibrateCamera()获取的,很不幸,调用calibrateHandEye()接口得出的结果不对。这两个参数是标定板相对于相机的姿态和平移矩阵,这块是没啥疑问的。

2.一些注意点

手眼标定过程让标定板不动,改变机械手位置采集图片。Opencv官方提示:至少需要两个具有非平行旋转轴的运动。因此,至少需要 3 个不同的姿势,但强烈建议使用更多的姿势。

我的标定结果:

R_cam2gripper -->>

[1, 2.837564140486833e-18, -1.667254890538158e-17;

 -2.837564140486834e-18, 1, -1.09711802430982e-16;

 1.667254890538158e-17, 1.09711802430982e-16, 1]

t_cam2gripper mm -->>

 [14.78953261453616;

 76.66217762784608;

 35.42786758861097]

剩余的验证排查工作:

①图像上的像素点转为机械臂坐标系下的点    

转载请注明出处。

欢迎关注,记录学习过程。

f397d4fe882ea26c70e34e2c00e42741.png     

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值