Personal Knowledge Base

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

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

项目总览

赛事定位、大组任务分工,以及我在采集与复核环节的任务规划(按优先级排序)

7 min read

赛事定位

摆脱以往依托真实车辆的智能车比赛模式,转入开放世界驾驶智能体与能力边界挑战:高效测试驾驶智能体在高危、长尾工况下的交互预测、行为决策、轨迹规划能力,突出状态层面的不确定性识别,降低驾驶智能体能力边界的检验门槛。

核心模式:统一环境、标准接口、算法容器提交、服务器集中评测。参赛队只开发并提交算法容器;仿真环境、隐藏场景和正式评分均由组委会统一控制。

大组内分工:设计公开示例任务、隐藏任务难度分级、参数与场景。

大组任务内容

  1. 位姿恢复:从事故视频/场景数据中恢复自车及关键参与者的位姿信息,建立统一坐标表达,为后续 CARLA 注入提供基础。
  2. 行为表达:将位姿、行为、时序等信息转换为 CARLA 中可执行的动态 Actor、行为脚本和场景逻辑,实现统一行为表达。
  3. 难度分级:基于采集数据和场景参数,制定 L1/L2/L3/L4/L5 五级场景标准,定义难度边界和参数范围。
  4. 采集与复核:在 CARLA 中采集不同场景下的数据,纠正和复核不同事故场景以及对应的五级场景生成结果。

我负责第 4 项:在 CARLA 中采集不同场景下的数据,纠正和复核不同事故场景以及对应的五级场景生成结果

我的任务(按优先级排序)

1. 先和上下游把接口定死(最优先)

我卡在中间环节,接口不清楚后面全返工:

  • 对上游(位姿恢复组):约定输入格式——坐标系定义(原点在哪、朝向、右手/左手系)、时间基准(频率、时间戳单位)、参与者清单(类型、尺寸、哪些算"关键参与者")、轨迹采样间隔、置信度字段。
  • 对场景标准组:拿到 L1~L5 的量化定义,而不是文字描述——每个参数的范围(车速、TTC、遮挡程度、参与者数量、光照天气等)和难度边界判据。
  • 对评测组:确认数据交付格式(目录结构、metadata 字段、命名规范)。现在的 pipeline 输出的 metadata.json 已经是个不错的雏形。

2. 把采集脚本工程化成"场景驱动"

现在的 data_collection_test.py 是硬编码单场景,下一步要改成:

  • 场景配置文件驱动:一个 JSON/YAML 描述一张图 + 一组 actor(类型、初始位姿、轨迹/行为脚本、触发)→ 采集器读配置自动生成,不再改代码。
  • 批量运行能力:循环跑 N 个场景 × M 个随机种子,无人值守,失败自动记录跳过。
  • 确定性保证:同步模式 + 固定种子,同一场景重放结果一致(这是"复核"工作的前提)。

3. 补齐"轨迹注入"能力(和现有 TM 方式不同)

事故复现的核心难点:NPC 不能交给 Traffic Manager 自由发挥,必须精确复现源数据轨迹。要准备两种模式:

  • 确定性回放:每帧 set_transform() 按采样轨迹硬摆位(最精确,但无物理)。
  • 轨迹跟踪控制apply_control + 速度/航向闭环跟踪轨迹点(有物理、可被自车交互影响,但会跑偏)。

两种都要验证精度:位置误差、到达关键时刻(碰撞点)的时间误差。

4. 建立"复核"的量化标准(核心职责)

"纠正和复核"不能靠眼睛看视频,要有 checklist 和自动校验:

  • 轨迹保真度:CARLA 内实际轨迹 vs 源数据轨迹的逐帧位置/航向误差,定阈值(如位置 < 0.3 m)。
  • 关键事件核验:碰撞是否发生、碰撞时刻、最小 TTC、最小间距——可以写脚本从 ground_truth.csv 自动算。
  • 五级定级核验:用同一脚本从 GT 提取难度指标(车速、TTC 分布、交互次数),检查是否落在该级的参数范围内。
  • 传感器数据质量:已有的文件数校验 + 图像抽查(遮挡、曝光异常)。

5. 环境与工具链固化

  • 版本统一:我现在是 0.9.16 Server,组里其他人可能用 0.9.15——尽快统一,并把 Server 安装包、egg、地图包(Town10HD 是额外下载的)存档分发。
  • 场景库选型:确定用哪些地图、是否引入 OpenSCENARIO(scenario_runner 是 CARLA 官方场景工具,值得评估,比赛方很可能用它做标准接口)。
  • 存储预算:RGB 1280×720 PNG 约 12 MB/帧,15 秒场景约 500 MB1 GB,批量前规划好磁盘。

6. 近期行动顺序

  1. 找场景标准组要 L1L5 量化定义草案(没有就推动先出 35 个示例任务的定义)。
  2. 现有脚本重构为"配置驱动 + 批量运行 + 自动校验"的采集器 v1。
  3. 用 1 个真实事故恢复数据走通"位姿 → 注入 → 回放 → 误差核验"全流程。
  4. 用同一配置连跑 3 次验证确定性。
  5. 输出一份《场景采集与复核规范》草案给大组评审。