3、车辆运动学模型:自行车模型推导、状态空间方程、模型离散化方法、模型局限性分析

各位同学,欢迎来到复杂弯道路径跟踪实战的第三讲。今天我们来啃一块硬骨头——车辆运动学模型。说白了,就是研究车怎么动起来的数学模型。

我刚开始做自动驾驶控制时,总觉得运动学模型太简单,不够“高级”。直到有一次在高速匝道上做路径跟踪测试,车在弯道里直接跑偏了。嗯,从那以后我才明白:模型不是越复杂越好,而是越合适越好。

3.1 自行车模型推导

为什么叫自行车模型?你想想看,自行车转弯时,前后轮的运动轨迹其实很有规律。我们把四轮汽车简化成两轮,前轮负责转向,后轮负责驱动。这个简化,在低速场景下非常实用。

推导前,先定义几个关键变量:

  • δ:前轮转角(方向盘打多少,轮子转多少)
  • L:轴距(前后轮之间的距离)
  • v:车辆速度(通常指后轴中心速度)
  • θ:车辆航向角(车头指向的方向)
  • (x, y):后轴中心坐标

核心假设有两个:

  1. 车辆在平面上运动,不考虑垂向跳动
  2. 轮胎侧偏角忽略不计(低速时成立)

基于几何关系,我们可以得到:

tan(δ) = L / R

其中R是转弯半径。这个公式很关键,它把方向盘转角直接和转弯半径联系起来了。

核心公式:

转弯半径 R = L / tan(δ)

航向角变化率 θ_dot = v / R = v * tan(δ) / L

我在项目中遇到过一个问题:用这个公式算出来的转弯半径,和实际GPS轨迹对不上。后来发现是轮胎气压不一致导致的。嗯,模型再完美,也架不住物理世界的“小脾气”。

3.2 状态空间方程

有了上面的基础,我们可以写出完整的运动学微分方程:

x_dot = v * cos(θ)
y_dot = v * sin(θ)
θ_dot = v * tan(δ) / L

写成状态空间形式:

状态向量:X = [x, y, θ]^T
控制输入:U = [v, δ]^T

X_dot = f(X, U) = 
[ v * cos(θ) ]
[ v * sin(θ) ]
[ v * tan(δ) / L ]

这个方程是非线性的,因为出现了cos和sin。为什么非线性这么麻烦?因为后续做控制设计时,很多线性控制理论不能直接套用。

我的个人习惯:在低速场景(< 10 m/s)下,我通常直接用这个非线性模型做MPC控制。虽然计算量大一点,但精度比线性化模型好很多。

3.3 模型离散化方法

计算机是离散的,我们需要把连续模型变成离散形式。常用的方法有三种:

方法 精度 计算量 适用场景
前向欧拉法 一阶 低 采样频率高时
龙格-库塔法(RK4) 四阶 中 精度要求高时
零阶保持法 精确 高 线性系统

我最常用的是前向欧拉法,简单直接:

// 离散化后的状态更新
x(k+1) = x(k) + dt * v(k) * cos(θ(k))
y(k+1) = y(k) + dt * v(k) * sin(θ(k))
θ(k+1) = θ(k) + dt * v(k) * tan(δ(k)) / L

dt是采样时间,一般取0.01s到0.05s。我曾经试过把dt设成0.1s,结果在急弯处模型直接发散。嗯,这里要注意:采样时间不能太大,否则离散化误差会累积。

避坑指南:我曾经在项目中用欧拉法离散化,采样频率50Hz,结果在高速弯道(v > 15 m/s)时模型失稳。后来换成RK4才解决问题。所以,高速场景下建议用更高阶的离散化方法。

3.4 模型局限性分析

自行车模型虽然好用,但局限性也很明显。我总结了几点:

  1. 低速假设:车速超过10m/s时,轮胎侧偏角不可忽略,运动学模型误差会急剧增大
  2. 无侧滑假设:在湿滑路面或急转弯时,车辆会出现侧滑,模型完全失效
  3. 忽略动力学:不能描述车辆的加速/制动时的俯仰、侧倾等动态特性
  4. 平面运动假设:在坡道或颠簸路面,模型精度大打折扣

为什么会这样?说白了,自行车模型只考虑了“几何约束”,没考虑“力”。当车速快起来,轮胎和地面的摩擦力就成了主导因素。

我的建议:

  • 低速泊车、园区物流:直接用自行车模型,够用
  • 城市道路(< 60 km/h):自行车模型 + 侧偏角补偿
  • 高速(> 60 km/h):必须上动力学模型

我记得有一次做自动泊车项目,用自行车模型做路径跟踪,效果出奇的好。因为泊车速度只有5 km/h,模型假设完全成立。但后来做高速领航辅助时,同样的模型就完全不行了。

所以,选模型就像选工具。螺丝刀拧螺丝很好用,但你非要用它砸钉子,那就别怪工具不好使。

补充一点:如果你需要在中等速度(30-60 km/h)下使用自行车模型,可以尝试加入一个“等效轴距”参数。我在项目中试过,把实际轴距乘以一个1.05-1.15的系数,能部分补偿侧偏角的影响。虽然不是完美的解决方案,但聊胜于无。

车辆运动学模型知识体系 自行车模型 模型推导 几何关系:tan(δ)=L/R 核心假设:无侧偏、平面运动 状态空间方程 状态:x, y, θ 输入:v, δ 非线性:cos, sin 离散化方法 前向欧拉法(常用) RK4(高精度) 零阶保持法 模型局限性分析 低速假设(<10m/s) 无侧滑假设 忽略动力学特性 平面运动假设

好了,这一讲的内容就到这里。自行车模型虽然简单,但它是理解更复杂模型的基础。掌握了它,你就能理解为什么低速泊车时控制那么精准,为什么高速弯道需要更复杂的模型。

可可精品资料库