Personal Knowledge Base

A long-term research and learning notebook for posts, notes, papers, projects, and research directions.

Skip to content
Back to 中国智能车挑战赛筹备 overview

工作记录

多传感器采集 pipeline 验证、四个深坑、场景驱动批量采集器,以及未来 TodoList

3 min read

已完成工作

1. 多传感器采集 pipeline 验证(scripts/data_collection_test.py

  • 打通 WSL2 → Windows CARLA Server(0.9.16)连接,Town10HD 同步模式 20 FPS。
  • 场景:ego(Tesla Model,30 km/h 匀速)+ NPC A(前方 40 m,15 km/h)+ NPC B(对向车道,50 km/h)+ 行人(触发式横穿)。
  • 六传感器同步采集 300 帧:RGB/语义分割/深度 PNG + LiDAR PLY + GNSS/IMU 入 GT CSV。
  • 数据完整性校验全部 PASS(磁盘数 = 计数 = 300,GT 1200 行 = 300 帧 × 4 actors)。

2. 排掉的四个深坑(都是复用时一定会踩的)

  1. 相机预热期丢帧 → 预热循环 + 丢弃预热数据。
  2. listen() 回调内写盘阻塞数据流导致服务端丢帧 → 改为队列架构:回调只 put,主循环按帧号对齐取数保存。
  3. GNSS/IMU 在 0.9.16 同步模式下不推流(探针验证异步正常)→ 自动回退:用 transform_to_geolocation + 速度差分推算填充 GT,metadata 标注 source。
  4. Town10HD 单向多车道找不到对向车道 → 横向逐车道跳跃搜索。

3. 场景驱动的批量采集器(scripts/scenario_collector.py

  • JSON 配置驱动:地图/天气/时长/seed + ego + 任意 NPC/行人。
  • 5 种 spawn 类型、4 种行为类型;transform 绝对位姿为事故数据注入预留。
  • 批量:多配置 × 多 seed,失败自动记录跳过,batch_report.json 汇总,退出码可串联 CI。
  • 确定性:同步模式 + TM/行人种子固定;输出自描述(metadata 内含完整配置)。
  • 版本统一 0.9.16,schema 独立为 configs/scene_schema.json(示例配置已通过校验)。

未来 TodoList

阻塞在上游输入的(等别人)

  • 拿到 L1~L5 五级场景的量化定义(参数范围、难度判据)→ 制作各级示例配置。
  • 拿到位姿恢复组的输出格式 → 开发"轨迹数据 → 场景 JSON"坐标转换工具。
  • 与评测组确认数据交付格式(目录结构、metadata 字段)。

可以开工的(不依赖别人)

  • 跑确定性实验:同 seed 连跑 3 次,diff GT 量化重放偏差 → 定复核容差阈值。
  • 实现 trajectory 行为类型(schema + 采集器):按时间戳轨迹点回放 NPC,含轨迹保真度误差统计。
  • 扩展触发条件:时间触发、速度触发相对任意 actor(ref 泛化)。
  • 自动复核脚本:从 GT 提取关键事件指标(碰撞时刻、最小 TTC、最小间距、速度分布),对照五级定级参数自动判定。
  • 更多示例:变道切入、十字路口、遮挡行人"鬼探头"等典型长尾工况。
  • 完善团队文档:采集器使用说明、踩坑记录(四个深坑值得写进团队 wiki)。
  • 评估 scenario_runner / OpenSCENARIO 是否作为比赛标准接口,决定自研 schema 与之的映射关系。