基于强化学习的半主动悬架舒适性控制

TD3 智能体直接输出阻尼力,多目标奖励兼顾舒适性、悬架行程与轮胎接地性

时间:2026.01 – 2026.03    结果:相对 SH-ADD,簧上质量加速度降低 52%

问题引入

半主动悬架的经典控制律——Skyhook(SH)、ADD、SH-ADD——都建立在清晰的物理直觉上,参数少、鲁棒性好。但它们的权衡是写死的:

\[c_{SH} = \begin{cases} c_{\max}, & \dot{z}_s \,(\dot{z}_s - \dot{z}_u) \geq 0 \\ c_{\min}, & \text{否则} \end{cases} \qquad c_{ADD} = \begin{cases} c_{\max}, & \ddot{z}_s \,(\dot{z}_s - \dot{z}_u) \geq 0 \\ c_{\min}, & \text{否则} \end{cases}\]

Skyhook 用簧上速度判据,偏向低频车身姿态;ADD 用簧上加速度判据,偏向高频舒适性;SH-ADD 在两者间按频率切换。一旦路面激励的统计特性变化,这套固定判据就不再是最优。而且它们都是开关型输出——阻尼在 \(c_{\min}\) 与 \(c_{\max}\) 之间硬跳变。

左:天棚控制与被动悬架的簧上加速度对比;右:对应的阻尼系数——被动悬架恒定 2000 N·s/m,天棚控制在 750 与 4000 N·s/m 之间开关切换。
冲击(阶跃)工况:天棚控制把加速度峰值从约 13.5 m/s² 压到 7 m/s² 左右,代价是阻尼的剧烈开关动作。

这项工作的出发点是:把”什么时候该偏向哪个目标、该出多大力”交给数据去学,而不是人工整定判据。

路面模型与工况

用滤波白噪声法生成 B、C、D 三级随机路面。先验证路面模型本身——把仿真得到的位移功率谱密度与 ISO 8608 理论谱对比:

B / C / D 三级路面的位移功率谱密度,实线为仿真、虚线为理论。三条谱线在 0.01–10 rad/m 空间频率范围内都与理论吻合,说明路面激励模型可用。
B 级(±0.02 m)与 C 级(±0.05 m)路面的高程时域曲线,D 级可达 ±0.1 m。等级越高路面越差,激励幅值成倍增长。

为了检验策略对工况变化的适应性,设计了一个三段变工况场景:D 级路面 10 m/s → C 级路面 20 m/s → B 级路面 30 m/s。路面等级变好的同时车速升高,激励的频率成分随之改变。

三段场景的路面高程输入:D 级 10 m/s、C 级 20 m/s、B 级 30 m/s 依次切换。

TD3 智能体

为什么是 TD3:半主动悬架是连续动作控制,DDPG 类方法会因 Q 值高估导致阻尼指令震荡。TD3 的三项改进——双 Critic 取小、目标策略平滑、Actor 延迟更新——恰好对症。

\[y \leftarrow r + \gamma \min_{i=1,2} Q_{\theta_i'}\big(s', \pi_{\phi'}(s') + \epsilon\big), \qquad \epsilon \sim \mathrm{clip}\big(\mathcal{N}(0,\sigma),\,-c,\,c\big)\]

状态(4 维):簧上加速度 \(\ddot{z}_s\)、悬架动挠度 \(z_s - z_u\)、相对速度 \(\dot{z}_s - \dot{z}_u\)、簧上速度 \(\dot{z}_s\)。

动作(1 维连续):阻尼力,直接受 \([F_{\min}, F_{\max}]\) 约束——不是在两档阻尼间开关,而是连续给力。

网络 结构
Actor 4 → 512 → 128 → 1,ReLU + tanh,再经 scaling 层映射到力的物理范围
Critic ×2 状态支路 4 → 512 → 256;动作支路 1 → 256;拼接后 → 256 → 128 → 1
超参数 取值
学习率(Actor / Critic) 1×10⁻⁴
折扣因子 \(\gamma\) 0.99
经验回放容量 1×10⁶
批大小 128
目标网络平滑系数 1×10⁻³
探索噪声标准差 0.2,衰减率 1×10⁻⁴,下限 0.01
训练回合数 1000

奖励函数:软项 + 硬项 + 越界惩罚

多目标奖励真正的难点不是”权重怎么配”,而是四个目标压根不在一个数量级上:

奖励变量 单位 典型量级
簧上加速度 \(\ddot{z}_s\) m/s² 1 – 10
悬架动挠度 \(z_s - z_u\) m 0.01 – 0.05
轮胎动变形 \(z_u - z_q\) m 0.001 – 0.01
阻尼力 \(F\) N 10² – 10³

