1. 课程导论

1.1 手眼标定概述

手眼标定(Hand-Eye Calibration)是机器人学与计算机视觉交叉领域中的核心基础问题。其本质是求解机器人末端执行器(手)坐标系与安装在末端上的相机(眼)坐标系之间的刚性变换矩阵 X,使得相机感知到的空间信息能够统一到机器人基坐标系下,从而引导机器人进行精确操作。

根据相机安装方式的不同,手眼标定主要分为两种经典构型:

构型 英文名称 相机安装位置 标定方程形式 典型应用
眼在手上 Eye-in-Hand (EiH) 固定在机器人末端法兰盘上 AX = XB 抓取、装配、焊接
眼在手外 Eye-to-Hand (EtH) 固定在工作空间外部支架上 AX = XB(形式相同,但A/B定义不同) 全局定位、质量检测、安全监控
核心方程 AX = XB: 其中 A 为机器人末端两次运动之间的变换矩阵,B 为相机两次观测标定板之间的变换矩阵,X 为待求的手眼矩阵。该方程不依赖标定板的位姿,仅依赖相对运动关系。

1.2 点云配准在标定中的作用

传统手眼标定依赖棋盘格或圆点阵列等平面标定板,通过提取角点或圆心进行PnP求解。然而,在以下场景中,传统方法面临严峻挑战:

  • 大视场/远距离: 标定板在图像中占比过小,角点提取精度急剧下降。
  • 曲面或复杂工件: 无法贴附平面标定板,或标定板被遮挡。
  • 深度相机/激光雷达: 主要输出为3D点云,2D图像特征稀疏或缺失。

点云配准(Point Cloud Registration) 为解决上述问题提供了全新路径。其核心思想是:利用3D点云之间的几何特征(如FPFH、SHOT、ISS关键点)进行匹配,通过ICP及其变种算法求解点云间的刚体变换,从而替代传统PnP步骤,直接构建机器人运动与点云变换之间的约束方程。

点云配准在标定中的具体作用可归纳为:

  1. 替代标定板: 利用场景中已有的几何特征(平面、圆柱、角点)作为自然标记物。
  2. 提升鲁棒性: 点云数据对光照变化、纹理缺失不敏感,适用于工业现场恶劣环境。
  3. 实现无靶标标定: 完全摆脱物理标定板,实现全自动、在线化的手眼标定流程。
点云配准辅助手眼标定流程 点云配准辅助手眼标定流程 机器人运动 A 点云采集 点云配准 B AX = XB 传统方法:标定板角点 → PnP → 位姿 B 本课程方法:点云特征 → 配准 → 位姿 B(无需标定板) 多组 (A, B) 约束 → 求解手眼矩阵 X

1.3 课程目标

通过本课程的学习,学员将能够:

  • 理解原理: 掌握手眼标定的数学模型(AX=XB)、Tsai法与Navy法求解原理,以及点云配准的核心算法(ICP、Point-to-Plane ICP、特征匹配)。
  • 掌握方法: 学会使用点云配准替代传统标定板,构建无靶标手眼标定流程。
  • 动手实战: 基于Python + Open3D + PyRoboVis,从零实现一套完整的点云配准辅助手眼标定系统,并输出标定精度评估报告。
  • 工程落地: 能够处理真实场景中的噪声、遮挡、部分重叠等工程问题,将标定结果部署到实际机器人工作站。

1.4 前置知识

为了确保学习效果,建议学员具备以下基础:

知识领域 具体要求 推荐自学资源
线性代数 矩阵乘法、旋转矩阵、齐次坐标、SVD分解 3Blue1Brown 线性代数系列
机器人学基础 机器人运动学、坐标系变换、DH参数 《机器人学导论》Craig
3D视觉基础 点云表示、刚体变换、ICP算法基本概念 Open3D 官方教程
Python编程 NumPy、Matplotlib、基本面向对象编程 Python官方文档
学习建议: 如果对上述前置知识中的某一项感到生疏,建议在进入第2章之前花1-2天时间快速复习。本课程在第2章会提供一次快速的数学与坐标系基础回顾,帮助大家统一符号和概念。

1.5 课程内容概览

本课程共分为30章,内容组织如下:

课程知识体系架构 课程知识体系架构 模块1:基础理论 第1-5章 模块2:点云配准 第6-12章 模块3:手眼标定 第13-20章 模块4:实战 第21-30章 各模块核心内容 • 模块1:坐标系变换、四元数、李群李代数、相机模型 • 模块2:ICP、Point-to-Plane、特征匹配、鲁棒配准、多视角配准 • 模块3:Tsai法、Navy法、手眼标定精度分析、无靶标标定 • 模块4:完整项目实战、标定板设计、精度验证、部署到真实机器人
重要提示: 本课程所有实战章节均提供完整的可运行代码与数据集。建议学员在学习过程中同步动手操作,不要仅停留在理论阅读。每章末尾的“动手练习”环节是巩固知识的关键。