手眼标定:九点标定、十二点标定、OpenCV 手眼标定

因为一直使用6轴协作机器人,且主要应用是三维视觉,平常的手眼标定基本都是基于OpenCV来计算的,听说有九点标定和十二点标定,顺便了解下。

目录

  • 1.九点标定
    • 1.1 基本原理
    • 1.2 关于最小二乘法
    • 1.3 具体示例
  • 2.十二点标定
  • 3.OpenCV 手眼标定
  • 4.九点标定与 OpenCV 手眼标定的区别

1.九点标定

1.1 基本原理

九点标定的数学原理主要涉及通过已知的标定板上的九个特定点,计算相机坐标系与机器人坐标系之间的变换关系。具体步骤如下:

  • 1.坐标系描述:
    机器人坐标系:由机器人臂的末端执行器(例如机械臂或抓取工具)所定义的坐标系。
    相机坐标系:由相机的传感器和视场所定义的坐标系。
    标定板坐标系:由标定板上的九个已知特征点所定义的坐标系。

  • 2.变换矩阵:
    在九点标定中,我们希望通过机器人坐标系中的已知位置点(标定板在机器人坐标系中的位置)与相机坐标系中的观测点(标定板的图像特征点)之间的关系来求解变换矩阵。该变换矩阵包括旋转矩阵(R)和平移向量(T)。
    对于每个标定板的姿态,机器人运动到不同的配置点(例如不同的角度和位置),同时采集图像。每个图像中的特征点位置提供了一个映射关系。
    通过一系列最小二乘法求解这些位置关系,可以得到相机与机器人之间的空间变换关系。

  • 3.数学模型:
    假设相机和机器人坐标系之间的关系是一个刚性变换,通常由以下公式表示:
    在这里插入图片描述

  • 4.优化与求解:
    在九点标定中,通过多次测量机器人臂末端的不同姿态和相机所拍摄的图像,我们将多组数据输入到优化算法(通常是最小二乘法)中,从而求解出旋转矩阵和平移向量。
    这些参数最终构成了从机器人坐标系到相机坐标系的完整变换矩阵。

在这里插入图片描述

1.2 关于最小二乘法

在这里插入图片描述

1.3 具体示例

在这里插入图片描述

2.十二点标定

十二点标定是九点标定的扩展,核心思想一致,但使用更多标定点(12 个),优势包括:
在这里插入图片描述

3.OpenCV 手眼标定

关于这部分的原理和应用可以参考手眼标定系列的博文,这里不再阐述。
https://blog.csdn.net/qq_45445740/article/details/122170029

4.九点标定与 OpenCV 手眼标定的区别

在这里插入图片描述

  • 九点标定:聚焦二维平面变换,通过多点拟合简单模型,适用于低维度校准。
  • 十二点标定:增加点数提升复杂模型拟合能力,适用于精度要求更高或存在非线性因素的场景。
  • OpenCV 手眼标定:解决三维空间中机器人与摄像机的坐标转换,需多组位姿数据,数学模型更复杂,应用于机器人视觉等场景。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS之元素定位

元素定位 一、什么是元素定位 元素定位(CSS Positioning) 是指通过CSS的 position 属性控制HTML元素在页面中的布局方式。它决定了元素如何相对于其父元素、视口或其他元素进行位置调整。 CSS的 position 属性用于控制元素在页面上的定位方式&#xff…

测试工程师如何通俗理解和入门RAG:从“查资料”到“写答案”的智能升级

1. 为什么要学习RAG?——从“查资料”到“写答案”的飞跃 背景:你已经掌握了Embedding技术,能将文档、代码、测试用例等离散信息转化为向量,用于相似度匹配。 痛点:但仅靠向量匹配找到相关文档后,如何快速生成答案?如何避免“找到文档却不会总结”的尴尬? RAG的价值:…

数量优势:使用Bagging和Boosting的集成模型

文章目录 装袋法(Bagging)和提升法(Boosting)利用集成学习创建强大的模型装袋法(Bagging):为机器学习模型增加稳定性装袋法示例 提升法(Boosting):减少弱学习…

5G基站选择±10ppm晶振及低相噪技术解析

在5G通信技术飞速发展的时代,5G基站作为核心基础设施,其性能的优劣直接影响着整个通信网络的质量。晶振作为5G基站中的关键器件,对基站的频率稳定性、信号传输质量等起着至关重要的作用。 5G基站对晶振的要求 (一)高…

嵌入式<style>设计模式

每天分享一个web前端开发技巧。 今天分享的主题是&#xff0c;如何提升前端代码的内聚性。我们在写<style></style>的时候&#xff0c;往往把大量无关联的样式写在同一个<style>下&#xff0c;而且离相关的html元素很远&#xff0c;这样导致每次想修改某个元…

简单数学板子和例题

线性丢番图方程 axbyc dgcd(a,b)&#xff0c;若c|d&#xff0c;有无穷整数解 x x 0 b d n , y y 0 − a d n xx_0{b\over d}n,yy_0-{a\over d}n xx0​db​n,yy0​−da​n POJ 1265 poj真难用&#xff0c;abs一直报错&#xff0c;万能头也不能用&#xff0c;给我调红温了 …