按最直觉的写法把四项平方后直接加权求和,力项的数值会比轮胎变形大五个数量级——权重 \(K\) 表达的就不再是”目标之间怎么取舍”,而是”谁的单位大”。网络在这种奖励上学到的是拟合力的幅值,而不是振动特性。

软项先把每个量除以自己的特征尺度 \(\omega_i\) 再加权:

\[r_s = -\sum_{i=1}^{4} K_i \left( \frac{|x_i|}{\omega_i} \right)^2, \qquad x = \big[\ddot{z}_s,\; z_s - z_u,\; z_u - z_q,\; F\big]\]

其中 \(K = [0.7,\, 0.1,\, 0.1,\, 0.1]\),\(\omega = [2,\, 0.15,\, 0.15,\, 3]\)。\(\omega\) 取各物理量正常工作范围的上界,本质上是把工程先验写进奖励——归一化之后四项落在同一量级,\(K\) 才真正是权重。舒适性占 0.7 绝对主导,其余三项各 0.1,体现”以舒适性为目标、其他为约束”的取向。这一步同时让加速度信息不被力项淹没,收敛明显更快。

硬项只盯加速度,用取整做成阶梯式惩罚:

\[r_h = -k_h \left| \left\lfloor \alpha_1 |\ddot{z}_s| \right\rfloor \right|, \qquad k_h = 5,\; \alpha_1 = 0.25\]

取整的作用是把连续惩罚变成开关:加速度不到 4 m/s² 时硬项恒为 0,越过一档整体跳到 \(-5\),再越再跳。软项负责”往好里调”,硬项负责”别越界”,两者分工明确。

越界惩罚守三条线,每违反一条扣 10 分:

\[P = -10\big[\,|z_s - z_u| > 0.05\,\big] -10\big[\,|\Delta F| > 2\,\big] -10\big[\,(z_s - z_u)\, F > 0\,\big]\]

依次对应:悬架行程逼近限位、阻尼力变化率过快、出力方向落在半主动阻尼器不该工作的象限——半主动悬架只能耗散能量、不能主动做功,这一项把该边界写进奖励。

最终奖励为 \(r = r_s + r_h + P\),裁剪到 \([-5,\, 0]\)。

回合终止是另一套更宽的阈值:动挠度超过 0.1 m 或簧上加速度超过 20 m/s² 时直接结束本回合,不再让智能体在已经发散的状态上继续采样。

执行器侧还有一道硬约束:Actor 输出经 tanh 后映射到 \([F_{\min}, F_{\max}]\),力在网络出口就被钳死在执行器能力范围内。奖励里的硬项罚的是”逼近危险”,Actor 限幅保证的是”绝不越界”——只靠奖励惩罚,训练早期仍会输出物理上给不出的力,两道防线互补。

训练收敛

1000 回合的训练过程,红线为平均奖励、阴影为 90% 置信区间。前 300 回合剧烈波动(探索噪声主导),400 回合后快速收敛,600 回合起稳定在接近 0 的水平并保持低方差。

结果

与传统控制律的对比

先看三条经典控制律本身的差异(曲线纵向偏移以便区分):

被动悬架(PS)与 SH、ADD、SH-ADD 三种控制律的簧上加速度对比,曲线依次偏移 5、10、15 以便区分。SH-ADD 综合了两者的频域优势,是最强的传统基准。

再看加入 TD3 之后:

被动、SH-ADD 与 TD3 的簧上加速度(偏移显示)。TD3 的曲线明显更"平",高频毛刺被显著抑制。

四种策略同台

10 秒随机路面激励下,被动悬架、SH-ADD、MPC 与 TD3 的簧上质量加速度同图对比。被动悬架峰值超过 ±2 m/s²,SH-ADD 有所改善但仍有明显尖峰,TD3 的包络最窄。

相对 SH-ADD,TD3 将簧上质量加速度降低 52%,同时悬架动挠度与轮胎动载荷都保持在约束范围内——奖励里的越界惩罚与回合终止条件共同保证了这一点。

变工况适应性

上:三段路面高程输入;下:被动与 SH-ADD 在三段工况下的簧上加速度响应。路面等级与车速同时变化时,固定判据的控制律表现随工况波动。
D 级 10 m/s、C 级 20 m/s、B 级 30 m/s 三段切换下的加速度响应细节。

我的工作

1/4 车辆动力学模型与随机路面模型的搭建与验证、TD3 智能体的网络设计与训练环境实现、多目标奖励函数(软项归一化 / 硬项阶梯惩罚 / 越界惩罚三层结构)的设计与调参、与 Skyhook / ADD / SH-ADD / MPC 四类基准的对比试验。

工具:MATLAB / Simulink、Reinforcement Learning Toolbox(TD3)、Model Predictive Control Toolbox