机器人手眼标定

机器人手眼标定

  • 一、机器人手眼标定
    • 1. 眼在手上标定基本原理
    • 2. 眼在手外标定基本原理
  • 二、眼在手外标定实验
  • 三、标定精度分析

一、机器人手眼标定

要实现由图像目标点到实际物体上抓取点之间的坐标转换,就必须拥有准确的相机内外参信息。其中内参是相机内部的基本参数,包括镜头焦距、畸变等。一般相机出厂时内参已标定完成,保存在相机内部。
相机外参表示的是机器人与相机之间的位姿转换关系(即手眼关系,因此相机外参的标定称之为机器人手眼标定)。机器人与相机在不同的使用场景下其相对位姿不固定,需要在工作现场进行标定才能获得相机与机器人之间的手眼关系。

由于机器人手眼标定会使用相机的内参,所以具有准确的内参是标定外参的前提。

机器人手眼标定的分类方式各不相同,根据相机相对于机器人的安装方式,将手眼标定分为两种:

  1. 相机独立于机器人固定在支架上,称为ETH(Eye to hand) 方式。
  2. 相机固定于机器人末端法兰上,称为EIH(Eye in hand) 方式。

同时,可使用多个随机标定板位姿或TCP 尖点触碰的方法添加标定点。
两者的主要区别在于:

  1. 多个随机标定板位姿:使用软件自动生成的轨迹点或手动添加的多个位姿,在每个位姿拍照并识别标定板角点,建立标定板、相机及机器人三者间的关系,其过程简单,标定精度高。
  2. TCP 尖点触碰:利用三点法确定标定板位姿后,建立标定板、相机及机器人三者间的关系。适用于机器人活动空间局促、无法使用上位机来控制和标定板无法安装等情况。
    分类方式如下图:
    ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/98e8965ab91a4c87a5f21affd197f3a0.png

1. 眼在手上标定基本原理

机器人末端通过固定架将相机固定,此时机器人末端法兰中心与相机光心之间的位姿相对固定,即下图中的未知变量X;机器人末端法兰中心相对于机器人基坐标系(Base)的位姿为已知量B;相机通过对标定板(calibration grid)进行拍照,获得相机光心和标定板上每个圆点之间的位姿关系,可得已知量C;标定板平放在相机视野可达区域,其相对于机器人基坐标之间的位姿关系为一固定值A;这样变量A、B、C、X 构成闭环关系。下列等式中,由于A 为固定值,将前两个等式合并,得到的新等式中只有X 为未知待求量。变换机器人末端位姿进行不同角度拍照,得到多组A、B、C 的值,利用这些数值进行拟合计算,得到最优的X 的值。
在这里插入图片描述:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e66883f0e3104df7873a099eb1a52462.jpeg

当使用TCP 触碰法标定时,标定板或者其它标定物放置在工作平面,机器人末端加装已知尺寸的TCP 尖点,触碰标定标定物,其中A、B、C 已知,则X 的值也可求得。
在这里插入图片描述
EIH 标定的是相机光心和机器人末端法兰中心之间的位姿关系。如果相机相对于机器人末端法兰中心坐标发生移动,对应的外参就会相应发生变化,此时需要重新标定外参。

2. 眼在手外标定基本原理

机器人末端通过法兰连接已知尺寸的标定板,可以得到标定板(calibration grid)上的每个标志点相对于机器人基坐标Base 的坐标A;通过相机拍照获得标定板上每个圆点的图像,可以得到相机光心相对于标定板上每个标志点的坐标B;相机光心和机器人基坐标(Base)之间的位姿关系X 为待求量。A、B 和X构成闭环,形成等式,可以在等式中求解未知数X。通过移动机器人,变换标定板相对于相机的位姿,可以得到多组等式,对这些等式的值进行拟合优化计算,最终得到最优的X 的值。位姿关系如下图所示。
在这里插入图片描述
当使用TCP 触碰法标定时,标定板放置在工作平面,机器人末端加装已知TCP 的尖点,触碰标定板圆点,其中A、B 已知,求解X 的值。
实际操作中,坐标A的获取有以下三种方式:

  1. 标定板到法兰末端位置关系已知(三点法或是已知连接件尺寸计算得到),则A 可以直接计算得到;
  2. 标定板到法兰末端位置关系未知,则通过标定板在标定过程中的一系列相对移动,通过数值方法计算得到标定板到法兰末端的位置关系,进而计算得到A;
  3. 标定板与机器人末端不固定,则可以通过已知tcp 坐标的尖点对标定板标志点进行触碰的方式计算得到A的数值。以上三种方式对应三种不同获取标定数据的方式。

