滑模控制+四轮扭矩矢量:雪地四驱电动车稳定性控制实战

发布时间:2026/10/24 6:51:57
滑模控制+四轮扭矩矢量:雪地四驱电动车稳定性控制实战

北方的冬天一到,试车场就成了检验车辆稳定性的终极考场。我到现在还记得第一次开某款四驱电动车在雪地上踩全电门起步的感觉——前后轮同时空转,仪表盘里ESP灯狂闪,车子像一只被拎住后颈的猫,在原地挣扎了半秒多才开始往前走。到了急转弯工况更离谱,方向盘打了将近一圈,车头却自顾自地往弯外滑,那种"方向盘是摆设"的无力感,会让任何一个开惯了燃油车的人怀疑人生。

这种情况说到底是扭矩控制的问题:电机响应又快又猛,四驱又同时放大四条轮胎的打滑概率。要把"电动爹"调教成雪地上也能稳住姿态的可靠伙伴,就需要一套专门对付轮胎非线性、路面附着突变和模型不确定性的控制策略。这几年我在相关项目里反复验证过,滑模控制(Sliding Mode Control)配合四轮独立扭矩矢量,是又便宜又皮实的方案之一。这篇就把我从原理到实车的完整思路写下来,给做车辆控制的朋友一个可以直接参考的工程路线,顺带把那些仿真里看不到、只有下场标定才会撞上的坑也一并交代清楚。

1. 雪地失控的物理课:电动车为什么更容易变成"电动爹"

1.1 电机扭矩响应的双刃剑

燃油车的动力系统从你踩下油门到发动机输出扭矩爬升,中间隔着涡轮迟滞、喷油脉谱、变速箱换挡逻辑这一整套冗长的链路。几百毫秒的延迟虽然让加速慢,但在极限工况下反而给了驾驶员和ESP一个"反应窗口"。

电机的世界完全不是一回事。现在的驱动电机从收到扭矩指令到输出峰值扭矩,实测往往只要80到150毫秒,这是一把双刃剑:干地条件下,你获得的是随叫随到的推背感;雪地条件下,这意味着四个轮子会同步打滑到完全失去侧向力的状态,而且整个过程快得连陀螺仪都还没来得及感知到横摆角速度的变化。

所以在做电动车稳定性控制的时候,我第一件要纠正的事就是:不要沿用燃油车的"先出滑移率再介入"逻辑。电机的扭矩应响应太快,如果要等到滑移率超过10%再处理,系统早就进入了附着曲线的非稳定区。稳定控制的干预时机,必须提前到"预估即将打滑"的程度,这是和燃油车标定的本质差别。

1.2 轮胎附着椭圆:驱动打滑为什么会让车不听方向盘

理解雪地失控,绕不开附着椭圆这个概念。一条轮胎能传给地面的总摩擦力是有限的,这个总和被分为纵向力(驱动/制动)和侧向力(转向)。如果用圆的边界去近似,当纵向力接近轮胎附着极限,侧向力的可用余量会急剧收缩。

雪地路面把整个附着圆缩小到了干地的一半甚至三分之一。此时你踩下电门,驱动扭矩很快填满了纵向方向的力,侧向力趋近于零,于是轮胎对转向输入完全没有响应。这就是"方向盘打了但车身不听使唤"的物理本质——不是转向系统坏了,是前轮把所有的抓地力都贡献给了"打滑"这个动作,一点都没留给转弯。

这里有一个容易被忽略的事实:疯狂的胎轮打转并不只是在浪费动力,它在主动摧毁车辆的转向能力。所以算法上不能只做"限制打滑",还得考虑打滑轮侧向力恢复后的动态响应。滑模控制的好处在于,它可以同时约束纵向滑移率和整车横摆响应,让轮胎在接近极限时仍然保留一部分用于转向的抓地能力。

1.3 四驱结构下更容易放大失控风险

理论上四驱能提供更好的起步和弯道稳定性,但前提是扭矩分配需要动态实时调整。传统四驱依靠分动箱和差速器,左右轮之间还存在硬性耦合;而现代电动车普及了前后轴独立电机甚至轮毂电机,每个轮子的扭矩都可以单独指定。

