2. 车辆动力学模型:单轮模型与运动方程推导

做制动控制,第一步得搞清楚车是怎么动的。你想想看,整车那么复杂,四个轮子、悬架、车身侧倾俯仰……要是全塞进控制器,代码根本跑不过来。

所以工程上有个经典做法——单轮模型。说白了,就是把整车简化为一个轮子加四分之一车重。我当年刚入行时也觉得这太粗糙,后来发现,滑移率估算和制动压力调节的核心逻辑,单轮模型完全够用。

2.1 单轮车辆模型长什么样?

先画个图,帮你建立直观印象。

核心思路: 单轮模型只保留两个自由度——车体平动和车轮转动。所有垂向、侧向、俯仰运动全忽略。

单轮车辆模型示意图 车体质量 m 车轮转动惯量 J 有效滚动半径 R 路面 Fx Fz v Tb m:四分之一车体质量 | J:车轮转动惯量 | R:轮胎有效滚动半径

图中几个关键量:车体质量 m、车轮转动惯量 J、轮胎有效滚动半径 R。制动时,制动力矩 Tb 作用在车轮上,地面制动力 Fx 让车减速。

2.2 车辆运动方程(车体平动)

根据牛顿第二定律,车体平动方程很简单:

m · dv/dt = -Fx

这里 v 是车速,Fx 是地面制动力。负号表示制动力让车速下降。

那 Fx 怎么来的?它取决于轮胎与路面的附着系数 μ 和垂向载荷 Fz:

Fx = μ(λ) · Fz

其中 λ 就是滑移率。你看,滑移率通过附着系数 μ 直接影响制动力,进而影响车速——这就是为什么滑移率估算如此重要。

我的经验: 实际项目中,Fz 不是常数。制动时载荷会前移,前轮 Fz 增大,后轮减小。单轮模型里我们暂时忽略这个,但做量产标定时必须补偿。

2.3 车轮旋转动力学方程

车轮转起来,得用转动定律。绕车轮中心的力矩平衡:

J · dω/dt = -Tb + Fx · R

解释一下:

  • J · dω/dt —— 车轮角加速度,转动惯量乘角加速度
  • -Tb —— 制动力矩,让车轮减速(负号)
  • Fx · R —— 地面制动力产生的力矩,让车轮继续转(正号)

制动时,Tb 大于 Fx·R,所以车轮角速度下降。如果 Tb 太大,车轮可能抱死——ω 变成 0,但车还在滑行。

我曾经踩过的坑: 早期做仿真时,我把 J 设成了车轮本身的转动惯量,结果模型响应特别快,跟实车对不上。后来才发现,单轮模型里的 J 应该包含制动盘、半轴等所有旋转部件的等效惯量。差一个数量级都有可能。

2.4 两个方程联立,构成完整模型

把平动和转动方程放一起:

物理量 方程 说明
车体平动 m · dv/dt = -μ(λ) · Fz 车速变化由地面制动力决定
车轮转动 J · dω/dt = -Tb + μ(λ) · Fz · R 车轮转速变化由制动力矩和地面力矩共同决定
滑移率定义 λ = (v - ω·R) / v 制动时 0 ≤ λ ≤ 1

这三个方程就是单轮模型的全部。你想想看,输入只有 Tb(制动压力调节的输出),状态变量是 v 和 ω,通过滑移率 λ 把两者耦合起来。

2.5 模型怎么用?一个仿真例子

我习惯在 MATLAB/Simulink 里搭这个模型。代码很简单:

% 单轮模型参数
m   = 400;      % 四分之一车重 [kg]
J   = 1.2;      % 车轮等效转动惯量 [kg·m²]
R   = 0.32;     % 轮胎有效滚动半径 [m]
Fz  = m * 9.81; % 垂向载荷 [N]

% 初始状态
v0  = 30;       % 初始车速 [m/s] ≈ 108 km/h
w0  = v0 / R;   % 初始轮速 [rad/s]

% 仿真参数
dt  = 0.001;    % 步长 1ms
t_end = 3;      % 仿真时长 3s

% 制动压力输入(阶跃)
Tb = 1200;      % 制动力矩 [Nm]

% 主循环(简化示意)
for k = 1:t_end/dt
    % 计算滑移率
    lambda = (v - w*R) / max(v, 0.01);
    
    % 查附着系数曲线(魔术公式简化)
    mu = mu_lambda(lambda);
    
    % 地面制动力
    Fx = mu * Fz;
    
    % 更新车速
    v = v - (Fx/m) * dt;
    
    % 更新轮速
    w = w + (-Tb + Fx*R)/J * dt;
end

注意: 实际代码里要对 v 做防零处理(max(v, 0.01)),否则滑移率计算会除零。我见过不少新手在这里翻车。

2.6 模型的局限与工程取舍

单轮模型虽然简单,但有几个地方你得心里有数:

  • 忽略了载荷转移 —— 制动时前后轮垂向力会变,单轮模型没法体现
  • 没有侧向动力学 —— 转弯制动时,侧向力会影响纵向附着
  • 轮胎模型简化 —— 实际 μ-λ 曲线受路面、温度、磨损影响很大

但话说回来,做滑移率估算和制动压力调节的算法验证,单轮模型是业界标配。我参与过的三个量产项目,算法前期验证全是用这个模型。等算法成熟了,再往七自由度甚至整车模型里移植。

我的建议: 刚开始做 ABS/ESC 开发的同学,先把单轮模型跑透。你能在这个模型上把滑移率估算、压力调节逻辑调通,后面换复杂模型只是参数调整的问题。