ETH 方式标定的是相机光心和机器人基坐标之间的位姿关系。如果机器人基坐标或者相机发生移动,对应的外参就会相应发生变化,此时需要重新标定手眼关系。

二、眼在手外标定实验

下图为相机从上至下拍摄标定板,且计算出标定板圆心实验过程图片。
在这里插入图片描述
代码不便拿出来展示。其余实验过程此处省略。

三、标定精度分析

本人分别进行了采用多个随机标定板位姿的眼在手外标定和TCP尖点触碰进行标定实验。
多个随机标定板位姿标定方法:集成了3D相机采集数据、机器人轨迹规划、数据处理算法,自动化程度较高,但标定精度较低,平均在2.5mm左右。
TCP尖点触碰方法:需要人工实时指导调整位置,但标定精度较高,1mm以内。
经过多次相机引导机器人进行标定实验,总结下来 机械臂的运动重复性、光照条件、反射和阴影等环境因素、相机的内参、用于提取特征点的算法的准确性都会是影响标定精度的因素。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/951200.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

时敏软件定义网络的服务保证

论文标题: Service Guarantees for Time-Sensitive Software-Defined Networks作者信息: Weijiang Kong论文出处: Eindhoven University of Technology, 2025年1月20日 摘要: 在过去十年中,随着半导体技术的进步和对更…

一款免费的电子书制作软件:FLBOOK

对于作者、讲师、企业或个人来说,制作一款专业的电子书,不仅能有效传播知识和信息,还能提升个人品牌形象。然而,在众多电子书制作软件中,如何找到一款好用的工具呢?今天,给大家分享这款电子书制…

时频分析之S变换

S变换的提出 1996年,由R.G Stockwell 提出了S变换,和其他时频分析工具一样,通过S变换,我们可以同时从时域以及频域观察一个信号的能量分布。S变换融合了短时傅里叶变换和小波变换的优点。关于S变换,最早发表于TSP上的…

【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集

【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集 mmWave Studio提供的功能完全够用了 不用去纠结用DCA1000低延迟、无GUI传数据 速度最快又保证算力无非就是就是Linux板自己写驱动做串口和UDP 做雷达产品应用也不会采用DCA1000的…

MYSql------视图

什么是视图 定义:视图是一种虚拟的表,它是基于 SQL 查询语句的结果集而建立的。视图并不存储实际的数据,而是根据查询语句从一个或多个实际的表中提取数据,类似于存储在数据库中的预定义查询。作用: 简化复杂查询&…

基于Matlab的变压器仿真模型建模方法(13):单相升压自耦变压器的等效电路和仿真模型

1.单相升压自耦变压器的基本方程和等效电路 单相升压自耦变压器的接线原理图如图1所示。在建立自耦变压器的基本方程时,仍然把它看成是从双绕组变压器演变而来。在图1中,设节点a到节点b部分的绕组的匝数为,对应于双绕组变压器的原边绕组;节点c到节点a部分的绕组的绕组匝数为…

电脑之故障检测(Computer Fault Detection)

电脑之故障检测 在日常使用电脑的过程中,我们难免会遇到各种各样的故障。从简单的软件冲突到复杂的硬件损坏,这些问题往往让人头疼不已。然而,掌握一些基本的电脑故障检测方法,可以帮助我们快速定位问题所在,并采取相…

Jmeter-压测时接口如何按照顺序执行

Jmeter-压测时接口如何按照顺序执行-临界部分控制器 在进行压力测试时,需要按照顺序进行压测,比如按照接口1、接口2、接口3、接口4 进行执行 查询结果是很混乱的,如果请求次数少,可能会按照顺序执行,但是随着次数增加…

unity学习15:预制体prefab

目录 1 创建多个gameobject 2 创建prefab 2.1 创建prefab (类) 2.2 prefab 是一个文件 2.3 prefab可以导出 3 创建prefab variant (子类) 3.1 除了创建多个独立的prefab, 还可以创建 prefab variant 3.2 他…

(七)Linux库的串口开发

文章目录 基于官方提供的串口测试代码部分解析代码部分1. usage 函数2. opt_parsing_err_handle 函数3. sig_handle 函数4. init_serial 函数5. serial_write 函数6. serial_read 函数7. run_read_mode 函数8. run_write_mode 函数9. run_loopback_test 函数 进行测试第一步编译…

