完善 LiDAR–双天线 RTK 手眼标定仓库:补充旧式及多传感器数据导出、small_gicp/Open3D GICP 标定、结果复核与3D可视化流程,并整理三批数据和标定结果说明。

This commit is contained in:
lichun.qu
2026-07-23 18:55:50 +08:00
parent 6b7844a977
commit f72fcb71cc
91 changed files with 39561 additions and 503 deletions
+15 -54
View File
@@ -1,60 +1,21 @@
# 标定结果索引
# 结果目录
本目录保存本次双天线 RTK—3D LiDAR 手眼标定的可复现结果。坐标约定统一为:
本目录只归档轻量标定产物,不包含原始 dlog、rscap、逐帧 NPZ 或完整点云。
```text
X = T_body_lidar
```
即外参将**原始 LiDAR 点**变换到以**后轮轴中心**为原点、X 前/Y 左/Z 上的车体系。
## 部署时只使用这一个文件
[`final_extrinsic_deployment.json`](final_extrinsic_deployment.json) 是唯一用于部署的外参文件:
```text
translation [m] = [ 1.297759692, -0.000067331, 0.720497835 ]
RPY xyz [deg] = [ -0.785151146, 1.202660822, -0.835510053 ]
```
## 顶层汇总文件
| 文件 | 用途 | 是否用于部署 |
| 目录 | 内容 | 使用建议 |
|---|---|---|
| [`final_extrinsic_deployment.json`](final_extrinsic_deployment.json) | 精简、固定的最终外参;含平移、RPY、四元数和 4×4 矩阵。 | **是,唯一入口** |
| [`final_extrinsic_recommended.json`](final_extrinsic_recommended.json) | 同一算法外参的完整求解记录、残差、地面约束、条件数和 Bootstrap。 | 否;用于审计/复现。 |
| [`final_summary.json`](final_summary.json) | 共识结果的摘要。 | 否;用于查看指标。 |
| [`comparison_summary.json`](comparison_summary.json) | Open3D GICP、small_gicp 与共识解的对比。 | 否;用于方法对比。 |
| `01_previous_two_batches/` | 第二批求解、第一批辅助复核的历史部署结果;含 Open3D、small_gicp、consensus B、质量和灵敏度文件 | 当前部署基线 |
| `02_data4_calibration/` | data4 的 Open3D、small_gicp、consensus B 和独立 X | 候选/稳定性证据 |
| `03_comparison/` | 两套 X 的 SE(3) 差以及互换批次后的 AX 残差 | 跨批判断依据 |
`final_extrinsic_deployment.json``final_extrinsic_recommended.json` 的外参数值相同;前者只是删除了求解过程字段,供上游程序稳定读取
最终部署文件是 `01_previous_two_batches/final_extrinsic_deployment.json``02_data4_calibration/final_extrinsic_data4.json` 不应在没有新增独立证据时覆盖它
## 子目录
常见文件:
| 目录 | 内容 | 用途 |
|---|---|---|
| [`common/`](common/) | 第二批每个静止站点拟合得到的地面平面。 | 地面约束检查。 |
| [`open3d_gicp/`](open3d_gicp/) | Open3D GICP 生成的 LiDAR 相对运动 B、质量指标、精筛记录和对应外参。 | 后端一的独立结果。 |
| [`small_gicp/`](small_gicp/) | small_gicp 生成的 LiDAR 相对运动 B、质量指标、精筛记录和对应外参。 | 后端二的独立结果。 |
| [`consensus/`](consensus/) | 两后端一致性筛选后的共识 B,共识外参和第一批辅助复核。 | 主要求解依据。 |
| [`diagnostics/`](diagnostics/) | 单运动对 roll/pitch/yaw 局部灵敏度扫描。 | 仅诊断,不可直接当外参。 |
## 如何识别 B 文件
每个 `.npz` 都是 LiDAR 相对运动集合 `B_ij = T_Li_Lj`,把第 j 个静止站点的点云变换到第 i 个站点 LiDAR 坐标系。它们不是车体—雷达外参,不能直接写入部署配置。
- `B_batch2_*`:第二批 38 站高频 RTK 数据,主要求解使用。
- `B_batch1_*`:第一批 38 站稀疏 RTK 数据,仅作辅助复核。
- `*_estimation.npz`:点云配准的初始候选集合。
- `*_refined.npz`:经过点云质量门限后的集合。
- `consensus/B_batch2_consensus.npz`Open3D 与 small_gicp 对同一运动对的 B 差异不超过 `0.05 m / 0.50°` 后保留的 39 对;它是最终主求解输入。
同名的 `.quality.json/.csv` 记录配准质量,`.refinement.json` 记录精筛过程,`.consensus.json` 记录跨后端一致性筛选。它们都用于追溯,不用于部署。
## 结果使用边界
- 主结果由第二批数据求解;第一批只作为独立辅助检查,不参与主结果拟合。
- B 的筛选先于 X 的求解,并且不读取待求外参 X,不用 AX 残差反过来选择 B。
- 第二批共识集的 AX RMS 为 `0.07985 m / 0.96118°`;旋转残差约 1°,因此不是厘米级绝对精度认证。
- 当前 RTK 轨迹只有位置和 yaw,没有 roll/pitch。AX 残差对 Z 不可观;Z 必须结合地面约束和独立机械量测确认。
更多流程、运行命令和可视化说明见仓库根目录的 [`README.md`](../README.md)。
- `B_*_estimation.npz`:后端原始运动对 B。
- `B_*_quality.json/csv`:配准和 Hessian/信息矩阵质量。
- `B_*_refined.npz`X 无关筛选后的 B。
- `B_*_consensus.npz``consensus/B_consensus.npz`:双后端认可的 B。
- `extrinsic*.json`:由对应 B 和地面约束求出的 X。
- `*_check.json`:把给定 X 应用于另一批 B 的残差,不是重新求 X。
- `ground_planes*.csv`:每站地面平面参数。