Files
calibration/T_body_lidar标定数据说明.txt
T

241 lines
8.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
LiDAR、双天线 RTK、IMU 标定数据说明
====================================
文档日期:2026-07-23
配套代码仓库:calibration
标定目标:求解 3D LiDAR 到后轮轴中心车体系的外参 T_body_lidar。
一、重要说明
------------
1. 三批数据的记录格式和用途并不完全相同。export 是每站多帧的完整解码数据,prepared 是从中每站选一帧并配好 RTK 车体位姿后的标定输入。
2. 第一批(data1)、第二批(data2)目前上传的是已经从原始 dlog 数据以及导出的 NPZ 数据。
3. data4 保留了完整逐站 LiDAR dlog 和独立 RTK/IMU rscap,可以从原始记录开始复现。
4. 每一个站点采集 LiDAR 点云时车辆均静止,因此当前 LiDAR-RTK 标定没有使用 IMU进行点云运动畸变校正。
5. data4 中的 IMU 数据保持在 IMU 原始传感器坐标系;当前流程只解析、关联和保存 IMU,没有求解 IMU 外参。
6. 不要修改站点目录名称、prepared 中 station_*.npz 的顺序或 manifest。B 文件中的运动对索引依赖这些顺序。
二、目录结构
----------------------
LiDAR_RTK_calibration_data/
数据说明.txt
data1/
raw/
export/
prepared/
data2/
raw/
export/
prepared/
data4/
raw/
RTKIMUraw/
prepared/
combined/(三传感器混合后的数据,data1、2没有IMU的数据。)
说明:
- data1/export 和 data2/export 是从逐站 dlog 导出的数据。raw 是完整原始数据。
- data1/prepared 和 data2/prepared 是每站选择一帧并重建 RTK 车体位姿后的标定输入。
- data4/raw 是完整原始数据,能够重新生成 export、parsed、combined 和 prepared。
它们可以由 raw 重新生成。
三、第一批数据(data1
-----------------------
1. 数据范围
- 静止站点数量:38 站。
- 站点编号:0138。
- 传感器:3D LiDAR + 双天线 RTK。
- 不包含 IMU。
- 记录格式:旧式逐站 dlog 中同时记录 LiDAR 和 GPS-POST-Z;当前云盘包从已导出的 NPZ 开始。
2. RTK 特点
- 实际 RTK 记录约 10 秒一条,并非预期的 10 Hz。
- 每站有效 RTK 样本较少,部分站点约 1~11 个有效样本。
- 因车辆在每站静止,仍可对站内 RTK 样本做均值并构造站点位姿;但时间同步精度和航向统计能力弱于第二批。
3. 当前用途
- 第一批只作为辅助复核数据。
- 不作为当前部署外参的主要求解数据。
- 不应把第一批写成严格独立的“验证集”,因为 RTK 过于稀疏,且它和第二批的场景、采集流程相近。
4. 上传内容
data1/export/
- 当前文件数约 803。
- 当前大小约 0.088 GB(约 90 MB)。
- 含逐站导出的 LiDAR NPZ、RTK sidecar、manifest 和质量报告。
data1/prepared/
- 当前文件数约 118。
- 当前大小约 0.049 GB(约 50 MB)。
- 核心内容包括:
frames_all/station_*.npz
body_poses_rear_gga_raw_rear_to_front.csv
station_summary.csv
manifest.json
四、第二批数据(data2
-----------------------
1. 数据范围
- 静止站点数量:38 站。
- 原始站点编号:3976。
- prepared 中重新顺序编号为 station_01station_38。
- 传感器:3D LiDAR + 双天线 RTK。
- 不包含 IMU。
- 记录格式与第一批相同,但 RTK 采样正常且明显更密集。
2. RTK 特点
- 每站约有 125~412 个有效 RTK 样本。
- 已使用 fix 4/fix 5 和有效 heading 进行筛选。
- 站内 heading 圆标准差上限使用 0.5°,本批 38 站均通过。
3. 当前用途
- 第二批是当前部署外参的主要求解数据。
- 使用 small_gicp 和 Open3D GICP 分别求 B,再做与 X 无关的质量筛选和跨后端一致性筛选。
- 当前部署外参主要由第二批求得,第一批仅辅助复核。
4. 上传内容
data2/export/
- 当前文件数约 759。
- 当前大小约 0.127 GB(约 130 MB)。
- 含逐站导出的 LiDAR NPZ、RTK 信息、manifest 和质量报告。
data2/prepared/
- 当前文件数约 82。
- 当前大小约 0.033 GB(约 34 MB)。
- 核心内容包括:
frames_all/station_*.npz
body_poses_rear_gga_raw_rear_to_front.csv
station_summary.csv
manifest.json
五、data4 数据
--------------
1. 数据范围
- 静止站点数量:34 站。
- 站点编号:001034。
- 传感器:3D LiDAR + 双天线 RTK + IMU。
- LiDAR 位于每个站点自己的原始 dlog 中。
- RTK 和 IMU 位于独立 rscap 文件中,存放在 RTKIMUraw 目录。
- 原始目录共约 152 个文件,大小约 12.488 GB。
2. RTK/IMU 原始记录
- RTKIMUraw 中当前包含 3 个 RTK rscap 和 3 个 IMU rscap。
- 本次 34 站标定使用 20260723-051627 开始的长时间 RTK/IMU session。
- 该 session 的 capture 审计结果:
RTK54256 个记录块,missing_chunks=0bad_record_crc=0,干净关闭,footer CRC 有效。
IMU26719 个记录块,missing_chunks=0bad_record_crc=0,干净关闭,footer CRC 有效。
3. 时间关联与导出结果
处理顺序为:
统一时间轴
-> 分别解析 LiDAR、RTK、IMU
-> 按每个 LiDAR 帧关联最近有效 RTK
-> 保存 LiDAR 帧前后各 100 ms 的 IMU 窗口
-> 导出 combined NPZ
-> 每站选择一个静止帧生成 prepared
当前关联统计:
- LiDAR 帧总数:11678。
- 34 个站点全部有数据。
- rtk_valid11678。
- heading_valid11678。
- fixed RTK11678。
- IMU 窗口非空:11678。
- RTK 最大允许关联时间差:150 ms。
- IMU 窗口:LiDAR 时刻前后各 100 ms。
时间基础:LiDAR 和串口 host UTC 用于当前关联;RTK GNSS 时间和 IMU 设备时间同时保留,供后续进一步建立精确时钟模型。
4. 当前用途
- data4 用于独立重新求解一套外参,并与历史第二批结果做跨批比较。
- data4 中 IMU 没有参与当前 LiDAR-RTK 外参求解。
- data4 结果与历史部署外参相差约 1.592 cm / 0.234°,但 data4 自身 AX 残差更高,因此当前仍保留历史第二批结果作为部署值。
如果已经上传 data4/raw,则 export、combined 和 parsed 均可以用代码重新生成。为了节省云盘空间,可只额外上传 prepared 和 calibration。
六、三批数据差异汇总
--------------------
第一批:
- 38 站,旧式 LiDAR+RTK dlog,无 IMU。
- RTK 极稀疏,约 10 秒一条。
- 当前上传从 export 开始。
- 只用于辅助复核。
第二批:
- 38 站,旧式 LiDAR+RTK dlog,无 IMU。
- RTK 密集、航向稳定。
- 当前上传从 export 开始。
- 用于当前部署外参的主要求解。
data4
- 34 站,逐站 LiDAR dlog + 独立 RTK/IMU rscap。
- 保存完整原始数据,可从 raw 开始复现。
- 用于独立重算和跨批比较。
- IMU 只保存和关联,尚未完成 IMU 外参标定。
七、标定坐标与主要参数
----------------------
- 外参定义:T_body_lidar,将 LiDAR 原始点变换到后轮轴中心车体系。
- 车体系:x 向前,y 向左,z 向上。
- 手眼方程:A_ij X = X B_ij。
- A_ij:由 RTK 后轮轴中心位置和双天线 heading 构造;当前为 yaw-only 姿态。
- B_ij:由两个静止站点的原始 LiDAR 点云通过 GICP 求得。
- heading_offset_deg21.226°(本车安装参数,不是通用常数)。
- 后天线在车体系杆臂:[ -0.320, -0.365, 0.620 ] m。(手量)
- 后轮轴中心离地高度:0.2335 m,用于地面约束;不是 LiDAR 离地高度。
八、数据使用注意事项
--------------------
1. data1、2 的manifest 中可能仍保留旧脚本生成的 train/validation 字段。这些字段是历史元数据;当前严谨流程将第二批用于求解、第一批用于辅助复核,不把同一批内部的小样本划分描述为高可信度验证集。
2. 不要使用已经变换到车体系的点云求 B,必须使用 NPZ 中的 points_raw。
3. 可视化时,frames_all 必须与生成 B 文件时的站点数量和顺序完全一致。
4. 模式 3(GICP B)本身已经错位时,应优先检查点云配准和场景退化;只有模式 3 正常而模式 4(X^-1 A X)系统性错位时,才优先检查 RTK A、坐标约定或外参 X。
5. 当前结果是工程标定结果,不是由全站仪或高精度标靶认证的绝对真值。
九、配套代码位置
----------------
本机代码仓库:
calibration
根 README.md 包含:
- 从原始数据/导出数据开始的完整复现流程;
- code、tools、run 中每个主要文件的职责;
- small_gicp、Open3D GICP、consensus B 的处理逻辑;
- AX=XB 与地面约束求 X 的方式;
- 残差、Hessian/条件数、bootstrap、跨批检查和 3D 可视化方法。