关于手眼标定的数学模型及标定流程

ops/2025/3/1 21:32:05/

手眼标定介绍

在手眼标定中,AX=XB和AX=YB是两种常见的数学模型,用于描述相机和机械臂之间的关系。
手眼标定中的两种情况:眼在手上(Eye-in-Hand)和眼在手外(Eye-to-Hand)

  • 求解略有不同,但基本原理相似。

眼在手外(Eye-to-Hand)

在这里插入图片描述

H cam base H_{\text{cam}}^{\text{base}} Hcambase= H tool base H_{\text{tool}}^{\text{base}} Htoolbase* H cal tool H_{\text{cal}}^{\text{tool}} Hcaltool* H cam cal H_{\text{cam}}^{\text{cal}} Hcamcal

在这种配置中,相机固定在工作空间的某个位置,观察整个机械臂的运动。此时,变换矩阵X表示相机相对于机械臂基座的固定变换。
这时候,我们让机械臂两个位置,保证这两个位置都能使得camera看到标定板
假设A= H tool base H_{\text{tool}}^{\text{base}} Htoolbase,B= H cal tool H_{\text{cal}}^{\text{tool}} Hcaltool, C= H cam cal H_{\text{cam}}^{\text{cal}} Hcamcal
那么两个位置的等式如下:

A 1 A_{\text{1}} A1 * B B B * C 1 C_{\text{1}} C1 = A 2 A_{\text{2}} A2 * B B B * C 2 C_{\text{2}} C2

等式转换

A 2 -1 A_{\text{2}}^{\text{-1}} A2-1 * A 1 A_{\text{1}} A1 * B B B = B B B * C 2 C_{\text{2}} C2 * C 2 -1 C_{\text{2}}^{\text{-1}} C2-1

此时就能获得关于AX=XB问题:

AXXB 模型
  • A:表示机械臂在两个不同位置之间的变换矩阵。
  • X:表示相机相对于机械臂末端的固定变换矩阵(手眼变换矩阵)。
  • B:表示标定板在两个不同位置之间的变换矩阵。

这个模型的目标是同时求解变换矩阵X和Y,使得在不同位置下的变换关系成立。

眼在手上(Eye-in-Hand)

眼在手上
公式如下

H tool cam H_{\text{tool}}^{\text{cam}} Htoolcam= H tool base H_{\text{tool}}^{\text{base}} Htoolbase* H base cal H_{\text{base}}^{\text{cal}} Hbasecal* H cal cam H_{\text{cal}}^{\text{cam}} Hcalcam

在这种配置中,相机安装在机械臂的末端执行器上。此时,变换矩阵X表示相机相对于机械臂末端的固定变换。

这时候,我们让机械臂两个位置,保证这两个位置都能使得camera看到标定板
假设A= H tool base H_{\text{tool}}^{\text{base}} Htoolbase,B= H base cal H_{\text{base}}^{\text{cal}} Hbasecal, C= H cal cam H_{\text{cal}}^{\text{cam}} Hcalcam
那么两个位置的等式如下:

A 1 A_{\text{1}} A1 * B B B * C 1 C_{\text{1}} C1 = A 2 A_{\text{2}} A2 * B B B * C 2 C_{\text{2}} C2

等式转换

A 2 -1 A_{\text{2}}^{\text{-1}} A2-1 * A 1 A_{\text{1}} A1 * B B B = B B B * C 2 C_{\text{2}} C2 * C 2 -1 C_{\text{2}}^{\text{-1}} C2-1

此时又能获得关于AX=XB问题:

AX=XB 模型
  • A:表示机械臂在两个不同位置之间的变换矩阵。
  • X:表示相机相对于机械臂末端的固定变换矩阵(手眼变换矩阵)。
  • B:表示相机在两个不同位置之间的变换矩阵。

这个模型的目标是求解变换矩阵X,使得在不同位置下的变换关系成立。

AX = XB问题的求解

  • Y. Shiu, S. Ahmad Calibration of Wrist-Mounted Robotic Sensors by Solving Homogeneous Transform Equations of the Form AX = XB. In IEEE Transactions on Robotics and Automation, 5(1):16-29, 1989.
  • R. Tsai, R. Lenz A New Technique for Fully Autonomous and Efficient 3D Robotics Hand/Eye Calibration. In IEEE Transactions on Robotics and Automation, 5(3):345-358, 1989.
    5
  • Horaud, Radu, and Fadi Dornaika. “Hand-eye calibration.” The international journal of robotics research 14.3 (1995): 195-210.
  • Daniilidis, Konstantinos. “Hand-eye calibration using dual quaternions.” The International Journal of Robotics Research 18.3 (1999): 286-298.

