当前位置:网站首页>[贴装专题] 基于多目视觉的手眼标定
[贴装专题] 基于多目视觉的手眼标定
2022-08-09 10:00:00 【丶布布】
- 博客主页:https://blog.csdn.net/weixin_43197380
- 欢迎点赞 收藏 留言 如有错误敬请指正!
- 本文由 Loewen丶原创,首发于 CSDN
- 现在的付出,都会是一种沉淀,只为让你成为更好的人
一.为什么要进行手眼标定
因为相机知道的是像素坐标,吸嘴是空间坐标系,所以手眼标定目的就是将像素坐标系的坐标和空间机械手坐标系的坐标进行相互转化。在实际控制中,相机检测到目标在图像中的像素位置后,通过标定好的坐标转换矩阵将相机的像素坐标变换到机械手的空间坐标系中,然后根据机械手坐标系计算出各个电机该如何运动,从而控制机械手到达指定位置。
根据相机的装载位置分为两种情况:eye-in-hand(相机安装在机械手上,随着机械手一起移动)和eye-to-hand(相机固定在一个地方,机械手的运动不会带着相机一起移动)。
二.手眼标定中涉及的坐标系
手眼标定涉及到的坐标系有四个:机器人基坐标系base、法兰上的工具坐标系tool、相机坐标系camera和标定板坐标系cal;此外,涉及到了四个关键的4x4齐次转换矩阵,对于眼在手和眼在手外分别进行说明,下面是两种配置方式的坐标转换过程:
每一种配置方式,都是两个移动的坐标系和两个静止的坐标系,并且这四个坐标系构成了一个闭环。
三.Eye-in-hand 标定原理与方法
对于moving camera方式(相机随着吸嘴一起移动),如图所示,机械臂基础坐标系和标定板坐标系是静止的,两者之间存在一个固定的转换矩阵;法兰上的工具坐标系和相机坐标系是移动的,两者之间存在一个固定的转换矩阵;需要求的是法兰上的工具坐标系与相机坐标系之间的转换矩阵。其中,M1可以从机器人示教器或者控制读出,Mx是需要求取的未知矩阵,M2可以从拍摄照片计算出来,M3未知,但是是一个固定的转换矩阵,利用坐标转换,有如下的等式关系:Mx=M2*M3^(-1)*M1,如果我有许多个这样的等式,利用M3不变,可以构建关于Mx的方程组,解方程组,求得Mx中各个元素的值,在这个过程中我们不必去求M3具体是多少,只是利用了其固定不变这个特性而已。
四.Eye-to-hand 标定原理与方法
对于stationary camera方式(相机静止,吸嘴移动),如下图所示,机械臂基坐标系和相机坐标系是静止的,两者之间存在一个固定的转换矩阵;法兰上的工具坐标系和标定板坐标系是移动的,两者之间存在一个固定的转换矩阵;需要求的是相机坐标系和机械臂基坐标系之间的转换矩阵。其中,M1可以从机器人示教器或者控制读出,Mx是需要求取的未知矩阵,M3可以从拍摄照片计算出来,M2未知,但是是一个固定的转换矩阵,利用坐标转换,有如下的等式关系:Mx=M1M2M3^(-1),如果我有许多个这样的等式,利用M2不变,可以构建关于Mx的方程组,解方程组,求得Mx中各个元素的值,在这个过程中我们不必去求M2具体是多少,只是利用了其固定不变这个特性而已。
戳戳小手帮忙点个免费的赞吧,嘿嘿。 |
边栏推荐
- 程序环境和预处理
- 常用的一些制表符号
- 缓存击穿,缓存穿透,缓存雪崩的解释和对应的一些解决方案
- [ASM] Bytecode operation MethodVisitor case combat generation object
- 4. Generics and Utilities
- OSCS开源软件安全周报,一分钟了解本周开源软件安全大事
- markdown转ipynb--利用包notedown
- basic operator
- pycharm在创建py文件时如何自动注释
- [Machine Learning] Basics of Data Science - Basic Practice of Machine Learning (2)
猜你喜欢
Sweet alert
Tom Morgan | 人生二十一条法则
EndNote使用指南
Battery modeling, analysis and optimization (Matlab code implementation)
BigDecimal用法常用操作记录
拿下跨界C1轮投资,本土Tier 1高阶智能驾驶系统迅速“出圈”
Ontology Development Diary 05-Strive to Understand SWRL (Part 2)
Ontology development diary 04 - to try to understand some aspects of protege
.ts 音频文件转换成 .mp3 文件
[ASM] Bytecode operation MethodVisitor case combat generation object
随机推荐
Tom Morgan | Twenty-One Rules of Life
LeetCode179:最大数(C语言)代码简洁!
字符串函数和内存函数
关于一次性通过CISSP考试的一点经验分享
A Practical Guide to Building OWL Ontologies using Protege4 and CO-ODE Tools - Version 1.3 (7.4 Annotation Properties - Annotation Properties)
安装torch_sparse失败解决方法
Master-slave postition changes cannot be locked_Slave_IO_Running shows No_Slave_Sql_Running shows No---Mysql master-slave replication synchronization 002
basic operator
实验室装修及改造工程程序简介
【八大排序①】插入排序(直接插入排序、希尔排序)
Win系统 - 罗技 G604 鼠标蓝灯闪烁、失灵解决方案
OSCS开源软件安全周报,一分钟了解本周开源软件安全大事
通过程序发送 Gmail 邮件
Celebrate ranked 18
多线程(基础)
ORA-00600 [16703], [1403], [20]问题分析及恢复
如何快速打通镜像发布流程?
Go-goroutine 的那些事
Go-控制语句那些事
【八大排序②】选择排序(选择排序,堆排序)