2. 三维感知基础
机器人要理解三维世界,第一步是获得“带距离的像素”。普通相机只能记录二维亮度,而三维感知传感器需要回答一个更关键的问题:空间中某个点距离传感器有多远、在什么方向。围绕这个问题,深度相机、激光雷达和结构光传感器形成了三条典型技术路线。理解它们的物理原理、坐标系定义和标定方法,是后续点云配准、融合与建图的基础。
一、三类主流三维传感器原理
深度相机通常指基于飞行时间(ToF)或双目立体视觉的相机。ToF 通过发射调制红外光并测量往返相位差或飞行时间,直接得到每个像素的深度值;双目则通过左右图像中同一物体的视差,利用三角测量计算深度。深度相机的优势是能同步获得彩色纹理与稠密深度图,帧率高、体积小,适合近距离交互与避障,但受环境光、反射率和量程限制明显。
激光雷达(LiDAR)通过发射激光脉冲并测量回波时间,得到高精度距离。机械旋转式雷达在水平方向扫描,形成一圈圈扫描线;固态雷达则通过光学相控阵或微振镜实现扫描。激光雷达测距精度高、量程远、不受环境光影响,但点云稀疏、成本较高,且对雨雾和黑色低反射表面敏感。
结构光传感器主动投射已知编码图案(如条纹、散斑),由相机拍摄被物体表面调制后的图案,通过图案形变解算深度。它在近距离内精度极高,常用于人脸识别与工业检测,但易受强光和透明、镜面材质干扰,作用距离较短。
二、坐标系定义:从传感器到世界
三维感知中至少涉及四类坐标系,它们之间的变换关系决定了点云能否正确叠加。
- 像素坐标系:图像平面上的 (u, v),单位是像素,原点通常在左上角。
- 相机坐标系:以光心为原点,Z 轴沿光轴向前,X、Y 与图像平面平行,单位通常为米。
- 雷达坐标系:以激光雷达旋转中心为原点,X 向前、Y 向左、Z 向上,符合右手系。
- 世界坐标系:机器人或场景的全局参考系,用于统一多传感器与多帧数据。
从像素到相机坐标的映射由内参矩阵 K 描述,包含焦距 fx、fy 和主点 cx、cy;从相机到世界则依赖外参旋转矩阵 R 与平移向量 t。标定的本质,就是求取这些内参和外参。
# 相机内参矩阵 K
K = [[fx, 0, cx],
[ 0, fy, cy],
[ 0, 0, 1]]
# 相机坐标系到世界坐标系的变换
P_world = R * P_cam + t
三、标定方法流程
标定分为内参标定和外参标定两个层次。内参标定常用棋盘格或圆点标定板,采集多角度图像后,通过张正友标定法求解 K 和畸变系数。外参标定则要确定传感器之间的相对位姿,常见方法包括:
- 相机-雷达标定:在场景中放置标定板,分别提取图像角点和点云平面,通过最小化重投影误差求解 R、t。
- 多雷达标定:利用共同视野中的平面、角点或特征,配准两片点云,常用 ICP 及其变体。
- 手眼标定:当传感器安装在机械臂末端时,通过多次运动求解传感器与末端执行器之间的固定变换。
四、典型场景与常见误区
以移动机器人为例:激光雷达提供远距离稀疏点云用于定位与建图,深度相机提供近距离稠密深度用于避障与抓取,结构光用于精细操作。三者融合时,必须先把各自点云变换到同一世界坐标系,再进行时间同步和空间对齐。
| 传感器 | 典型量程 | 输出形式 | 主要误差来源 |
|---|---|---|---|
| 深度相机 | 0.3–5 m | 稠密深度图 | 环境光、反射率、多路径 |
| 激光雷达 | 10–200 m | 稀疏点云 | 雨雾、低反射面、运动畸变 |
| 结构光 | 0.2–2 m | 高精度深度图 | 强光、透明/镜面材质 |
掌握传感器原理、坐标系定义与标定方法后,才能把不同来源的三维数据放到同一个空间框架中。这是点云融合、SLAM 和三维重建能够稳定工作的前提。