基本 OpenCV 或者 Matlab 都是采用了张老师的方法:

  • Zhang, Zhengyou. “A flexible new technique for camera calibration.” IEEE Transactions on pattern analysis and machine intelligence 22.11 (2000): 1330-1334.
AX=YB 模型

此外,还有AX=YB模型,这种情况会通过迭代优化的方式来求解。
这个模型表示不同位置下,机器人末端执行器和相机之间的变换关系:

  • A:表示机器人末端执行器的变换矩阵。
  • X:表示相机坐标系到机器人末端执行器坐标系的变换矩阵(手眼变换矩阵)。
  • Y:表示相机坐标系到机器人基座坐标系的变换矩阵。
  • B:表示相机的变换矩阵。

通过求解这个方程,可以得到 X 和 Y 矩阵,从而确定相机相对于机器人末端执行器和机器人基座的变换关系。


http://www.ppmy.cn/ops/162332.html

相关文章

【AI+智造】在阿里云Ubuntu 24.04上部署DeepSeek R1 14B的完整方案

作者:Odoo技术开发/资深信息化负责人 日期:2025年2月28日 一、部署背景与目标 DeepSeek R1作为国产大语言模型的代表,凭借其强化学习驱动的推理能力,在复杂任务(如数学问题、编程逻辑)中表现优异。本地化部…

使用Docker Compose部署 MySQL8

MySQL 8 是一个功能强大的关系型数据库管理系统,而 Docker 则是一个流行的容器化平台。结合使用它们可以极大地简化 MySQL 8 的部署过程,并且确保开发环境和生产环境的一致性。 安装 Docker 和 Docker Compose 首先,确保你的机器上已经安装了 Docker 和 Docker Compose。 …

《OpenCV》——实例:答题卡识别

答题卡识别 实例内容: 该实例实现了一个基于计算机视觉技术的答题卡自动识别与评分系统,利用 OpenCV 库对答题卡图像进行处理和分析,最终得出答题卡的得分。 实例步骤: 导入必要的库 import numpy as np import cv2导入num…

1.2 Kaggle大白话:Eedi竞赛Transformer框架解决方案02-GPT_4o生成训练集缺失数据

目录 0. 本栏目竞赛汇总表1. 本文主旨2. AI工程架构3. 数据预处理模块3.1 配置数据路径和处理参数3.2 配置API参数3.3 配置输出路径 4. AI并行处理模块4.1 定义LLM客户端类4.2 定义数据处理函数4.3 定义JSON保存函数4.4 定义数据分片函数4.5 定义分片处理函数4.5 定义文件名排序…

DeepSeek开源周Day2:DeepEP - 专为 MoE 模型设计的超高效 GPU 通信库

项目地址:https://github.com/deepseek-ai/DeepEP 开源日历:2025-02-24起 每日9AM(北京时间)更新,持续五天 (2/5)! ​ ​ 引言 在大模型训练中,混合专家模型(Mixture-of-Experts, MoE)因其动…

AI关于SHAP分析与列线图(算法)解释线性模型矛盾之处的解释

AI关于SHAP分析与列线图(算法)解释线性模型矛盾之处的解释 两种解释方法在个案的局部解释方面,有矛盾之处,其背后的原理已经超出了我的知识范畴,以下是询问AI的几个问题,希望能从中梳理出一个合理的解释。…

HTTP 动态报错码的原因和解决方法

目录 1xx(信息性状态码) 2xx(成功状态码) 3xx(重定向状态码) 4xx(客户端错误状态码) 5xx(服务器错误状态码) 参考文章 以下是 HTTP 动态报错码的常见原…

使用Docker方式一键部署MySQL和Redis数据库详解

一、前言 数据库是现代应用开发中不可或缺的一部分,MySQL和Redis作为两种广泛使用的数据库系统,分别用于关系型数据库和键值存储。本文旨在通过Docker和Docker Compose的方式,提供一个简洁明了的一键部署方案,确保数据库服务的稳…