1. 手眼标定概述:让机器人真正“看见”世界

大家好,我是你们这门课的老朋友。今天咱们聊聊手眼标定。

说实话,我入行那会儿,第一次听到“手眼标定”这四个字,第一反应是——这玩意儿听着就挺玄乎的。后来真正上手做项目,才发现它其实没那么神秘,但确实是个绕不开的坎儿。

什么叫手眼标定?说白了,就是给机器人装上一双“看得准”的眼睛。你想想看,机器人要抓个杯子、拧个螺丝、在管道里巡检一圈,光有摄像头不行,光有机械臂也不行。关键得让摄像头看到的“图像坐标”和机械臂要动的“空间坐标”对上号。这个“对上号”的过程,就是手眼标定。

核心一句话:手眼标定,就是求解相机坐标系与机器人末端(或基座)坐标系之间的变换关系。

1.1 为什么非做手眼标定不可?

你可能要问:我直接把相机装在机械臂上,不就能看了吗?

嗯,这里要注意。相机看到的是像素,机械臂动的是毫米。两者之间差着一个“坐标系变换”。没有这个变换,你告诉机械臂“杯子在图像中心”,它根本不知道往哪儿抓。

我在项目中遇到过最典型的例子:一个视觉引导的抓取工位,相机标定好了,图像识别也准了,但机械臂就是抓偏。折腾了两天,最后发现是手眼标定矩阵里一个旋转参数差了0.5度。你看,差之毫厘,谬以千里。

所以,手眼标定的必要性可以归纳为三点:

  • 打通坐标系统:把像素坐标映射到机器人能理解的物理坐标。
  • 消除安装误差:相机装得再正,也有机械偏差,标定就是修正它。
  • 实现闭环控制:视觉反馈+机器人运动,才能形成真正的智能。

我的经验:别指望“装好了就能用”。哪怕出厂时做过标定,运输震动、温度变化都会让参数漂移。我建议每次换夹具或相机位置后,都重新跑一遍标定流程。

1.2 手眼标定的两种经典模式

根据相机装在哪,手眼标定分成两大流派。我画了张图,你看一眼就明白了。

手眼标定两种模式对比 手眼标定两大模式 眼在手上(Eye-in-Hand) 机械臂 末端 相机 目标 眼在手外(Eye-to-Hand) 机械臂 末端 相机 目标 左:相机随机械臂末端移动,标定的是相机与末端的变换关系 右:相机固定安装,标定的是相机与机器人基座的变换关系

两种模式各有各的脾气:

对比项 眼在手上(Eye-in-Hand) 眼在手外(Eye-to-Hand)
相机位置 固定在机械臂末端 固定在工作空间上方或侧面
标定目标 相机坐标系 → 末端坐标系 相机坐标系 → 基座坐标系
优点 视野随动,可近距离观察目标 视野固定,标定一次长期使用
缺点 标定复杂,需多次变换位姿 目标可能被机械臂自身遮挡
典型场景 抓取、装配、焊缝跟踪 分拣、码垛、全局定位

避坑指南:我曾经在一个Eye-in-Hand项目里,为了省事只拍了3组标定数据。结果解出来的矩阵误差大得离谱。后来老老实实拍了12组不同位姿的数据,精度才达标。记住:标定数据越多、位姿差异越大,结果越稳。

1.3 手眼标定到底用在哪?

聊完理论,咱们看看实战。手眼标定不是实验室里的玩具,它在工业现场天天都在用。

抓取(Pick & Place)

这是最常见的场景。相机看到工件的位置和姿态,机械臂根据标定结果算出抓取点。我做过一个3C电子元件的抓取项目,元件只有指甲盖大小,标定精度必须控制在0.1mm以内。那时候每天盯着标定板看,眼睛都快花了。

装配(Assembly)

装配比抓取更苛刻。你想想,要把一个销子插进一个孔里,视觉引导的误差必须小于配合间隙。我记得有个汽车零部件的装配线,要求标定精度0.05mm。那段时间我天天泡在现场,反复调标定参数。

巡检(Inspection & Patrol)

巡检机器人通常用Eye-to-Hand模式。相机固定在天花板或支架上,机器人带着传感器在下面走。标定好了,机器人才能知道“我看到的这个仪表盘读数,对应的是哪个物理位置”。

一句话总结:只要机器人需要“看”着干活,手眼标定就是第一步。这一步走歪了,后面全是白费功夫。

1.4 本章知识结构一览

为了让你对本章有个整体印象,我整理了一张知识结构图。你可以把它当作一张地图,后面每学一个知识点,都能在这张图上找到位置。

第1章知识结构图 第1章:手眼标定概述 手眼标定核心概念 是什么 坐标系变换 像素→物理坐标 为什么需要 打通坐标系统 消除安装误差 实现闭环控制 应用场景 抓取 装配 巡检 眼在手上(Eye-in-Hand) 眼在手外(Eye-to-Hand)