4. 泊车场景分类
泊车场景分类是泊车仿真与回归测试工程的“第一层坐标系”。如果场景分类定义不清,后续的传感器建模、路径规划评价、回归用例筛选都会失去统一基准。本节从车位几何、车辆姿态、通道约束和障碍物分布四个维度,给出五类典型泊车场景的工程化定义,并说明它们在仿真中的参数化方式与测试关注点。
一、核心原理:用几何与运动学特征划分场景
泊车场景的本质是“车辆在有限空间内完成位姿调整”。因此分类不应只按名称记忆,而应抓住三个可量化特征:车位与通道的夹角、车位长度/宽度与车身尺寸的比值、可用调整空间(通道宽度、前后余量)。这三个特征直接决定泊车是“一把入库”还是“多段揉库”,也决定规划算法是采用圆弧拼接、Reeds-Shepp 曲线还是混合 A*。
统一参数记号:车位长度 Ls、车位宽度 Ws、通道宽度 Wa、车身长 Lv、车身宽 Wv、车位轴线与通道轴线夹角 θ。当 θ=0° 为平行泊车,θ=90° 为垂直泊车,0°<θ<90° 为斜列泊车。
二、五类场景的工程定义与参数范围
下表给出可直接写入仿真配置的场景定义清单。工程中建议把“车位尺寸比”和“通道宽度比”作为回归用例的分层变量,而不是只按场景名称打标签。
| 场景类型 | 夹角 θ | 关键尺寸条件 | 典型操作 | 测试关注点 |
|---|---|---|---|---|
| 平行泊车 | 0° | Ls≈1.1~1.4 Lv,Wa≥1.5 Wv | 侧向倒入,两段圆弧 | 后向盲区、路沿距离、揉库次数 |
| 垂直泊车 | 90° | Ws≈1.1~1.3 Wv,Wa≥2.5 Wv | 直角倒入或车头进入 | 通道内摆正、邻车开门余量 |
| 斜列泊车 | 30°~60° | Ws≈1.2 Wv,通道单向 | 顺向斜入 | 角度对齐、方向性、出口视野 |
| 车库泊车 | 90°或0° | 三面墙/柱,开口宽度≈1.1 Wv | 低速精准入库 | 边界距离、后墙防撞、重复定位 |
| 窄通道泊车 | 任意 | Wa≤1.3 Wv,前后余量小 | 多段揉库、原地转向 | 最小转弯半径、路径可行性、碰撞 |
三、方法流程:从场景定义到仿真用例
- 几何参数化:把车位、通道、障碍物抽象为带位姿的矩形或折线,写入场景描述文件。
- 初始位姿采样:在通道内按横向偏移、航向角偏差、纵向距离三维采样,覆盖“理想—临界—失败”区间。
- 动态元素注入:加入邻车、行人、开门车辆等动态障碍,形成交互型泊车用例。
- 评价指标绑定:为每类场景绑定成功率、揉库次数、最小安全距离、耗时等指标。
- 回归分层:按场景类型和难度等级建立冒烟集、核心集和扩展集。
# 场景描述片段示例(YAML 风格)
scene:
type: parallel
theta_deg: 0
slot: {length: 6.2, width: 2.4}
aisle_width: 4.5
ego: {length: 4.8, width: 1.9, wheelbase: 2.8}
init_pose: {x: 8.0, y: 1.2, yaw_deg: 5.0}
obstacles:
- {type: vehicle, x: 2.0, y: 0.0, yaw_deg: 0}
- {type: vehicle, x: 8.5, y: 0.0, yaw_deg: 0}
metrics: [success_rate, shuffle_count, min_clearance]
四、案例与误区复盘
案例:某项目在垂直泊车回归中通过率 98%,但实车在斜列泊车中频繁压线。复盘发现仿真用例只覆盖 θ=90°,未对 θ=45° 的斜列车位做角度对齐测试。补充斜列场景后,规划模块的航向收敛问题被快速定位。
常见误区一:把“车库泊车”简单等同于“垂直泊车”。车库的三面封闭边界会显著改变可行驶区域,后墙和侧墙的距离约束必须单独建模。
常见误区二:窄通道泊车只调小通道宽度,却忽略前后余量。实际窄通道中,前后车辆的纵向间距往往才是决定能否揉库成功的关键。
常见误区三:场景分类只用于打标签,不参与参数采样。正确做法是把 θ、Ls/Lv、Wa/Wv 作为连续变量,在边界附近加密采样,才能暴露规划算法的临界失效。
综上,五类泊车场景的定义应落到可计算的几何参数和可复现的用例配置上。只有把场景分类与参数采样、评价指标、回归分层绑定,泊车仿真才能真正支撑回归测试工程,而不是停留在名词解释层面。