手眼标定理解「建议收藏」

手眼标定理解「建议收藏」参考:https://blog.csdn.net/yaked/article/details/77161160?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control什么是手眼标定手眼标定是为了得到相机坐标系

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

参考:https://blog.csdn.net/yaked/article/details/77161160?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control

什么是手眼标定

手眼标定是为了得到相机坐标系与机器人坐标系之间的位姿关系,包括两种:eye in hand (相机安装在机械臂末端)和eye to hand (相机安装在机械臂外侧)。

手眼标定的目的

在机械臂抓取时,往往需要知道抓取目标与机械臂之间的位置关系,使用相机获得抓取目标的位置是有效的方法。
但是单纯使用相机得到的目标点位置是在相机坐标系下的位置,而抓取任务要得到的是目标点与机械臂之间的位置,因此这中间需要通过一些方法获得相机与机械臂之间的位置关系,从而实现目标点从相机坐标系到机械臂坐标系的转换。手眼标定正是用来获得相机与机械臂之间位置关系的一种方法。
简单讲,已知目标点A与相机B之间的坐标关系(相机获得),想要得到机械臂C与目标点A之间的坐标关系,就必须得到相机B与机械臂C之间的位置关系。

eye in hand

这种方式的手眼标定是通过两次运动解得相机坐标系(Camera)与机械臂末端坐标系(End)之间的坐标关系。
注意:
1、机械臂末端(End)在机器人(Base)坐标系下的坐标是可以通过机械臂各个关节的角度值直接解算出来的。
2、标定是通过两次改变机械臂末端(相机)位置来解算的,这整个过程中标定板(Object)相对是机器人(Base)的位置是固定不变的。(实际上,并不需要知道标定板与机器人(Base)的具体位置关系)。下面等式成立的条件就是两个不同位姿下标定板与机器人位置不变。
在这里插入图片描述

eye to hand

这种方法的手眼标定是通过两次运动解得相机坐标系(Camera)与机器人坐标系(Base)之间的坐标关系。
注意:
1、机械臂末端(End)在机器人(Base)坐标系下的坐标是可以通过机械臂各个关节的角度值直接解算出来的。
2、标定是通过两次改变机械臂末端(标定板)位置来解算的,这整个过程中标定板(Object)相对机械臂末端(End)的位置是固定不变的。(实际上,并不需要知道标定板与机械臂末端(End)的具体位置关系)。下面等式成立的条件就是两个不同位姿下标定板与机械臂末端位置不变。

在这里插入图片描述

AX=XB问题的求解

实际上,求解的只是一个固定的6自由度的位置姿态关系,可以用3X3的旋转矩阵和3X1的平移矩阵表示,也可以用其他方法表示如用四元数表示角度关系等。

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

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

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

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

(0)
blank

相关推荐

  • java在线编辑_十大在线编译器(IDE),干货收藏!

    java在线编辑_十大在线编译器(IDE),干货收藏!文章来源:网络整理:薛定谔的coding猫1.CodeSandbox(基于React的在线代码沙盒平台)①主流的脚手架都支持,比如在线create-react-app,vue-cli等(在线fork修改),支持github登录(项目导入),也支持cli上传例子,例子可以在线访问和下载,当然也支持内嵌到其他博客等网页中。②地址:https://codesandbox.i…

  • python中的换行符是什么_python的换行符是什么?_后端开发

    python中的换行符是什么_python的换行符是什么?_后端开发python换行符是什么?python换行符是“\n”。Windows换行符是’\r\n’,Unix/Linux的换行符为’\n’,Mac的换行符为’\r’,在python中,对换行符举行了一致处置惩罚,定义为“\n”。运用“\”举行换行输入:1、在python中,Python用反斜线(“\”)作为续行符(换行符),这里以python3.5为例。起首运转终端或许cmd敕令行(windows…

    2022年10月19日
  • redis 乐观锁_什么时候用乐观锁

    redis 乐观锁_什么时候用乐观锁文章目录GeospatialHyperloglogBitmapsRedis事务悲观锁和乐观锁JedisSpringboot继承RedisGeospatial存储地理位置的数据结构应用场景朋友的定位,附近的人,打车距离计算Geospatial底层使用的是Zset127.0.0.1:6379> geoadd city 116.23 40.22 beijing 添加一个数据127.0.0.1:6379> geoadd city 121.47 31.23 shanghai 118.77

  • 树莓派能做什么_使用树莓派做两轮自平衡车(一)

    树莓派能做什么_使用树莓派做两轮自平衡车(一)为什么要用树莓派做平衡车呢?原因主要有下面几点:第一,我不忍心再让它吃灰了;第二,我想学习linux的应用开发;第三,我想学习linux的驱动开发;第四,树莓派可玩性和可扩展性高;第五,切实体会下嵌入式linux开发与裸机开发的区别,对比一下它们的优缺点;第六,看看自己到底能不能做出个东西来。基于以上原因,我拿出了尘封已久的树莓派开干了。材料清单:树莓派(3,4,zero应该都行)…

  • PhpSpreadsheet_php file_put_contents

    PhpSpreadsheet_php file_put_contentsSpreadsheet支持excel函数公式使用<?php namespaceapp #给类文件的命名空间起个别名 usePhpOffice\PhpSpreadsheet\Spreadsheet; #Xlsx类将电子表格保存到文件 usePhpOffice\PhpSpreadsheet\Writer\Xlsx; #实例化Spreadsheet对象 $spreadsheet=newSpreadsheet(); #获取活动工作薄 $sheet=$

  • Springboot整合shiro_spring boot框架介绍

    Springboot整合shiro_spring boot框架介绍Shiro介绍Shiro是一款安全框架,主要的三个类Subject、SecurityManager、RealmSubject:表示当前用户SecurityManager:安全管理器,即所有与安全有关的操作都会与SecurityManager交互;且其管理着所有Subject;可以看出它是Shiro的核心,它负责与Shiro的其他组件进行交互,它相当于SpringMVC中DispatcherServlet的角色Realm:Shiro从Realm获取安全数据(如用户、角色、权限)Shiro

发表回复

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

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