手眼标定的两种方式

手眼标定的两种方式最近在学习手眼标定,做下笔记,和大家分享下学习经历:一手眼标定的两种情形首先讲一下在工业应用中,手和眼(摄像机)的两种位置关系,第一种是将摄像机(眼)固定在机械手(手)上面,眼随手移动;第二种是摄像机(眼)和机械手(手)分离,眼的位置相对于手是固定的,下面用网上的两张图来说明下:第一种情况:相机移动第二种情况:相机固定从上面两副示意图可以看出,第一种情况中我们

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

最近在学习手眼标定,做下笔记,和大家分享下学习经历:

一 手眼标定的两种情形

首先讲一下在工业应用中,手和眼(摄像机)的两种位置关系,第一种是将摄像机(眼)固定在机械手(手)上面,眼随手移动;第二种是摄像机(眼)和机械手(手)分离,眼的位置相对于手是固定的,下面用网上的两张图来说明下:

手眼标定的两种方式手眼标定的两种方式

第一种情况:相机移动

手眼标定的两种方式手眼标定的两种方式

第二种情况:相机固定

从上面两副示意图可以看出,第一种情况中我们要求的是相机坐标系和机械手坐标系的转化关系;第二种情况中要求的是相机坐标系和基础坐标系的关系;下面分别阐述其求解过程。

二 相机移动时,标定求解过程

在推导过程中,我们会用到四个坐标系,分别是基础坐标系,机械手坐标系,相机坐标系,以及标定物坐标系,下面先给出示意图:

手眼标定的两种方式手眼标定的两种方式

坐标系示意图

其中baseHcal表示基础坐标系到标定物坐标系的转化关系,包括旋转矩阵和平移向量;camHtool表示相机坐标系到机械手坐标系的转化关系;这两个转化关系在机械手移动过程中是不变的;camHcal可以由相机标定求出;baseHtool可以由机器人系统中得出。

接下来控制机器手从位置 1 移动到位置 2:

base = baseHtool (1)* tool(1)

tool(1) = inv(camHtool)*cam(1)

cam(1) = camHcal(1)*obj

联合上面三个公式:

base = baseHtool (1)* inv(camHtool)* camHcal(1)*obj

移动到机械手臂到位置2后:

base = baseHtool (2)* inv(camHtool)* camHcal(2)*obj

因为base和obj是固定的所以:

baseHtool (1)* inv(camHtool)* camHcal(1)=baseHtool (2)* inv(camHtool)* camHcal(2)

其中只有camHtool是未知量,具体求解过程将放在下篇文章。

三 相机固定时,标定求解过程

手眼标定的两种方式

手眼标定的两种方式

坐标系示意图


对于固定相机的情况,还是控制机械手从位置1移动到位置2:


obj(1) = inv(camHcal(1)) *cam
cam = camHbase *base
base = baseHtool(1) * tool(1)
合并上面三个公式:
obj(1) = inv(camHcal(1))  * camHbase* baseHtool(1) *tool(1)

移动到位置2后:
obj(2) = inv(camHcal(2))  * camHbase* baseHtool(2) *tool(2)

因为obj和tool的相对位置是不变的,所以不管怎么移动:
inv(camHcal(1))  * camHbase* baseHtool(1)= inv(camHcal(2))  * camHbase* baseHtool(2)


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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131847.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Apache struts2 namespace远程命令执行—CVE-2018-11776(S2-057)漏洞复现

    Apache struts2 namespace远程命令执行—CVE-2018-11776(S2-057)漏洞复现S2-057漏洞产生于网站配置xml的时候,有一个namespace的值,该值并没有做详细的安全过滤导致可以写入到xml上,尤其url标签值也没有做通配符的过滤,导致可以执行远程代码以及系统命令到服务器系统中去。启动环境后,在Win10上访问http://IP:port/struts2-showcase1.构建Payload:访问:http://your-ip:8080/struts2-showcase/$%7B233*233%7D/actionChain1.action.

  • poj 2762 Going from u to v or from v to u? (推断它是否是一个薄弱环节图)

    poj 2762 Going from u to v or from v to u? (推断它是否是一个薄弱环节图)

  • c语言入门教程–-11递归

    c语言入门教程–-11递归

  • DeepFake技术–Deepfakes教程及各个换脸软件下载

    DeepFake技术–Deepfakes教程及各个换脸软件下载Deepfakes目前用于深度换脸的程序基本都是用python编程语言基于tensorflow进行计算。以下列出几款常用的换脸程序优缺点浅析,用户可以根据自己的爱好和水平来选择,以下软件均需要先安装windows版本的VS2015,CUDA9.0和CuDNN7.0.5(fakeapp教程,deepfakes视频deepfakes中文站(deepfakes.com.cn))下面几个程序的对比…

  • html设置ie9兼容性视图,ie9浏览器设置兼容性视图在哪里设置「建议收藏」

    html设置ie9兼容性视图,ie9浏览器设置兼容性视图在哪里设置「建议收藏」当您在使用IE9打开为早期IE版本所设计的网页时,可能会无法正常浏览。此时您可以尝试一下IE的兼容性视图功能来解决这个问题。下面由学习啦小编为你整理了ie9浏览器设置兼容性视图在哪里设置的相关方法,希望对你有帮助!ie9设置兼容性视图的方法和步骤如下该方法同样适用于Windows8中的IE10浏览器版本。当我们在IE9中浏览到显示不正常的网站时,我们可以点击如下图中的兼容性视图的图标,然后我们…

  • jquery与vue区别_学jquery还是vue

    jquery与vue区别_学jquery还是vue仅仅从自己使用经验来说下感受。1,vue是一个前端框架,jquery是javacript库,封装了一些js常用的方法,仅此而已。vue有成熟的生态链,mvvm模式,是一个真正的web框架。表现在:1:vue有固定的写法和规定,必须要有一个div来作为容器,绑定事件方法,数据都有固定的地方,数据要写在data里面,方法要写在methods里面。而且绑定事件在dom元素标签上绑定,防止时间太…

发表回复

您的电子邮箱地址不会被公开。

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