独立驱动能力越强,对稳定性控制算法的要求就越高。原因很简单:如果扭矩分配策略只考虑"哪个轮子有空转趋势就松油门",那么高速过弯时左后轮空转,你松掉左后轮扭矩,右后轮继续大扭矩输出,这个左右扭矩差会瞬间产生一个强烈的附加横摆力矩,直接把车推入甩尾。换句话说,四驱给了你更大的控制权限,但也给了你更多的犯错空间。

很多做整车控制的团队,第一个版本都是加了个简单的滑移率PID抑制逻辑,结果在冰雪圆环工况下一试车,从推头直接变成了甩尾,姿态比不控制还夸张。原因就在于只做单轮打滑抑制、不做横摆力矩闭环。后面我们设计的完整方案里,扭矩分配必须放在一个以横摆动力学为核心目标的框架里,PID只能处理局部小扰动,不能结构性地保证整车姿态稳定。

2. 从PID到滑模:控制算法选型的真实原因

2.1 轮胎非线性是PID和LQR的噩梦

轮胎侧向力关于侧偏角的曲线,在0到2度左右近似线性,斜率是侧偏刚度,再往后就明显弯折,最终饱和。雪地上这个弯折点出现得更早,而且峰值附近的位置随路面状态大幅变化。柏油路最优滑移率可能在0.15左右,压实雪面可能只要0.1就过了顶点,换到冰面上,这个值还要再小。

线性控制器的核心假设是"模型参数固定"。PID定的增益一旦固定,就只有一个很小的工况窗口内表现良好。在干地调试好的PID参数,到了雪地上要么过于激进导致系统震荡,要么过于保守导致响应迟钝,车辆已经横摆出去了0.5度,控制器才开始有动作。我在某次对比试验里见过,同一组PID参数,在干圆环工况下横摆角速度跟踪误差保持在2%以内,换到冰面上直接放大到15%以上,整个控制形同虚设。

LQR之类的现代线性控制理论会好一些,能够把横摆角速度和质心侧偏角做成一个综合代价函数来优化,但它对模型精度同样敏感。整车质量、质心位置、转动惯量、轮胎侧偏刚度,这些参数在实车上都是变化的:车上坐了四个人、后备厢满载和空载,质心位置完全不同,轮胎磨损程度也影响刚度。如果控制器的鲁棒性不够,这些参数变化就会直接反映在失控边界上。

2.2 滑模控制到底在"滑"什么

滑模控制在车辆稳定性控制领域不是新概念,20世纪90年代就有人研究,但真正大规模装车的方案并不多。原因有两方面:一是当年执行器响应慢,滑模控制的切换信号在液压制动系统上会造成制动压力波动,很难平滑执行;二是工程师对抖振问题有畏难情绪。如今电动车普及,电机响应带宽远高于液压制动系统,滑模控制反而成了"执行器友好型"算法。

思想本身非常直观。假设你希望横摆角速度和质心侧偏角都收敛到参考值,那就定义一条误差平面上的滑模面:

[ s = (\gamma - \gamma_{ref}) + \lambda(\beta - \beta_{ref}) ]

其中 (\gamma) 是横摆角速度,(\beta) 是质心侧偏角,(\lambda) 是一个权重系数。控制器的任务就是:把系统状态"推"到这条滑模面上,然后保持在这条面上滑动。一旦状态停留在滑模面上,系统误差就自动收敛为零,而且在这个滑动的过程中,系统对外部扰动和参数摄动具有天然的不变性。

这个特性用大白话说就是:只要你能把误差状态拽到滑模面上,接下来无论路面μ怎么跳、车上坐了什么人、轮胎磨损成什么样,系统都能维持期望的动力学响应。这简直是为雪地路面附着突变量身定做的特性。

2.3 指数趋近律与饱和函数的取舍

工程实现上,滑模控制律通常拆成两部分:等效控制项加切换控制项。等效控制项基于车辆模型推导,维持状态在滑模面上的运动;切换控制项负责把状态从远处"拽"回来。

切换项最常见的写法是指数趋近律:

[ \dot{s} = -k \cdot s - \varepsilon \cdot \mathrm{sat}(s/\Phi) ]

第一项 (-k \cdot s) 是线性趋近项,离滑模面越远,趋近速度越快,用来保证快速逼近;第二项是切换项,用期望的收敛速度和克服扰动的强度一起来定。这里的 (\mathrm{sat}(s/\Phi)) 是饱和函数,在 (|s| \le \Phi) 的边界层内它等效于线性比例,在边界层外等效于符号函数。引入 (\Phi)(边界层宽度)就是为了让控制律在滑模面附近连续过渡,避免直接使用理想符号函数 (\mathrm{sign}(s)) 产生高频抖振。

