自动驾驶冗余转向切换:零力矩窗口比速度更关键
自动驾驶要做到转向冗余,关键不只是备用通道能否接管,更在于接管那一瞬间能否不把额外力矩打进车身。若零力矩窗口和状态对齐没做好,切换动作会先表现成横摆扰动,而不是表面上的“功能仍可用”。
所谓零力矩窗口,并不是把两套执行器输出都降到零,而是让主备链路在切换时对转向器的合成作用尽量连续。前链路退出前若还保留积分残量,后链路接入时又按自己的参考零位重新发力,方向机齿条就会短时间承受一个额外扭矩脉冲。车速越高,这个脉冲越容易被放大成可感知横摆。
很多系统只关注切换确认速度,希望故障一判定就立刻交给备份链路。可故障判定快,不等于力矩切换平滑。若主链路的控制状态、执行器回差补偿和路感注入量还没同步给备用链路,备用侧即使电机健康,也是在用过期状态接一段正在变化的机械系统。
双控制器状态对齐因此比单纯复制目标转角更重要。除了目标角度,还要同步转角导数、积分项、摩擦补偿区间、齿条估计位置和故障前最后几个周期的执行误差。只有这些内状态共识足够高,备用链路接管时才不会因为“理解同一个转角的方式不同”而产生隐性力矩跳变。
零力矩窗还要考虑机械回差与轮胎侧偏刚度。若切换恰好发生在方向反向、回差区尚未吃紧的时候,控制器看到的转角变化和轮端真实侧向力并不同步。此时若只凭电机侧反馈判断平稳,车辆实际横摆响应可能已经偏离。对线控转向而言,窗口应该由齿条力、转角变化率和横摆反馈共同定义,而不是一个固定时间片。
备用通道也不能永远热备全跟随。全时紧耦合同步会提高能耗和热负担,还可能把主链路噪声一并复制过去;但若同步过松,真正故障时又来不及收敛。所以系统需要在平时维持受控偏差,让主备通道既不过度耦合,也不会在切换瞬间像两个陌生控制器争夺同一机构。
验证时,最该看的不是功能切换成功率,而是切换期间的附加横摆率、方向机扭矩和车道偏离量。要在直道、弯道、低附和轮胎不同磨损状态下反复测,才能知道零力矩窗是否真的覆盖了最坏工况。只测台架空载,很容易把真正的问题留到实车上才显出来。
软件安全机制还要避免误把“通信短暂抖动”升级成完整控制权交接。若故障确认门槛太敏感,车辆在颠簸路段可能频繁触发主备重同步,虽然每次都能恢复,却会不断消耗零力矩窗裕量。把故障确认为机械、电气和通信三类,再为每类设置不同接管节奏,能显著减少无谓切换对横摆稳定性的侵扰。真正安全的冗余,不是切得越多越快,而是只在必须切的时候切,且每次切换都能解释横摆变化来自哪里,调参目标也应直指这份可解释性,否则主备架构只会在日志里看上去很完整。
所以,自动驾驶做冗余转向时,接管快只是及格线,接管时不额外推动车身才算真正安全。把零力矩窗口和控制状态对齐做好,故障切换才不会变成新的横摆扰动源。





