手眼标定的两种方式

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

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

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

一 手眼标定的两种情形

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

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

第一种情况:相机移动

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

第二种情况:相机固定

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

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

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

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

坐标系示意图

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

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

(0)
上一篇 2022年4月30日 上午10:40
下一篇 2022年4月30日 上午10:40


相关推荐

  • MyEclipse各版本下载地址「建议收藏」

    MyEclipse各版本下载地址「建议收藏」myeclipse下载地址

    2026年4月13日
    5
  • 矩阵的计算[通俗易懂]

    矩阵的计算[通俗易懂]矩阵运算规则:矩阵与常量运算矩阵与向量运算矩阵与矩阵运算矩阵之间相乘,必须满足B矩阵列数等于A矩阵行数才能运算,矩阵与矩阵之间的计算可以拆分为矩阵与多个向量的计算再将结果组合,返回的结果为一个列数等于B矩阵、行数等于A矩阵的矩阵。矩阵加减矩阵加减必须满足矩阵之间纬度相同,返回的结果也会是一个相同纬度的矩阵。矩阵的乘法规律:不满足交换律,A×B≠B×A满足结合律,A×(B×C)=(A×B)×C满足分配率,A×(B+C)=A×B.

    2022年4月19日
    67
  • mysql redis配置文件详解_Redis配置文件redis.conf 详解

    mysql redis配置文件详解_Redis配置文件redis.conf 详解Redis配置文件redis.conf详解1.基本配置内存单位的表示#1k=>1000bytes#1kb=>1024bytes#1m=>1000000bytes#1mb=>1024*1024bytes#1g=>1000000000bytes#1gb=>1024*1024*1024bytes单位中不区分大小写1GB…

    2022年6月9日
    26
  • 新鲜出炉: IE8 beta1 的下载地址以及官方论坛

    新鲜出炉: IE8 beta1 的下载地址以及官方论坛

    2021年7月26日
    96
  • ExecuteSQL函数

    ExecuteSQL函数’传递参数SQL传递查询语句,MsgString传递查询信息。自身以一个数据集对象的形式返回PublicFunctionExecuteSQL(ByValSQLAsString,MsgStringAsString)AsADODB.Recordset DimCnnAsADODB.Connection’定义连接对象 DimRstAsADODB

    2022年5月22日
    55
  • 二分法 matlab应用,MATLAB算法の二分法[通俗易懂]

    从今起准备连续多期介绍一些常用的算法,通过不断实践“算法到程序”这一过程来学习matlab编程,久而久之就可做到熟能生巧。今天要介绍的是二分法,它是一种古老且经典的、蕴含深刻哲理的算法。我们知道现实物理世界是有限的,而抛开物理意义却又是无限可分的,而二分法就是基于这种无限可分思想,可以说它是连接有限与无限的纽带。今天主要介绍二分法在数学寻根中的应用,毕竟为的是将算法程序化。要求单调函数f(x)在区…

    2022年4月11日
    67

发表回复

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

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