这个 (\Phi) 的整定是门手艺活。调得太小,趋近律在边界层外频繁切换,扭矩指令出现高频抖动,驱动桥会发出"咔咔咔"的金属敲击声;调得太大,滑模的鲁棒性特征被平滑掉,控制效果的极限就会退化到近似于线性PD控制器。后续实测部分我会再讲标定中的具体经验。

3. 控制链路拆解:方向盘转角到四轮扭矩的每个环节

整套稳定性控制算法在工程上分成三个层次,每一层各管一段,层层递进。

3.1 参考层:把驾驶员意图翻译成物理上可实现的目标

驾驶员打方向盘,不能直接把方向盘转角作为目标横摆角速度的输入走到底。因为在低附着路面上,驾驶员想要的车身响应可能远超物理极限,控制器如果强行去跟踪这个不切实际的参考信号,反而会激发出危险动作。

参考层的职责是:根据方向盘转角、车速和路面附着估计值,计算一个有物理上限的目标横摆角速度。稳态横摆角速度增益可以按线性二自由度车辆模型计算:

[ \gamma_{ref} = \frac{v_{x}}{L} \cdot \frac{1}{1 + K \cdot v_{x}^{2}} \cdot \delta_{sw} ]

其中 (K) 是稳定性因数,(v_{x}) 是纵向车速,(\delta_{sw}) 是方向盘转角经过转向比换算后的前轮转角。然后根据路面附着系数估计值 (\mu) 施加物理约束:

[ \gamma_{max} = \frac{\mu \cdot g}{v_{x}} ]

目标横摆角速度最终取计算值和物理上限的较小者。质心侧偏角的参考值也不能简单设为零,因为日常驾驶中因为载荷转移、转向几何等原因,质心侧偏角天然有一个不大的负值,如果直接把它设为零,控制器会别扭地不断"纠正"一个本不该被纠正的东西。实际标定中通常允许 (-2°) 到 (2°) 的死区,只在车辆真正进入失稳区段时才介入。

3.2 滑模控制层:输出附加横摆力矩指令

控制器输入是横摆角速度误差和质心侧偏角误差,输出是附加横摆力矩(\Delta M)。这是整个算法最核心的部分,用滑模面对误差做约束,用等效控制项补偿已知的车辆动力学,用切换项抵抗模型误差。

等效控制项大致形式是:

[ \Delta M_{eq} = I_z \cdot [\dot{\gamma}_{ref} + \lambda(\dot{\beta}_{ref} - \dot{\beta})] + \text{模型前馈项} ]

模型前馈项跟具体采用的车辆模型有关,包括前轮侧偏力产生的横摆项和惯性项。切换项按下式给出:

[ \Delta M_{sw} = -k_{s} \cdot \mathrm{sat}\left(\frac{s}{\Phi}\right) ]

这里有一个工程技巧:切换增益 (k_s) 应该根据路面附着估计值实时调整。干地 (\mu) 高、扰动大但轮胎余量也大,可以适当调大;雪地和冰面 (\mu) 低,过大的切换增益会造成扭矩指令来回剧烈摆动。我见过有些论文直接固定切换增益,实车数据一看,冰面上扭矩波动幅度达到干地的3倍以上。

3.3 扭矩分配层:附加横摆力矩落到四个轮子上的策略

(\Delta M) 本身是个横摆力矩的量纲,需要转换成四个车轮的扭矩指令。最基本的分配逻辑是:在满足总驱动需求的前提下,让左右两侧车轮产生一个扭矩差,这个扭矩差乘以二分之一轮距就是横摆力矩。

[ \Delta M = (F_{x,left} - F_{x,right}) \cdot \frac{w}{2} ]

分配时需要处理几个约束:电机峰值扭矩限制、路面附着限制、单轮打滑状态限制。我常用的分配策略表格如下:

工况分配策略备注
正常行驶前后轴按轴荷比例分配兼顾能效与附着利用率
前轴附着明显不足附加横摆力矩主要分配给后轴避免前轴总扭矩过高加剧推头
后轴附着明显不足附加横摆力矩主要分配给前轴避免后轴甩尾
单轮打滑打滑轮扭矩收敛到附着极限多余扭矩向同侧另一轮转移

