1. 手眼标定概述:让机器人真正“看见”世界
大家好,我是你们这门课的老朋友。今天咱们聊聊手眼标定。
说实话,我入行那会儿,第一次听到“手眼标定”这四个字,第一反应是——这玩意儿听着就挺玄乎的。后来真正上手做项目,才发现它其实没那么神秘,但确实是个绕不开的坎儿。
什么叫手眼标定?说白了,就是给机器人装上一双“看得准”的眼睛。你想想看,机器人要抓个杯子、拧个螺丝、在管道里巡检一圈,光有摄像头不行,光有机械臂也不行。关键得让摄像头看到的“图像坐标”和机械臂要动的“空间坐标”对上号。这个“对上号”的过程,就是手眼标定。
核心一句话:手眼标定,就是求解相机坐标系与机器人末端(或基座)坐标系之间的变换关系。
1.1 为什么非做手眼标定不可?
你可能要问:我直接把相机装在机械臂上,不就能看了吗?
嗯,这里要注意。相机看到的是像素,机械臂动的是毫米。两者之间差着一个“坐标系变换”。没有这个变换,你告诉机械臂“杯子在图像中心”,它根本不知道往哪儿抓。
我在项目中遇到过最典型的例子:一个视觉引导的抓取工位,相机标定好了,图像识别也准了,但机械臂就是抓偏。折腾了两天,最后发现是手眼标定矩阵里一个旋转参数差了0.5度。你看,差之毫厘,谬以千里。
所以,手眼标定的必要性可以归纳为三点:
- 打通坐标系统:把像素坐标映射到机器人能理解的物理坐标。
- 消除安装误差:相机装得再正,也有机械偏差,标定就是修正它。
- 实现闭环控制:视觉反馈+机器人运动,才能形成真正的智能。
我的经验:别指望“装好了就能用”。哪怕出厂时做过标定,运输震动、温度变化都会让参数漂移。我建议每次换夹具或相机位置后,都重新跑一遍标定流程。
1.2 手眼标定的两种经典模式
根据相机装在哪,手眼标定分成两大流派。我画了张图,你看一眼就明白了。
两种模式各有各的脾气:
| 对比项 | 眼在手上(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 本章知识结构一览
为了让你对本章有个整体印象,我整理了一张知识结构图。你可以把它当作一张地图,后面每学一个知识点,都能在这张图上找到位置。