【Uniapp-Vue3】创建自定义页面模板

大多数情况下我们都使用的是默认模板&#xff0c;但是默认模板是Vue2格式的&#xff0c;如果我们想要定义一个Vue3模板的页面就需要自定义。 一、我们先复制下面的模板代码&#xff08;可根据自身需要进行修改&#xff09;&#xff1a; <template><view class"…

【机器视觉】OpenCV 图像轮廓(查找/绘制轮廓、轮廓面积/周长、多边形逼近与凸包、外接矩形)

文章目录 7. 图像轮廓7.1 什么是图像轮廓7.2 查找轮廓7.3 绘制轮廓7.4 轮廓的面积和周长7.5 多边形逼近与凸包7.6 外接矩形 OpenCV官网 7. 图像轮廓 7.1 什么是图像轮廓 图像轮廓是具有相同颜色或灰度的连续点的曲线. 轮廓在形状分析和物体的检测和识别中很有用。 轮廓的作用…

20250109使用M6000显卡在Ubuntu20.04.6下跑whisper来识别中英文字幕

20250109使用M6000显卡在Ubuntu20.04.6下跑whisper来识别中英文字幕 2025/1/9 20:57 https://blog.csdn.net/wb4916/article/details/144541848 20241217使用M6000显卡在WIN10下跑whisper来识别中英文字幕 步骤&#xff1a; 1、在NVIDIA的官网下载并安装M6000显卡在WIN10下的最…

EtherCAT转CANopen数字油田的高效解决方案

在数字化时代&#xff0c;油田的管理和运作正经历着深刻的变革。传统的油田监测系统受限于通信技术&#xff0c;往往难以满足实时、高效的数据传输需求。面对这一挑战&#xff0c;开疆智能EtherCAT转CANopen网关应运而生&#xff0c;它以其卓越的性能和高度的兼容性&#xff0c…

C语言——文件IO 【文件IO和标准IO区别,操作文件IO】open,write,read,dup2,access,stat

1.思维导图 2.练习 1&#xff1a;使用C语言编写一个简易的界面&#xff0c;界面如下 1&#xff1a;标准输出流 2&#xff1a;标准错误流 3&#xff1a;文件流 要求&#xff1a;按1的时候&#xff0c;通过printf输出数据&#xff0c;按2的时候&#xff0c;通过p…

Android - NDK :JNI实现异步回调

在android代码中&#xff0c;通过JNI调用c层子线程执行耗时任务&#xff0c;在c层子线程中把结果回调到android层&#xff0c; C语言小白&#xff0c;请批评指正&#xff01; android层代码&#xff1a; import androidx.appcompat.app.AppCompatActivity;import android.os.…

Java Web开发进阶——RESTful API设计与开发

随着分布式系统和微服务架构的流行&#xff0c;RESTful API已成为现代Web应用中后端与前端、第三方系统交互的重要方式。本节将深入探讨RESTful API的设计原则、实现方式以及如何使用Spring Boot开发高效、可靠的RESTful服务。 1. 理解RESTful API的设计原则 1.1 什么是RESTfu…

PWR-STM32电源控制

一、原理 睡眠模式不响应其他操作&#xff0c;比如烧写程序&#xff0c;烧写时按住复位键松手即可下载&#xff0c;在禁用JTAG也可如此烧写程序。 对于低功耗模式可以通过RTC唤醒、外部中断唤醒、中断唤醒。 1、电源框图&#xff1a; VDDA主要负责模拟部分的供电、Vref和Vref-…

深兰科技董事长陈海波应邀为华东师大心理学专业师生做AI专题讲座

12月28日&#xff0c;应上海华东师范大学的邀请&#xff0c;上海市科协常委、上海交通大学博士生导师、深兰科技创始人兼董事长陈海波专程到校&#xff0c;为该校心理学专业的全体师生做了一场关于人工智能推动个人数字化未来的专题讲座。 他在演讲中&#xff0c;首先详细讲述了…

ssh2-sftp-client uploadDir Upload error: getLocalStatus: Bad path: ./public

报错解释 这个错误表明在使用 ssh2-sftp-client 这个Node.js库进行目录上传时遇到了问题。具体来说&#xff0c;是指定的本地路径&#xff08;./public&#xff09;不正确或者不存在。 解决方法&#xff1a; 确认当前工作目录&#xff1a;确保你在执行上传操作时的当前工作目…