手眼标定原理ur5_手眼标定实现「建议收藏」

手眼标定原理ur5_手眼标定实现「建议收藏」手眼标定基于Tsai的两步法标定,是经典的Ax=xB求解模型。Tsai的两步法标定是基于径向校正约束;第一步:利用最小二乘法求解线性方程组,得出相机的外参数;第二步:根据获得的相机外参数,求取相机的内参数;如果无透视畸变,可以使用一个线性方程求出。罗第6、7章;特别:P164-166)1.手眼标定就是对机械手和相机的位置关系进行标定,这样根据识别得到的像素位置去引导机械手去抓取。2.eye-…

大家好,又见面了,我是你们的朋友全栈君。

手眼标定基于Tsai的两步法标定,是经典的Ax = xB 求解模型。

Tsai的两步法标定是基于径向校正约束;第一步:利用最小二乘法求解线性方程组,得出相机的外参数;第二步:根据获得的相机外参数,求取相机的内参数;如果无透视畸变,可以使用一个线性方程求出。

罗第6、7章;特别:P164-166)

1.手眼标定就是对机械手和相机的位置关系进行标定,这样根据识别得到的像素位置去引导机械手去抓取。

2.eye-in-hand:通过相机标定确定相机坐标系和世界坐标系之间的关系;即P&&R。这时如果知道相机坐标系和机械手基础坐标系之间的关系,即可得到物体在机械手坐标系中的坐标。

3.eye-to-hand:通过相机标定确定相机坐标系和世界坐标系之间的关系;即P&&R;因为相机和机械手基础坐标系之间的关系是固定的,即:只要求出相机坐标系在基础坐标系中的位置,即可获得物体在机械手基础坐标系中的位置。

****************手眼标定执行流程

**创建数据模型

create_calib_data (‘calibration_object’, 1, 1, CalibDataID)

***设置相机参数

set_calib_data_cam_param (CalibDataID, 0, ‘area_scan_division’, [])

**设置标定板描述文件

set_calib_data_calib_object (CalibDataID, 0, ‘calplate.cpd’)

**循环读取标定板图像

for index := 1 to 10 by 1

read_image (Image, ‘fabrik’)

*读取机械手法兰盘在基础坐标系中的位置姿态

read_pose (‘campose.dat’, Pose)

*将机械手法兰盘在基础坐标系中的位置姿态添加到标定数据模型中

set_calib_data (CalibDataID, ‘model’, ‘general’, ‘reference_camera’, Pose)

**获取标定对象,并添加到数据模型中

find_calib_object (Image, CalibDataID, 0, 0, 0, [], [])

*获得世界坐标系和相机坐标系的相对位置关系

get_calib_data_observ_pose (CalibDataID, 0, 0, 0, ObjInCameraPose)

endfor

calibrate_hand_eye (CalibDataID, Errors)

*获得机械手基础坐标系在摄像机坐标系下的坐标

get_calib_data (CalibDataID, ‘camera’, 0, ‘params’, DataValue)

**获得摄像机坐标系在机械手基础坐标系下的坐标

pose_invert (ObjInCameraPose, PoseInvert)

*根据摄像机在机械手基础坐标系下的姿态和目标在摄像机坐标系下的姿态,求解目标在摄像机基础坐标系下的姿态

pose_compose (PoseInvert, PoseInvert, PoseCompose)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138614.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 男生喜欢收到女朋友什么样的礼物?

    男生喜欢收到女朋友什么样的礼物?首先你的男朋友不抽烟、不喝酒,这个习惯还是挺好的。其实每个人都有爱好的一方面,你可以根据他平时的爱好所选择。根据你提问的文字中,说到了女朋友三个字,我想你们应该是恋爱了吧。既然已经在一起了,那你就应该知道他的兴趣爱好啊。如果不知道,也可以问他一下,不要直接问,用需要去套他的话。那说到男生喜欢收到什么礼物,我认为只要是自己女朋友送的,男生都应该喜欢,因为他明白,你是有这份心意的,在你心里也是有份量的。其次,就是刚才说的“对症下药。”你要先明白你送礼物的目的是什么?如果你们还没在一起,只是你

    2022年7月25日
    9
  • CTK的编译「建议收藏」

    CTK的编译「建议收藏」CTK的编译CTK主要是一个基于QT的GUI开发框架,用于医学成像、外科导航等相关的项目。典型的应用就是3DSclier。在医学图像的软件开发中,ctk通常和vtk、ITK等开源库一起使用。一些编译的问题在CTK中编译QT的5.10等较高版本时可能遇到的问题:(1)VTK编译错误CTK默认下载的VTK版本比较旧,编译过程可能会遇到C++语法方面的错误,这时可以更改Git中下载的VT…

    2022年6月5日
    25
  • 自用知识_实用小知识

    自用知识_实用小知识1异步内部类privateHandlerhandler=newHandler(){                  @OverridepublicvoidhandleMessage(Messagemsg){                           if(msg.obj!=null&&listener!=null){

    2022年10月29日
    0
  • Java静态全局变量与全局变量的区别[通俗易懂]

    Java静态全局变量与全局变量的区别[通俗易懂]Static全局变量与普通的全局变量有什么区别?答:  全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个原文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量…

    2022年10月23日
    0
  • SpringSecurity(十三)—-基于注解的访问控制

    SpringSecurity(十三)—-基于注解的访问控制

    2020年11月12日
    253

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号