深度解析视频剪辑SDK开发:从AI字幕提取到多端原生插件集成-优雅草卓伊凡

深度解析视频剪辑SDK开发&#xff1a;从AI字幕提取到多端原生插件集成-优雅草卓伊凡 引言&#xff1a;视频剪辑技术的演进与市场需求 近年来&#xff0c;短视频和社交媒体的爆发式增长推动了视频剪辑技术的快速发展。优雅草卓伊凡及其团队近期接到一个客户需求&#xff1a;开…

对WireShark 中的EtherCAT抓包数据进行解析

对WireShark 中的EtherCAT抓包数据进行解析 EtherCAT数据包结构 EtherCAT数据帧结构如下&#xff1a; 采用 Python 实现对 EtherCAT 数据包进行解析 import numpy as np import matplotlib.pyplot as plt from IPython import embed from collections import Counter import …

基于SpringBoot的校园电竞赛事系统

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…

数据湖和数据仓库的区别

在当今数据驱动的时代&#xff0c;企业需要处理和存储海量数据。数据湖与数据仓库作为两种主要的数据存储解决方案&#xff0c;各自有其独特的优势与适用场景。本文将客观详细地介绍数据湖与数据仓库的基本概念、核心区别、应用场景以及未来发展趋势&#xff0c;帮助读者更好地…

Mysql 刷题Day09

LC 585 2016年的投资 思路&#xff1a; 本题思路好想 &#xff0c; 就是把2015年投资相同的找出来 &#xff0c;再找出这其中经纬度不同的id对应的2016年的保险。 实际操作中&#xff0c; 发现用group by很麻烦&#xff0c; 那么想到窗口函数也能 分组进行统计 利用 count(…

Lambda表达式的方法引用详解

Lambda表达式的方法引用详解 1. 方法引用的概念与作用 定义:方法引用(Method Reference)是Lambda表达式的一种简化写法,允许直接通过方法名引用已有的方法。核心目的:减少冗余代码,提升可读性,尤其在Lambda仅调用一个现有方法时。语法符号:双冒号 ::。2. 方法引用的四种…

记录python在excel中添加一列新的列

思路是&#xff0c;先将需要添加为新的列存储到一个暂时的列表中&#xff0c;然后用到以下函数来存储 data_.loc[:, "新列的名字"] save_list_ 上面的save_list_就是暂时存储了信息的列表了。 以下是我的代码&#xff0c;供以后快速回忆。 schools_data {"98…

关于flutter中Scaffold.of(context).openEndDrawer();不生效问题

原因&#xff1a; 在 Flutter 中&#xff0c;Scaffold.of(context) 会沿着当前的 context 向上查找最近的 Scaffold。如果当前的 widget 树层级中没有合适的 Scaffold&#xff08;比如按钮所在的 context 是在某个子 widget 中&#xff09;&#xff0c;就找不到它。 解决办法…

财管-1-财务分析、评价和预测

1.因素分析法&#xff1a; 报告期&#xff08;实际&#xff09;指标M1A1 * B1 * C1 基 期&#xff08;计划&#xff09;指标M0A0 * B0 * C0……&#xff08;1&#xff09; 第一次替代 A1 * B0 * C0……&#xff08;2&#xff09; 第二次替代 A1 * B1 * C0……&#xff08;3…

golang逃逸分析

1.1 逃逸分析是什么 逃逸分析是指编译器在执行静态代码分析后&#xff0c;对内存管理进行的优化和简化。 在编译原理中&#xff0c;分析指针动态范围的方法被称为逃逸分析。通俗来讲&#xff0c;当一个对象的指针被多个方法或线程引用时&#xff0c;则称这个指针发生了逃逸。…

Meetily:AI会议记录,开源、免费、好用(本地AI实时转录、隐私保护一步到位!)

名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、初识Meetily:什么是真正的智能会议助手?1. 核心优势一览2. 技术架构揭秘二、实战体验:从安装到使用的完整流程1. 系统要求2. 快速安装指南Wi…

.NET ORM开发手册:基于SqlSugar的高效数据访问全攻略

SqlSuger是一个国产&#xff0c;开源ORM框架&#xff0c;具有高性能&#xff0c;使用方便&#xff0c;功能全面的特点&#xff0c;支持.NET Framework和.NET Core&#xff0c;支持各种关系型数据库&#xff0c;分布式数据库&#xff0c;时序数据库。 官网地址&#xff1a;SqlS…

【论文阅读】KIMI-VL TECHNICAL REPORT

KIMI-VL TECHNICAL REPORT 原文摘要 核心模型&#xff1a;Kimi-VL 模型架构&#xff1a;基于 MoE 设计&#xff0c;仅激活语言解码器的 2.8B 参数&#xff08;Kimi-VL-A3B&#xff09;&#xff0c;在保持高效计算的同时实现高性能。 MoE&#xff08;Mixture of Experts&#xf…

项目管理学习-CSPM4(2)

1 前言 最近在学习CSPM的课程&#xff0c;部分内容让我受益匪浅。建议需要提升项目管理能力的同学可以通过以考促学的方式进行学习。下面整理了一部分内容和大家分享。CSPM全称China Standards Project Management&#xff0c;中文名为项目管理专业人员能力评价等级证书&#…