run目录
根README包含完整复现命令;这里仅列入口职责。
| 脚本 | 用途 |
|---|---|
run_full_pipeline.ps1 |
调用一步导出得到 combined/,再跑到最终 T_RTK_lidar |
export_multisensor_stations.ps1 |
薄封装:调用 tools/export_raw_to_combined.py |
prepare_multisensor_dataset.ps1 |
每站选一帧,生成yaw-only RTK参考轨迹和frames_all |
run_direct_rtk_lidar.ps1 |
从combined数据运行RTK直接标定和最终结果封装 |
run_single_dataset.ps1 |
执行地面、两个GICP后端、精筛、共识和AX=XB求解 |
run_joint_rtk_lidar.ps1 |
合并多个独立批次的批内共识运动对和地面平面,求解共享外参 |
view_result.ps1 |
打开3D运动对对比并打印数值增量 |
原始→中间包请优先直接用 Python 一步导出(与 Lidar-IMU 用法对齐):
python tools\export_raw_to_combined.py --stations-root ... --rtk-rscap ... --imu-rscap ... --out ... --overwrite
常用参数:
- 新车站目录为 H32 raw dlog(自动识别
frontlidar-msop-raw/frontlidar-difop-raw) -LidarCaptureName h32.rscap:仅旧站.rscap文件名(也接受lidar.rscap)-TimeBasis device_gnss(默认):雷达设备时 ↔ GNSS week/TOW(新 dlog / rscap)-TimeBasis host:旧「已解码点云」dlog + 主机接收时间关联
所有路径均为命令行参数。标定入口要求显式传入RTK/GGA参考点离地高度,避免静默使用与实车不符的默认值;默认生成目录work/和outputs/不会提交Git。
G90 + H32 连续录制数据按站导出
如果各站不是独立目录,而是记录在多个 Medulla DLog ZIP 和 G90 .rscap 中,使用:
python tools\export_g90_h32_windows_to_combined.py `
--segments-csv <rtk_lidar_station_segments.csv> `
--lidar-dlog <dump_1.zip> --lidar-dlog <dump_2.zip> `
--rtk-rscap <g90_1.rscap> --rtk-rscap <g90_2.rscap> `
--out <output_root> --expected-stations 27 --frame-stride 5
该入口使用 MSOP 的主机接收 UTC 与 G90 串口主机接收 UTC 做近邻关联,同时保留雷达包内设备时间作为审计字段。它只读取原始文件,生成 export/、combined/ 和摘要,不使用 IMU。--frame-stride 仅控制参与标定的点云帧密度,不改变站点时间窗。
如果雷达 ZIP 扫描已经完成但后续步骤中断,可保留 export/ 并续跑:
python tools\export_g90_h32_windows_to_combined.py --reuse-export --segments-csv <csv> --rtk-rscap <g90.rscap> --out <output_root> --expected-stations 27
在尚未测得 GGA/ANT1 相位中心离地高度时,可先生成 combined/,再运行 prepare_multisensor_dataset.ps1 得到 prepared/。最终外参求解仍需显式传入真实离地高度,不应留空或猜测。