2. 基础知识
自动泊车系统的核心任务,是让车辆在低速、狭小空间内完成从起始位置到目标车位的精确运动控制。与高速驾驶场景不同,泊车工况下车辆速度通常低于 10 km/h,轮胎侧偏角极小,此时车辆的运动特性可以忽略动力学中的惯性力和轮胎侧偏特性,转而采用更简洁、更利于实时计算的运动学模型来描述车辆状态。本章将围绕自动泊车路径规划与轨迹跟踪中最基础的两个运动学模型——自行车模型与阿克曼转向模型——展开深入讲解,同时系统梳理全局坐标系、车辆坐标系、 Frenet 坐标系之间的定义与转换关系,为后续路径规划算法设计和轨迹跟踪控制器开发奠定坚实的数学基础。
2.1 自行车模型:低速泊车场景的核心简化
2.1.1 核心原理与模型推导
自行车模型(Bicycle Model)又称"单轨模型",其核心思想是将车辆的前后轴分别简化为一个车轮,并假设车辆在低速行驶时满足以下条件:车辆纵向速度恒定或缓慢变化、轮胎侧偏角忽略不计、车辆质心位于后轴中心或前后轴之间的固定位置。在自动泊车场景中,车速通常不超过 5 m/s,上述假设完全成立,因此自行车模型成为泊车路径规划与控制中使用频率最高的运动学模型。
设车辆后轴中心为参考点,其全局坐标为 (x, y),车辆航向角为 θ,前轮转角为 δ,轴距为 L,纵向速度为 v,则自行车模型的运动学微分方程为:
ẋ = v · cos(θ)
ẏ = v · sin(θ)
θ̇ = v · tan(δ) / L
其中,前轮转角 δ 是控制输入,速度 v 可以是常数(如泊车时的定速巡航)或可变控制量。该模型的关键特征在于:车辆的运动轨迹完全由前轮转角 δ 和速度 v 决定,且存在一个重要的几何约束——车辆的瞬时转弯半径 R = L / tan(δ)。当 δ 趋近于 0 时,转弯半径趋近于无穷大,车辆直线行驶;当 δ 达到最大转角(通常为 30°~35°)时,转弯半径最小,对应泊车场景中的最小转弯半径。
2.1.2 模型适用性与边界条件
在实际工程应用中,需要明确自行车模型的适用边界。下表总结了该模型在不同工况下的适用性判断:
| 工况特征 | 适用性 | 原因分析 |
|---|---|---|
| 车速 ≤ 10 km/h,泊车入位 | ✅ 完全适用 | 轮胎侧偏角极小,运动学假设成立 |
| 车速 10~30 km/h,低速跟车 | ⚠️ 近似适用 | 需引入侧偏刚度修正,否则误差累积 |
| 车速 > 30 km/h,变道/过弯 | ❌ 不适用 | 必须使用动力学模型(如二自由度模型) |
| 倒车入库(R档) | ✅ 完全适用 | 速度更低,模型对称性可保持 |
值得注意的是,自行车模型在倒车场景中同样适用,只需将速度 v 取负值即可。但倒车时车辆的转向特性与前进时存在差异(如转向灵敏度变化),在轨迹跟踪控制器设计中需要额外考虑。
2.1.3 案例拆解:平行车位泊车路径生成
以典型的平行车位泊车为例,假设车位长度为 6m,车位宽度为 2.5m,车辆轴距 L = 2.7m,最大前轮转角 δ_max = 32°。泊车路径通常由两段圆弧和一段直线组成:车辆先沿直线行驶至起始点,然后以最大转角倒车入位,再反向转向调整姿态。
利用自行车模型,可以精确计算每段路径的几何参数:
- 最小转弯半径计算:R_min = L / tan(δ_max) = 2.7 / tan(32°) ≈ 4.32m
- 第一段圆弧:车辆从起始点以半径 R₁ = 4.5m 倒车转向,转过角度 α₁ = 45°,对应弧长 s₁ = R₁ × α₁ ≈ 3.53m
- 直线调整段:车辆沿直线倒车,长度 s₂ = 1.2m,用于调整车辆与车位的对齐角度
- 第二段圆弧:车辆以半径 R₂ = 4.5m 反向转向,转过角度 α₂ = 45°,完成入位
通过上述计算,可以生成一条平滑的泊车路径。在实际工程中,还需要对路径进行平滑处理(如使用 B 样条曲线或贝塞尔曲线),确保曲率连续,避免车辆在路径切换点产生转向突变。
2.2 阿克曼转向模型:四轮转向几何约束
2.2.1 阿克曼转向原理
阿克曼转向(Ackermann Steering)是汽车转向系统的基本几何原理,其核心目标是保证车辆在转弯时,所有车轮都围绕同一个瞬时转向中心做纯滚动运动,从而避免轮胎产生侧滑。对于前轮转向的四轮车辆,内轮和外轮的转角必须满足以下关系:
cot(δ₀) − cot(δᵢ) = B / L
其中,δ₀ 为外侧前轮转角,δᵢ 为内侧前轮转角,B 为轮距(左右前轮中心距),L 为轴距。当车辆以速度 v 和横摆角速度 ω 转弯时,瞬时转向中心位于后轴延长线上,转弯半径 R = v / ω。
在自动泊车系统中,阿克曼转向模型的意义在于:路径规划算法输出的前轮转角 δ 通常是"等效转角"(即自行车模型中的前轮转角),而实际车辆的前轮需要按照阿克曼几何关系分配内外轮转角。如果忽略这一约束,直接让内外轮转角相等,会导致轮胎侧滑、磨损加剧,严重时甚至导致车辆偏离预期轨迹。
2.2.2 自行车模型与阿克曼模型的融合
在实际工程中,自行车模型和阿克曼模型是配合使用的:自行车模型用于路径规划和轨迹跟踪控制器的设计,而阿克曼模型用于将控制器输出的等效转角转换为实际的前轮转角指令。转换关系如下:
- 控制器输出等效前轮转角 δ(基于自行车模型)
- 根据阿克曼几何关系,计算内外轮转角:δᵢ = arctan( L·tan(δ) / (L − B·tan(δ)/2) ),δ₀ = arctan( L·tan(δ) / (L + B·tan(δ)/2) )
- 将 δᵢ 和 δ₀ 分别发送给左前轮和右前轮的转向执行器
需要注意的是,现代乘用车普遍采用"阿克曼率"可调的转向系统,实际内外轮转角关系介于纯阿克曼几何和等转角之间。在泊车这种低速工况下,建议将阿克曼率设置为 100%(即纯阿克曼几何),以获得最佳的轮胎磨损特性和轨迹精度。
2.2.3 案例拆解:垂直车位泊车的转向控制
考虑一个垂直车位泊车场景,车辆需要从通道中心线位置以约 90° 的转向角倒入车位。假设车辆参数:L = 2.8m,B = 1.6m,最大等效转角 δ_max = 30°。
当控制器输出 δ = 30° 时,根据阿克曼公式计算内外轮转角:
δᵢ = arctan(2.8 × tan(30°) / (2.8 − 1.6 × tan(30°)/2)) ≈ 33.2°
δ₀ = arctan(2.8 × tan(30°) / (2.8 + 1.6 × tan(30°)/2)) ≈ 27.1°
可以看到,内轮转角比外轮大 6.1°,这正是阿克曼转向的核心特征。如果忽略这一差异,直接让内外轮都转 30°,车辆的实际转弯半径会比预期小约 8%,在狭窄的垂直车位中可能导致车辆尾部与相邻车辆发生碰撞。
2.3 坐标系定义与转换
2.3.1 三大坐标系定义
自动泊车系统中涉及三个核心坐标系,它们各自承担不同的功能角色:
| 坐标系 | 原点与轴定义 | 主要用途 |
|---|---|---|
| 全局坐标系(世界系) | 原点为停车场地图的固定参考点,X 轴指向正东,Y 轴指向正北,Z 轴垂直向上 | 描述车位位置、障碍物位置、车辆位置;用于全局路径规划 |
| 车辆坐标系(车身系) | 原点为后轴中心(或车辆质心),X 轴指向车辆前进方向,Y 轴指向车辆左侧,Z 轴垂直向上 | 描述传感器(超声波雷达、摄像头)的安装位置;用于局部路径规划和车辆控制 |
| Frenet 坐标系(路径系) | 以参考路径为基准,s 轴沿路径切线方向(弧长),n 轴沿路径法线方向(横向偏移) | 描述车辆相对于参考路径的纵向位置和横向偏差;用于轨迹跟踪控制 |
2.3.2 坐标系转换方法
全局坐标系 ↔ 车辆坐标系:设车辆后轴中心在全局坐标系中的位置为 (x₀, y₀),航向角为 θ,则任意一点从车辆坐标系 (x_v, y_v) 转换到全局坐标系 (x_G, y_G) 的公式为:
x_G = x₀ + x_v·cos(θ) − y_v·sin(θ)
y_G = y₀ + x_v·sin(θ) + y_v·cos(θ)
逆变换(全局→车辆)为:
x_v = (x_G − x₀)·cos(θ) + (y_G − y₀)·sin(θ)
y_v = −(x_G − x₀)·sin(θ) + (y_G − y₀)·cos(θ)
全局坐标系 ↔ Frenet 坐标系:Frenet 坐标系的转换需要先找到参考路径上距离车辆最近的点(投影点),该点的弧长即为 s 坐标,车辆到投影点的有向距离即为 n 坐标。设投影点在全局坐标系中的位置为 (x_r, y_r),路径在该点的切向角为 θ_r,则:
s = 投影点对应的弧长
n = (x_G − x_r)·sin(θ_r) − (y_G − y_r)·cos(θ_r)
Frenet 坐标系在轨迹跟踪中的优势在于:它将二维路径跟踪问题解耦为纵向(s 方向)和横向(n 方向)两个独立的一维控制问题,便于设计 PID 或 MPC 控制器。
2.3.3 案例拆解:超声波雷达障碍物坐标转换
以车辆左前超声波雷达为例,假设该雷达在车辆坐标系中的安装位置为 (x_s, y_s) = (2.1m, 0.8m),雷达探测到障碍物的距离为 d = 0.5m,探测方向与车辆 X 轴夹角为 30°。则障碍物在车辆坐标系中的位置为:
x_v = 2.1 + 0.5·cos(30°) ≈ 2.53m
y_v = 0.8 + 0.5·sin(30°) ≈ 1.05m
若此时车辆在全局坐标系中的位置为 (x₀, y₀) = (10m, 5m),航向角 θ = 45°,则障碍物在全局坐标系中的位置为:
x_G = 10 + 2.53·cos(45°) − 1.05·sin(45°) ≈ 11.05m
y_G = 5 + 2.53·sin(45°) + 1.05·cos(45°) ≈ 7.53m
这个转换过程在泊车系统的每个控制周期(通常 10~50ms)内都会执行数十次,因此坐标转换的计算效率直接影响系统的实时性。在实际工程中,建议使用查表法或预计算三角函数值来优化计算速度。
- 所有坐标转换必须使用双精度浮点数,避免累积误差;
- 航向角 θ 的定义域为 (−π, π],在转换前需进行角度归一化处理;
- Frenet 坐标系的投影点搜索算法(如二分查找、最近邻搜索)需要保证实时性,建议使用 KD 树或预计算的路径点索引;
- 在车辆启动时,需要完成全局坐标系与车辆坐标系的初始对准,通常借助 GPS/IMU 融合或视觉标记物完成。
2.4 常见误区与总结复盘
2.4.1 常见误区分析
在自动泊车运动学模型的学习和应用中,工程师常犯以下几类错误:
- 误区一:将自行车模型用于高速场景。当车速超过 30 km/h 时,轮胎侧偏角不可忽略,自行车模型的运动学假设失效,必须改用动力学模型。否则轨迹跟踪误差会随速度增大而急剧放大。
- 误区二:忽略阿克曼转向约束。部分初学者在仿真中直接使用自行车模型输出的等效转角控制车辆,未考虑内外轮转角差异。在实车测试中,这会导致轮胎异常磨损和轨迹偏差。
- 误区三:坐标系转换时混淆旋转方向。车辆坐标系到全局坐标系的旋转矩阵是绕 Z 轴旋转 θ 角,旋转方向为逆时针(从 Z 轴正方向看)。如果旋转方向搞反,会导致所有坐标转换结果出现镜像错误。
- 误区四:Frenet 坐标系中 n 的符号约定不统一。有的文献定义 n 向左为正,有的定义向右为正。在团队协作开发中,必须统一符号约定,否则轨迹跟踪控制器的反馈量会取反。
2.4.2 总结复盘
本章的核心知识点可以归纳为以下框架:
| 知识点 | 关键公式/参数 | 工程应用场景 |
|---|---|---|
| 自行车模型 | θ̇ = v·tan(δ)/L,R = L/tan(δ) | 路径规划、轨迹跟踪控制器设计 |
| 阿克曼转向 | cot(δ₀) − cot(δᵢ) = B/L | 前轮转角分配、转向执行器控制 |
| 全局↔车辆坐标转换 | 旋转矩阵 R(θ) + 平移向量 T | 传感器数据融合、障碍物定位 |
| Frenet 坐标转换 | 投影点搜索 + 横向偏移计算 | 轨迹跟踪误差计算、MPC 优化 |
在实际工程中,建议采用"仿真验证 → 硬件在环 → 实车测试"的三级验证流程。仿真阶段使用自行车模型验证路径规划算法的可行性;硬件在环阶段加入阿克曼转向模型和转向执行器延迟,验证控制器的鲁棒性;实车测试阶段则重点标定坐标系转换参数和转向系统阿克曼率,确保理论模型与实际车辆的一致性。