手眼标定3D空间位姿变换

本Demo为相机和机械手之间的标定,相机知道的是像素坐标,机械手是空间坐标系,所以手眼标定就是得到像素坐标系和空间机械手坐标系的坐标转化关系。手眼标定作用:建立相机坐标系和机械手坐标系之间的关系,即给机械手装上眼睛,让它去哪就去哪。相机和机械手之间的标定是机器人视觉系统中的关键步骤,目的是确定相机坐标系与机械手坐标系之间的转换关系,以便机械手能够准确执行基于视觉信息的任务。

以下是标定的主要步骤和方法:

  1. 准备工作

设备选择:选择适合的相机(如工业相机)和机械手(如六轴机械臂)。

标定工具:准备标定板(如棋盘格或圆点标定板)。

  1. 相机内参标定

目的:确定相机的内部参数,如焦距、主点坐标和畸变系数。

步骤:拍摄多张不同角度的标定板图像。使用软件工具提取角点并计算内参。

  1. 手眼标定

目的:确定相机坐标系与机械手坐标系的转换关系。

方法:

Eye_in_Hand:相机安装在机械手上,随机械手移动。

Eye_to_Hand:相机固定,机械手在相机视野内移动。

  1. 数据采集

Eye_in_Hand

1,机械手移动到不同位置,拍摄标定板图像。

2,记录机械手末端执行器的位姿。

Eye_to_Hand

1,机械手移动到不同位置,拍摄标定板图像。

2,记录机械手基座的位姿。

  1. 计算外参

目的:通过采集的数据计算相机与机械手之间的外参矩阵。

优化:

使用PnP算法计算标定板相对于相机坐标系的位姿。

结合机械手的位姿数据,计算相机与机械手之间的转换矩阵。

  1. 验证与优化

验证:通过标定结果进行实际任务测试,检查精度。

优化:若误差较大,重新采集数据或调整标定过程。

  1. 应用

应用场景:标定结果可用于目标抓取、装配、检测等任务。

本文主要针对C#UI布局和功能及矩阵测试给大家提供自己的封装思路。

Demo效果

UI布局

变换坐标验证矩阵数据效果(由于没有校正内参,数据会存在误差波动,经过验证误差波动最大为0.1mm)

核心算子

vector_to_hom_mat3d( : : TransformationType, Px, Py, Pz, Qx, Qy, Qz : HomMat3D)

TransformationType;'affine', 'projective', 'rigid', 'similarity'(仿射,投影,刚性,相似变换)

一般创建矩阵为已知图像坐标转换为空间坐标,

故而一般Px, Py, Pz:为图像XYZ坐标集

Qx, Qy, Qz:为空间XYZ坐标集

HomMat3D:输出的变换矩阵

总结:此Demo主要为演示空间坐标系的变换矩阵,通过2D图像给大家演示效果,故而采用Z轴全部赋值为0,且在实际项目中最好是12+图像,且多个Z坐标进行计算变换矩阵,以增强矩阵的准确性,如果需要在在单目2D相机中拿到物体的3D位姿,还需进行相机矫正,通过find_planar_calib_deformable_model平面形变匹配算子,可以计算出平面物体在透视情况下的空间位姿,这种方法只针对一个平面做的透视矫正,没法得到整个物体的3D信息。

三维图像可以通过 find_shape_model_3d计算物体空间姿态或find_surface_model进行点云匹配

相关推荐
智驱力人工智能37 分钟前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
qq_1601448741 分钟前
亲测!2026年零基础学AI的入门干货,新手照做就能上手
人工智能
Howie Zphile41 分钟前
全面预算管理难以落地的核心真相:“完美模型幻觉”的认知误区
人工智能·全面预算
人工不智能57743 分钟前
拆解 BERT:Output 中的 Hidden States 到底藏了什么秘密?
人工智能·深度学习·bert
盟接之桥1 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
kfyty7251 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
h64648564h1 小时前
CANN 性能剖析与调优全指南:从 Profiling 到 Kernel 级优化
人工智能·深度学习
数据与后端架构提升之路1 小时前
论系统安全架构设计及其应用(基于AI大模型项目)
人工智能·安全·系统安全
忆~遂愿1 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
Liue612312311 小时前
YOLO11-C3k2-MBRConv3改进提升金属表面缺陷检测与分类性能_焊接裂纹气孔飞溅物焊接线识别
人工智能·分类·数据挖掘