1. 课程导入
自动泊车(Automated Parking)是智能驾驶技术中最早实现量产落地、也最容易被用户直接感知的功能之一。它看似只是“把车倒进车位”,背后却串联了感知、定位、地图、搜索规划、运动规划、车辆动力学约束、控制执行与安全冗余等完整链路。本课程聚焦其中最关键、也最容易被忽视的一环——搜索规划与车辆约束工程:即在有限空间、有限转向能力、有限感知精度下,如何找到一条“可通行、可执行、可验证”的泊车轨迹。
1.1 自动泊车系统在整车中的位置
从系统架构看,自动泊车并不是一个孤立模块,而是由环境感知、车位识别、车辆状态估计、规划决策、控制执行和人机交互共同构成的闭环系统。其典型数据流如下:超声波雷达、环视摄像头、毫米波雷达提供原始观测;感知融合模块输出车位角点、障碍物轮廓和可行驶区域;定位模块给出车辆在局部坐标系中的位姿;规划模块完成目标位姿生成、路径搜索与轨迹优化;控制模块将轨迹转化为方向盘转角、挡位和车速指令;最后通过EPS、ESP、VCU等执行器完成动作。
1.2 为什么“搜索规划”是自动泊车的分水岭
很多初学者会认为泊车规划就是“倒车入库的几何计算”。实际上,量产泊车面对的是非结构化、强约束、低容错的场景:车位可能被邻车压线、通道宽度仅比车宽多几十厘米、地面标线模糊、超声波存在盲区。此时,规划器必须在离散搜索与连续优化之间做权衡,并始终满足车辆运动学约束。
本课程将围绕三条主线展开:
- 搜索层:Hybrid A*、Reeds-Shepp曲线、Dubin路径、状态格栅与启发式设计,解决“往哪走”的问题。
- 约束层:最小转弯半径、轴距、转向速率、碰撞包络、曲率连续性,解决“能不能走”的问题。
- 工程层:参数标定、仿真回放、实车验证、异常降级,解决“稳定不稳定”的问题。
核心判断:一条泊车轨迹是否合格,不取决于它看起来多平滑,而取决于它是否同时满足车辆约束、碰撞约束和实时性约束。三者缺一,轨迹就不可用。
1.3 课程整体框架
课程共30章,按“基础认知—搜索规划—车辆约束—工程落地”四段递进。下表给出整体框架与学习重点,便于建立全局地图。
| 阶段 | 章节范围 | 核心内容 | 学习产出 |
|---|---|---|---|
| 基础认知 | 第1–5章 | 系统概述、坐标系、车位模型、运动学基础 | 能描述泊车闭环与坐标变换 |
| 搜索规划 | 第6–15章 | Hybrid A*、RS曲线、启发式、状态格栅、轨迹优化 | 能实现并调试搜索规划器 |
| 车辆约束 | 第16–24章 | 转弯半径、碰撞包络、曲率约束、转向速率、参数标定 | 能建立约束模型并校验轨迹 |
| 工程落地 | 第25–30章 | 仿真回放、实车验证、异常降级、性能优化、复盘 | 能完成从仿真到实车的闭环 |
1.4 典型工程场景与常见误区
以一个常见的垂直车位泊入为例:车辆沿通道行驶,右侧发现空车位,系统需要先完成车位确认,再生成目标位姿,随后搜索一条从当前位姿到目标位姿的无碰撞路径。若通道宽度不足,规划器可能需要多次“揉库”;若转向速率受限,轨迹曲率变化必须放缓;若超声波在车位深处出现盲区,碰撞包络需要额外膨胀。
# 典型泊车规划参数片段(示意)
vehicle:
length: 4.80 m
width: 1.85 m
wheelbase: 2.80 m
min_turn_radius: 5.20 m
max_steer_rate: 0.45 rad/s
planner:
search: hybrid_astar
heuristic: reeds_shepp
grid_resolution: 0.15 m
heading_bins: 72
collision_inflation: 0.12 m
constraints:
curvature_limit: 0.192 1/m
curvature_rate_limit: 0.08 1/m²
goal_tolerance: [0.10 m, 0.05 rad]
常见误区一:只关注路径长度,忽略曲率连续性,导致实车方向盘抖动。
常见误区二:碰撞包络只按车宽计算,未考虑后视镜、传感器安装位置和车身俯仰。
常见误区三:仿真中忽略转向速率限制,实车出现“规划可行、执行失败”。
学习建议:每学完一个规划算法,都用同一组车辆参数和同一张车位地图做对比实验,记录搜索时间、路径长度、最大曲率和最小障碍物距离四个指标。这四个指标能覆盖绝大多数工程问题。
本章的目标不是让你立刻写出规划器,而是先建立一张“系统地图”:知道自动泊车由哪些模块组成、搜索规划处在什么位置、车辆约束为什么必须前置考虑、以及后续30章如何一步步从理论走到实车。带着这张地图进入后续学习,你会更容易判断每个算法解决的是哪一类问题,也更容易在工程调试中定位问题来源。