1. 多传感器融合中的外参处理核心逻辑
在GNSS/IMU/Camera多传感器融合系统中,外参标定是确保数据时空统一的基础环节。GICI框架通过multisensor_estimating.cpp中的EstimatorType::GnssImuCameraSrr分支,实现了传感器外参的标准化处理。这个过程的本质是将所有传感器的测量值转换到统一的Body坐标系下,为后续的状态估计建立一致的参考基准。
关键理解:外参(extrinsics)描述的是传感器之间的相对位姿关系,通常用4x4齐次变换矩阵表示,包含旋转和平移分量。在多传感器系统中,必须建立统一的"锚点坐标系"(这里是Body系),否则不同传感器的观测数据将无法正确关联。
1.1 坐标系定义与转换关系
系统涉及三个核心坐标系:
- IMU坐标系:以IMU中心为原点,通常遵循右手定则(前-右-下)
- Body坐标系:载体坐标系,根据应用场景定义(如车辆重心)
- Camera坐标系:以相机光心为原点,Z轴指向成像方向
外参矩阵T_A_B表示从坐标系B到坐标系A的变换,其数学形式为:
code复制[R | t]
[0 | 1]
其中R是3x3旋转矩阵,t是3x1平移向量。这个矩阵既可以用于点坐标变换,也可以用于协方差矩阵的转换。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. GNSS外参处理实现细节
2.1 输入参数解析
代码中gnss_imu_init_options_包含两个关键参数:
gnss_extrinsics:GNSS天线相位中心相对于IMU的位姿gnss_extrinsics_initial_std:外参初始不确定度(协方差)
这两个参数都需要从IMU系转换到Body系,转换过程调用ImuEstimatorBase::rotateImuToBody方法:
cpp复制gnss_imu_init_options_.gnss_extrinsics =
ImuEstimatorBase::rotateImuToBody(
gnss_imu_init_options_.gnss_extrinsics,
imu_base_options_);
