3、车辆动力学模型:二自由度自行车模型推导、横摆角速度与质心侧偏角、状态空间方程建立

各位同学,今天我们来啃一块硬骨头——二自由度自行车模型。说实话,这个模型是我做横向控制时用得最多的工具,没有之一。你想想看,一个四轮车那么复杂,真要搞个十几自由度的模型,控制器还没设计好,项目周期就过去了。所以,我们得学会抓主要矛盾。

3.1 为什么是“自行车”模型?

先别笑,这名字听着挺接地气。其实说白了,就是把四轮车简化成前后两个轮子。我刚开始做项目时也觉得这太粗糙了,直到有一次在高速场景下做车道保持,发现用这个模型设计的控制器效果出奇的好。

简化假设如下:

  • 忽略悬架运动:车身没有侧倾、俯仰、垂向跳动
  • 忽略轮胎非线性:假设侧偏角小,轮胎力是线性的
  • 纵向速度恒定:只关心横向和横摆运动
  • 左右轮合并:前轴两个轮子等效成一个,后轴同理

嗯,这里要注意,这些假设不是随便拍的。我在实际项目中验证过,当侧向加速度小于0.4g时,这个模型的精度完全够用。超过这个值,轮胎就开始进入非线性区了,那是另一套玩法。

3.2 坐标系与运动学关系

我们先建立坐标系。车辆质心为原点,x轴指向车头,y轴指向左侧,z轴向上。这个坐标系是固结在车身上的,叫车辆坐标系。

车辆的运动状态可以用两个量描述:

  • 横摆角速度 r:绕z轴的旋转角速度,单位 rad/s
  • 质心侧偏角 β:速度方向与车头方向的夹角,单位 rad

为什么会引入质心侧偏角?我打个比方:你开车时方向盘打正,但车还在横着飘,这就是侧偏角在作怪。在横向控制中,这个量直接决定了你离车道中心有多远。

核心关系式:

前轮侧偏角:αf = δ - β - (lf · r) / vx

后轮侧偏角:αr = -β + (lr · r) / vx

其中 δ 是前轮转角,lf、lr 是质心到前后轴的距离,vx 是纵向速度。

3.3 动力学方程推导

现在我们来推方程。记住一个原则:牛顿第二定律 + 力矩平衡。我当年学的时候,老师总说“力是改变运动的原因”,这句话在车辆动力学里同样适用。

横向力平衡:

车辆在y方向受到的力来自前后轮胎的侧向力 Fyf 和 Fyr。根据牛顿第二定律:

m · ay = Fyf · cos(δ) + Fyr

由于 δ 很小,cos(δ) ≈ 1,所以:

m · (vẏ + vx · r) = Fyf + Fyr

这里 ay = vẏ + vx · r,是车辆质心处的侧向加速度,包含平移和旋转两部分。

横摆力矩平衡:

绕z轴的力矩来自前后轮胎力对质心的矩:

Iz · ṙ = lf · Fyf - lr · Fyr

注意符号:前轮力产生正力矩(让车左转),后轮力产生负力矩。

轮胎力模型:

在线性区,轮胎侧向力与侧偏角成正比:

Fyf = -Cf · αf
Fyr = -Cr · αr

Cf 和 Cr 是前后轮的侧偏刚度,负号表示力的方向与侧偏角相反。这个负号我当年纠结了很久,后来在实车测试中才真正理解——轮胎力总是试图把车“拉回”到滚动方向。

3.4 状态空间方程

好了,现在我们把所有东西拼起来。选择状态变量 x = [β, r]T,控制输入 u = δ。

把轮胎力公式代入动力学方程,经过整理(这一步我建议你亲手推一遍,很有帮助),得到:

β̇ = -(Cf + Cr)/(m · vx) · β + [-1 - (Cf · lf - Cr · lr)/(m · vx²)] · r + Cf/(m · vx) · δ

ṙ = -(Cf · lf - Cr · lr)/Iz · β - (Cf · lf² + Cr · lr²)/(Iz · vx) · r + (Cf · lf)/Iz · δ

写成矩阵形式:

[β̇]   [a11  a12] [β]   [b11]
[ṙ] = [a21  a22] [r] + [b21] · δ

其中:

参数表达式
a11-(Cf + Cr) / (m · vx)
a12-1 - (Cf · lf - Cr · lr) / (m · vx²)
a21-(Cf · lf - Cr · lr) / Iz
a22-(Cf · lf² + Cr · lr²) / (Iz · vx)
b11Cf / (m · vx)
b21Cf · lf / Iz

个人经验:这个状态空间方程是横向控制器的“心脏”。我在做LQR控制器时,就是基于这个模型设计反馈增益的。但要注意,vx出现在分母上,低速时模型会变得敏感。我曾经在泊车场景下吃过亏,后来加了速度调度才解决。

3.5 知识体系总览

下面这张图是我自己总结的,把整个推导逻辑串起来了。你顺着箭头看,就能明白每个环节的来龙去脉。

二自由度自行车模型知识体系 简化假设 运动学关系 侧偏角 · 横摆角速度 轮胎力模型 线性侧偏特性 动力学方程 力平衡 + 力矩平衡 状态空间方程 ẋ = A·x + B·u 应用:LQR控制 · MPC控制 · 状态观测器

避坑指南:我曾经在高速场景下直接用这个模型做MPC,结果控制效果很差。后来发现是忽略了轮胎力的饱和特性。记住,这个模型只适用于侧向加速度小于0.4g的场景。如果你要做极限工况,得引入非线性轮胎模型。

3.6 模型参数获取

有了模型,参数从哪来?我一般用三种方法:

  1. 理论计算:根据车辆几何尺寸和轮胎型号估算,精度一般
  2. 系统辨识:用实车数据拟合,精度高但费时
  3. 查表法:不同速度下标定不同的参数,工程上最常用

我个人推荐第三种。在量产项目中,我们通常会在不同车速下做阶跃响应测试,然后反推模型参数。这样得到的模型虽然不完美,但足够工程实用。

好了,这一节的内容就到这里。二自由度模型虽然简单,但它是横向控制的基石。你把它吃透了,后面学LQR、MPC都会轻松很多。


专注资料整理