# 车辆多传感器外参标定 本仓库维护两条彼此独立的外参标定流程:**雷达–IMU** 和 **RTK–IMU**。两条流程复用少量通用的几何、IMU 读取和预积分代码,但不共用观测模型、求解器或验收结论。 ## 从这里开始 | 目标 | 阅读文档 | 当前可交付范围 | | --- | --- | --- | | 标定雷达与 IMU | [雷达–IMU 标定](docs/雷达-IMU标定.md) | 旋转与时间关系已有实车候选;平移尚不可交付。 | | 标定双天线 RTK 与 IMU | [RTK–IMU 标定](docs/RTK-IMU标定.md) | 旋转已固定;杆臂以机械测量为基准,并完成动态一致性验证,尚未获得正式工程放行。 | 不要将任何一条流程中被拒绝的平移结果当作完整六自由度外参。是否接受结果,以相应结果 JSON 的 `accepted` 字段和门禁结论为准,而不是仅看优化是否收敛。 ## 两条流程的关系 ```text 雷达–IMU 点云相对运动 + IMU 预积分 → 旋转与时间关系;平移受 IMU 位移误差和激励不足限制 RTK–IMU 双天线基线 + GNSS 位置/速度 + IMU → 天线相位中心相对 IMU 的旋转和杆臂一致性验证 ``` 选择 RTK–IMU 不是用 RTK 替换雷达。它用于解决“雷达–IMU 的平移在当前实车数据上不可可靠交付”这一独立问题;RTK–IMU 的外参也不能自动转换为雷达–IMU 外参。 ## 仓库结构 ```text calibration/ ├─ imu_lidar/ 雷达–IMU 专用算法和命令行入口 ├─ rtk_imu/ RTK–IMU 专用算法 ├─ tools/ 原始数据导出、求解、审计和结果汇总入口 ├─ docs/ 两份规范说明:雷达–IMU、RTK–IMU ├─ artifacts/ 已提交的结果摘要与审核证据 ├─ config/ 车辆安装与流程配置 └─ tests/ 自动化测试 ``` `rtk_imu/` 只允许复用 `imu_lidar/` 中的通用模块:`contracts.py`、`geometry.py`、`geodesy.py`、`imu_io.py`、`imu_preintegration.py` 与 `rotation_handeye.py`。它不依赖雷达专用的点云读取、去畸变、配准、雷达流程编排或雷达联合优化器。 ## 数据与过程文件 原始 `.rscap`、统一导出数据、节点状态、检查点和调试中间结果只保留本地;仓库只提交可复核的代码、工具、配置、说明和结果摘要。RTK–IMU 的正式结果索引在 [artifacts/rtk_imu_calibration_v3/README.md](artifacts/rtk_imu_calibration_v3/README.md)。 ## 开发与验证 ```powershell python -m pip install -e ".[dev]" python -m pytest -q ``` 雷达点云处理需要时再安装可选依赖:`python -m pip install -e ".[open3d]"`。