图 2:提供给 Signal Constraint 模块的信号(左侧)以及优化过程中侧翻与滑移率信号的变化(右侧)。黄色区域代表不允许的信号值范围。
每项信号限制都定义了信号的分段线性上限和下限。在优化过程中,控制器增益将被调整,仿真在迭代循环中重复运行,直至仿真信号满足指定边界或优化例程无法解决问题。图 2 显示出在优化算法迭代得到解决方案的过程中侧翻信号和滑移率信号的变化。在解决此类可行性问题时,优化算法将计算被限制的信号与各分段线性边界之间的最大有符号距离。通常情况下,负数值表示相应的限制已满足。
优化算法使用与各边界之间的有符号距离来更新控制器参数。在构造优化问题时,优化算法所采用的方式独立于计算系统状态的数值解法。可以使用基于梯度或非基于梯度的方法,例如遗传算法。在本例中,给定控制器的切换特性和后续的非平滑行为,基于梯度的解法很难得出全局解决方案。因而使用了模式搜索算法。在实践中,我们建议在多种类型的优化方法之间切换,以确保优化算法能够找到全局极值,并排除收敛到成本函数局部最小值的情况。
控制器验证与性能验证
图 3 以形象的方式展示了优化后的 ESC 避免车辆侧翻的性能。红色的汽车未配备控制器,发生了侧翻;而蓝色汽车配备了经过优化的控制器。通过这样的仿真,我们就能论证可避免 SUV 侧翻的控制器设计,从而极大地减少了道路调优的次数,避免完全依赖实际车辆测试。
图 3:在以 50 英里/小时的时速下执行 fishhook 操控实验时,配有 ESC 和未配有 ESC 的 SUV 的可视化行为演示。蓝色的 SUV 配备了经过优化的 ESC,红色 SUV 未配备 ESC。
后续步骤和结束语
在设计工作中,后续步骤通常涉及将控制算法从 Simulink 模型转为在底盘控制器上实现的代码。要在车辆投产之前执行设计验证,可利用集成化快速原型设计和半实物(HIL)仿真工具,通过配有测量仪表的原型汽车进行代码的道路测试。可以使用生产代码生成工具来实现算法,获得在原型汽车上实现的代码,这种方法能够最小化转化过程中的错误,并进一步加速车辆开发过程。此外,使用此模型,工程师还可在不同的车辆配置下测试控制器,支持快速修改,最大化控制器设计在多种车辆程序中的重用。
本文强调了基于模型的设计在开发解决侧翻问题的 ESC 算法中的应用,此外还展示了一种根据设计需求自动调优 ESC 的方法。