笛卡尔坐标系转换(外参矩阵原理与用途)
1. 外参矩阵定义
外参矩阵(Extrinsic Matrix)描述 两个笛卡尔坐标系之间的几何关系,由以下两部分组成:
- 旋转矩阵 R:表示一个坐标系相对于另一个坐标系的方向
- 平移向量 t:表示一个坐标系原点在另一个坐标系中的位置
公式:
X目标=RX源+t
\mathbf{X}_{\text{目标}} = R \mathbf{X}_{\text{源}} + \mathbf{t}
X目标=RX源+t
齐次矩阵形式:
T=[Rt0⊤1]
T = \begin{bmatrix} R & \mathbf{t} \\ \mathbf{0}^\top & 1 \end{bmatrix}
T=[R0⊤t1]
X_{源} 为源坐标系下的点,X_{目标} 为目标坐标系下的点。
2. 原理
外参矩阵的核心原理是线性空间变换:
- 旋转 R:调整坐标系的方向,使两个坐标系的轴对齐
- 平移 t:将源坐标系的原点移动到目标坐标系的位置
本质上,外参矩阵是两个笛卡尔坐标系之间的“桥梁”,不依赖坐标来源,只要是笛卡尔坐标系即可使用。
3. 使用条件
- 必须是 笛卡尔直角坐标系 (x, y, z)
- 单位、方向、原点可以任意定义,只要两个坐标系一致即可
| 坐标类型 | 外参可用性 | 说明 |
|---|---|---|
| 棋盘板坐标 | ✅ | 相机标定常用 |
| SLAM 世界坐标 | ✅ | 局部坐标系 |
| ROS map/odom | ✅ | 机器人本地坐标 |
| LiDAR/IMU | ✅ | 笛卡尔系 |
| UTM / ENU | ✅ | 地理坐标投影成平面坐标 |
| 经纬度/海拔 | ❌ | 球面坐标,需要先转换成笛卡尔系 |
4. 主要用途
-
坐标系转换
- 将点从源坐标系转换到目标坐标系
-
相机标定
- 描述相机相对于标定板或世界坐标系的位姿
- 用于图像点在不同坐标系间投影
-
多传感器融合
- LiDAR ↔ 相机、IMU ↔ 相机之间坐标统一
-
机器人与无人车定位
- 将传感器或车辆局部坐标转换到地图或全局坐标
-
SLAM / VIO 系统
- 将局部特征点从源坐标系转换到目标世界坐标
-
仿真与虚拟场景
- Unity / Gazebo 世界坐标系 ↔ 相机坐标系
5. 核心结论
- 坐标系转换本质 = 旋转 + 平移
- 适用于 任意两个笛卡尔坐标系之间的转换
- 源坐标可以是棋盘板、SLAM世界坐标、机器人地图坐标、UTM/ENU 等
- 不适用球面坐标(经纬度),必须先投影成笛卡尔坐标
- 是多传感器融合和坐标系转换的核心工具
6. 内参 vs 外参对比
- 内参矩阵:描述相机内部参数(焦距、主点、像素比例等)
- 外参矩阵:描述坐标系之间的位置和方向(旋转 + 平移)
简单理解:内参负责“相机镜头特性”,外参负责“坐标系之间的位置和姿态”。
