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

news2025/7/22 22:25:09

因为一直使用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.coloradmin.cn/o/2397630.html

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

相关文章

[总结]前端性能指标分析、性能监控与分析、Lighthouse性能评分分析

前端性能分析大全 前端性能优化 LightHouse性能评分 性能指标监控分析 浏览器加载资源的全过程性能指标分析 性能指标 在实现性能监控前,先了解Web Vitals涉及的常见的性能指标 Web Vitals 是由 Google 推出的网页用户体验衡量指标体系,旨在帮助开发者量…

React-native的新架构

本文总结: 文章主要介绍了 React Native 的新架构,包括以下几个方面的内容:📱✨ 如何抹平 iOS 和 Android 样式差异,提升跨平台一致性; 分析了旧架构中存在的问题,如通信瓶颈、启动慢、维护复杂等&#x…

Git 全平台安装指南:从 Linux 到 Windows 的详细教程

目录 一、Git 简介 二、Linux 系统安装指南 1、CentOS/RHEL 系统安装 2、Ubuntu/Debian 系统安装 3、Windows 系统安装 四、安装后配置(后面会详细讲解,现在了解即可) 五、视频教程参考 一、Git 简介 Git 是一个开源的分布式版本控制系…

Tree 树形组件封装

整体思路 数据结构设计 使用递归的数据结构(TreeNode)表示树形数据每个节点包含id、name、可选的children数组和selected状态 状态管理 使用useState在组件内部维护树状态的副本通过deepCopyTreeData函数进行深拷贝,避免直接修改原始数据 核…

AI书签管理工具开发全记录(五):后端服务搭建与API实现

文章目录 AI书签管理工具开发全记录(四):后端服务搭建与API实现前言 📝1. 后端框架选型 🛠️2. 项目结构优化 📁3. API路由设计 🧭分类管理书签管理 4. 数据模型定义 💾分类模型&…

netTAP 100:在机器人技术中将 POWERLINK 转换为 EtherNet/IP

工业机器人服务专家 年轻的 More Robots 公司成立仅一年多,但其在许多应用领域的专业技术已受到广泛欢迎。这是因为More Robots提供 360 度全方位服务,包括从高品质工业机器人和协作机器人到咨询和培训。这包括推荐适合特定任务或应用的机器人&#xff0…

多模态大语言模型arxiv论文略读(九十八)

Accelerating Pre-training of Multimodal LLMs via Chain-of-Sight ➡️ 论文标题:Accelerating Pre-training of Multimodal LLMs via Chain-of-Sight ➡️ 论文作者:Ziyuan Huang, Kaixiang Ji, Biao Gong, Zhiwu Qing, Qinglong Zhang, Kecheng Zhe…

EXCEL--累加,获取大于某个值的第一个数

一、函数 LET(data,A1:A5,cumSum,SCAN(0,data,LAMBDA(a,b,ab)),idx,MATCH(TRUE,cumSum>C1,0),INDEX(data,idx)) 二、函数拆解 1、LET函数:LET(name1, value1, [name2, value2, ...], calculation) name1, name2...:自定义的变量名(需以字…

本地部署 DeepSeek R1(最新)【从下载、安装、使用和调用一条龙服务】

文章目录 一、安装 Ollama1.1 下载1.2 安装 二、下载 DeepSeek 模型三、使用 DeepSeek3.1 在命令行环境中使用3.2 在第三方软件中使用 一、安装 Ollama 1.1 下载 官方网址:Ollama 官网下载很慢,甚至出现了下载完显示 无法下载,需要授权 目…

win主机如何结束正在执行的任务进程并重启

最近遇到一个问题,一个java入库程序经常在运行了几个小时之后消息无法入库,由于已经没有研发人员来维护这个程序了,故此只能每隔一段时间来重启这个程序以保证一直有消息入库。 但是谁也不能保证一直有人去看这个程序,并且晚上也不…

maven中的maven-resources-plugin插件详解

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 一、插件定位与核心功能 maven-resources-plugin是Maven构建工具的核心插件之一,主要用于处理项目中的资源文件(如…

ROS云课基础篇-01-Linux-250529

ROS云课基础篇收到了很多反馈,正面评价比例高,还有很多朋友反馈需要写更具体一点。 ROS云课基础篇极简复习-C、工具、导航、巡逻一次走完-CSDN博客 于是,有了这篇以及之后的案例,案例均已经测试过8年,但没有在博客公…

深入了解 C# 异步编程库 AsyncEx

在现代应用程序开发中,异步编程已经成为提升性能和响应能力的关键,尤其在处理网络请求、I/O 操作和其他耗时任务时,异步编程可以有效避免阻塞主线程,提升程序的响应速度和并发处理能力。C# 提供了内建的异步编程支持(通…

Vulhub靶场搭建(Ubuntu)

前言:Vulhub 是一个开源的漏洞靶场平台,全称是 Vulhub: Vulnerable Web Application Environments,主要用于学习和复现各类 Web 安全漏洞。它的核心特征是通过 Docker 环境快速搭建出带有特定漏洞的靶场系统,适合渗透测试学习者、…

C++:参数传递方法(Parameter Passing Methods)

目录 1. 值传递(Pass by Value) 2. 地址传递(Pass by Address) 3. 引用传递(Pass by Reference) 数组作为函数参数(Array as Parameter) 数组作为函数返回值 什么是函数&#xff…

大语言模型的推理能力

2025年,各种会推理的AI模型如雨后春笋般涌现,比如ChatGPT o1/o3/o4、DeepSeek r1、Gemini 2 Flash Thinking、Claude 3.7 Sonnet (Extended Thinking)。 对于工程上一些问题比如复杂的自然语言转sql,我们可能忍受模型的得到正确答案需要更多…

Redis的安装与使用

网址:Spring Data Redis 安装包:Releases tporadowski/redis GitHub 解压后 在安装目录中打开cmd 打开服务(注意:每次客户端连接都有先打开服务!!!) 按ctrlC退出服务 客户端连接…

2024年数维杯国际大学生数学建模挑战赛C题时间信号脉冲定时噪声抑制与大气时延抑制模型解题全过程论文及程序

2024年数维杯国际大学生数学建模挑战赛 C题 时间信号脉冲定时噪声抑制与大气时延抑制模型 原题再现: 脉冲星是一种快速旋转的中子星,具有连续稳定的旋转,因此被称为“宇宙灯塔”。脉冲星的空间观测在深空航天器导航和时间标准维护中发挥着至…

C# 控制台程序获取用户输入数据验证 不合规返回重新提示输入

在 C# 控制台程序中实现输入验证并循环重试&#xff0c;可以通过以下方式实现高效且用户友好的交互。以下是包含多种验证场景的完整解决方案&#xff1a; 一、通用输入验证框架 public static T GetValidInput<T>(string prompt, Func<string, (bool IsValid, T Val…

TDengine 运维——巡检工具(安装前检查)

简介 本文档旨在介绍 TDengine 安装部署前后配套的巡检工具。 相关工具的功能简介&#xff1a; 工具名称功能简介安装前检查部署前对 TDengine 安装部署的依赖要素进行安装前检查安装前预配置部署前对 TDengine 安装部署的依赖要素进行安装前预配置安装部署指定环境安装部署…