最后一行的"同侧转移"最关键。比如左前轮打滑了,理想的稳定性控制应该把左前轮多余的扭矩转给左后轮,而不是简单粗暴地扔掉。扔掉扭矩等于人为减慢了车速,这会让驾驶员感觉车辆"没劲";正确做法是利用附着良好的其他轮子来维持驱动力的同时,用扭矩差来修正车身姿态。电机响应快正是这种精细的轮间扭矩转移能够实施的硬件基础。

4. 仿真与冬季试验场实车标定:数据不会骗人

4.1 仿真场景怎么设置才有参考价值

仿真验证阶段不能只跑单个工况。我们当时专门建了一套冰雪路面的测试矩阵:低μ路面(压实雪面,(\mu \approx 0.25))、对开路面(左侧冰面右侧柏油)、冰雪圆环和双移线工况。车速固定在某项目标定过的 65 km/h 附近,方向盘输入按 ISO 双移线标准生成。

很多团队在仿真里翻车的点在于直接用了 Magic Formula 轮胎模型的干地参数,只是把路面附着系数改小。这样得到的结果往往过于乐观——真实的雪地轮胎特性不只是附着系数变小,连峰值滑移率的位置、饱和后的下降斜率都会变,滚动阻力、积雪挤压阻力等因素也会影响响应。我们用的是冬季轮胎实测数据拟合出来的轮胎模型,虽然成本高,但实车验证时的一致性明显好很多。

4.2 开环与闭环的结果对比

先说开环状态。没有稳定性控制介入时,双移线工况下车辆在第二个弯道就会出现明显的过度转向,横摆角速度峰值超调量达到参考值的42%,质心侧偏角一路漂到 (-6.5°)。这个状态对普通驾驶员来说已经完全失控。

接入滑模控制后,同一工况下横摆角速度跟踪误差被压到5%以内,峰值超调降低至11%,质心侧偏角全程保持在 (-2°) 到 (0°) 的区间。横摆响应的时间延迟从开环的270ms压缩到了80ms左右——这个延迟压缩非常关键,它本质上决定了驾驶员主观感受中"车是否跟手"的程度。

稳态横摆增益匹配得也很好,车辆在连续变线过程中的轨迹偏移量明显收敛,没有出现节奏性的"画龙"。我们当时内测的评价指标是:驾驶员以60-70km/h的速度做连续蛇形绕桩时,是否感觉到车尾有细微的、可控的滑动,还是出现突兀的姿态突变。结论是后者被基本消除,前者在冰面上仍然存在,但属于轮胎物理极限内的正常滑动,不需要控制器强行压制。

4.3 实车标定中发现的仿真"谎言"

实车和仿真之间永远存在差距。我们遇到最典型的一个问题是:仿真中滑模控制表现很好,但实车上方向盘转角信号在快速转向时存在约30ms的通讯延迟,导致目标横摆角速度的参考层响应滞后。初期标定发现横摆角速度在转向初期出现"跟过头"的现象——方向刚打过去,目标横摆角速度还在上升,但实际车身响应已经超调了。

另一个常见问题是轮速信号的噪声。冰雪路面轮胎滑移率信号在低速段信噪比非常差,轮速脉冲频率低、采集抖动明显,某个轮速传感器偶发跳变会直接被分配层解释为"车辆在剧烈摆动",然后产生一个错误的扭矩修正指令。这个问题不是滑模控制器本身能解决的,而是需要在意输入端做更严格的信号质量监测与仲裁。

5. 让滑模控制真正装车落地的排雷清单

5.1 抖振:那个莫名其妙的"咔咔咔"声

仿真阶段滑块信号是连续变化的,但实车上电机扭矩指令存在刷新周期和控制步长,滑模控制器在高增益下非常容易产生周期性的扭矩波动。我们的第一版软件在台架测试时就出现了明显的传动系异响——每秒钟几次的扭矩阶跃,像有人在车里反复敲击金属块。

问题的根源是对切换项处理过于简单。解决方案分三步:第一步,(\mathrm{sat}) 函数改成了边界层内平滑过渡的双曲正切形式;第二步,把切换增益中与路面μ估计相关的部分做了一次低通滤波,避免μ估计值本身的跳变直接激发控制器切换;第三步,在极端工况下启用一个额外的条件判断,当纵向加速度信号和驱动打滑状态同时满足某个阈值时,控制器暂时降级为纯前馈控制,等待信号恢复后再平滑切回滑模环。

改造之后,传动异响基本消除,横摆角速度跟踪精度牺牲了约1-2个百分点,但整个系统的可接受度和寿命大幅提升。这一步在论文里不会有人写,但做工程的人应该都深有体会:控制性能再完美,如果上车后NVH表现一塌糊涂,标定流程根本走不到验收阶段。

5.2 传感器噪声与滤波相位延迟的权衡

陀螺仪的横摆角速度信号在冰雪路面高频成分很多,但直接用高截止频率的低通滤波器又会把横摆角速度的相位延迟加大。我们实测过,同一个信号经过50Hz截止频率的低通滤波后,在高速蛇形绕桩工况下相位延迟约25ms,这25ms叠加在转向通讯延迟上,会让驾驶员感觉"转向不够直接"。

解决方法是在控制器内部把横摆角速度信号分成两路:一路做低延迟的轻滤波用于滑模面观测,另一路做深度滤波用于稳定性判断和信号仲裁。滑模本身对观测噪声有一定的容忍度,因为这个切换控制项提供了足够的鲁棒性余量。但这不代表可以对传感器信号质量掉以轻心,特别是质心侧偏角这种必须通过状态观测器估计的信号,观测器使用的传感器噪声会被积分效应放大,处理不好会直接让滑模面在冰面上频繁抖动。

5.3 路面附着突变:最隐蔽的失控触发源

最后说一个所有冰雪路面标定过程中最容易遭遇的场景:车辆从压实雪面的一侧突然转到冰面上,路面附着系数从0.4骤降到0.15。此时轮胎滑移率会瞬间跳高,而参考层的 (\gamma_{max}) 约束也急剧收紧,目标横摆角速度突变会让控制误差瞬间变大,如果滑模控制器切换项因此输出一个较大的附加横摆力矩,反而会让车辆从推头变成甩尾。

处理这个问题的工程方法是在μ估计环节加入变化率限制。路面附着突变可以被检测,但控制器的介入不应该在同一周期内"完全跟随"这个突变。给μ估计值加一阶惯性环节,让路面附着系数在一个可接受的速率内平滑过渡,滑模控制器就有足够的时间重新调整工作点。

另一种手段是主动降低控制器在低附着条件下的增益放大倍数,让控制动作更温和。这听起来像是在向稳定性妥协,但在实际标定里,"在物理极限内控制得既精准又平滑"的评价指标高于"无限逼近物理极限"。驾驶员稳定控制的主观评分,很多时候取决于控制器干预的突兀程度,而不是干预的精准程度。

5.4 扭矩保护与标定顺序的建议

装车调试的阶段顺序上,我强烈建议:先标定滑移率保护的底限逻辑,再标定滑模控制器,最后标定μ自适应。很多人喜欢一上来就调滑模参数,因为看横摆跟踪效果变化最直观。但如果没有滑移率保护兜底,路面突然变滑时,滑模控制器为了让横摆角速度回到参考值,有可能命令某一侧车轮输出接近峰值的扭矩,这一瞬间的扭矩冲击足以让轮胎从轻微打滑变成完全空转。

底限逻辑要做的就是在分配层增加一个最终限幅:任何单轮的扭矩指令不得超过该轮当前附着力估计值对应的上限。这个上限本身依赖于μ估计,所以在标定顺序上,μ估计器准备到什么程度,直接决定了后续滑模控制器的调参空间。

根据我这几个项目的经验,一个完整可交付的冰雪稳定性控制系统,从滑模控制算法的仿真验证到最终完成冬季标定验收,正常周期在四到六个月。关键不是把控制算法本身写好——现在学术文章里的滑模控制器结构差别并不大,真正拉开差距的是对执行器约束的理解、对信号质量的把握、对路面附着状态估计的细心程度,以及你在标定现场遇到抖振和意外状况时,能不能冷静地追到问题的根源。

如果你正在做一个四轮独立驱动的电动车稳定性控制项目,我的建议是先把上面的底层护盾打好,再上滑模控制器层。滑模控制这层皮,配上一套扎实的底限逻辑和μ估计器,才算是完整的方案。电流和扭矩指令在纸面上跑得再漂亮,最终都要回到四个轮子在雪地上那一瞬间的抓地力里见真章。