一、背景
在新能源汽车的应用中,智能化与舒适性需求逐渐提升,在此背景下,主动悬架系统成为了大多数主机厂在其车型上搭载的主要选择,而在系统实现相关功能的过程中,软件策略是确保其高效运作、提升驾乘体验的关键。基于此背景,对空气悬架控制策略开发关键点进行梳理,以供参考。
二、架构
空气悬架基本架构示意如下:
三、策略开发
首先需明确系统开发目标以及此系统需具备的关键功能或合规性,示意如下:
以此基础依据,制定相关方案,示意如下:
四、框架与关键步骤
4.1.数据采集与预处理
初始化传感器接口:定义传感器数据结构,并初始化传感器驱动,确保与传感器的通信正常。
多传感器融合算法:通过相关函数融合来自不同传感器的数据,并通过滤波算法提高数据准确性,为决策提供高质量的输入。
4.2.状态监测与故障诊断
故障检测与处理逻辑:通过故障检测模块,定期检查传感器、执行器的工作状态,如发现异常,启动备用方案或进入安全模式,同时记录故障信息供后续分析。
安全机制设计:确保在任何故障状态下,悬架系统能维持最低安全水平,比如锁定在特定硬度,避免系统完全失效。
4.3.驾驶模式选择与调整
模式选择接口:通过用户接口模块,接收来自HMI的驾驶模式选择指令。
模式转换逻辑:根据驾驶模式,调整控制算法中的关键参数,如减震器阻尼系数、空气弹簧充气量等。
4.4.智能控制算法实现
控制算法核心:基于模型预测控制、模糊逻辑、PID控制或其他控制理论,实现核心控制算法,动态调整减震器阻尼力和空气弹簧压力,减少车身振动。
自适应学习机制:利用机器学习技术训练模型,根据车辆运行数据不断优化控制参数,这会涉及到离线训练和在线微调两个部分,需要设计数据采集和模型更新策略。
4.5.系统集成与通信
通信协议栈:通过通信模块定义消息ID和数据帧结构,用于与其他控制单元的数据交换。
协同控制逻辑:开发逻辑判断和控制命令发送模块,确保悬架系统与车辆其他子系统协同工作,如在紧急制动时自动硬化悬架,提高稳定性。
五、软件实现示意
注:这里以代码示意。

5.1.文件结构与头文件定义
首先定义必要的数据结构和函数原型,这里创建一个名为airSuspension.h的头文件,如下:
这个头文件定义了数据结构SensorData和ControlParameters,以及函数原型airSuspensionInit、collectSensorData、controlAlgorithm和switchDrivingMode。
其中,SensorData结构体包含了加速度、车轮速度和车身高度等传感器数据。ControlParameters结构体定义了PID控制参数以及两种驾驶模式下的设置。函数原型为实现文件中相应函数的实现提供了接口说明,以确保类型和参数列表的一致性。
5.2.主控制逻辑实现
5.3.自适应机制释义
在上述示例中,提供了空气悬架系统的基础框架,但要直接从代码中看出其针对不同路况、驾驶模式、载重变化的自适应能力其实并不直观,因为自适应逻辑分布在几个不同的部分并且需要结合实际的硬件交互和动态数据处理来理解。
这里对代码中隐含的自适应机制释义如下:
1.不同路况适应性:
数据采集:通过collectSensorData()函数收集的传感器数据间接反映了当前的路况信息,如频繁变化的加速度可能意味着不平路面、车轮速度差异大说明此时车辆可能在转弯或存在打滑情况、与地面的高度变化差异大说明可能正行驶与凹凸不平的路面上。
控制算法:在controlAlgorithm()函数中,PID控制逻辑动态调整减震器阻尼力,这种调整基于当前车身高度与目标高度的误差、误差变化率以及过去的误差累积,从而快速响应路面变化,减少车身震动。对于不同的路况,PID参数的不同组合能提供更佳的适应性,不过这里未添加动态调整这些参数的逻辑,实际应用中需要更复杂的自适应控制策略来动态优化这些参数。
2.驾驶模式适应性:
模式切换:switchDrivingMode()函数允许根据用户选择改变控制策略。在舒适模式和运动模式下,通过调整controlParams.kp(比例增益)等参数,系统对车身姿态的控制风格会发生变化,以适应不同的驾驶需求。舒适模式下会减少车身的晃动,而运动模式则牺牲一些舒适性来换取更快速的车身响应。
3.载重变化适应性:
动态调整:示例中没有直接体现载重变化的处理逻辑,但实际应用中,通过实时监测车身高度并据此调整减震器阻尼力,也可以实现对不同载重情况的适应。控制算法中的PID控制基于误差(即目标高度与实际高度之差)进行调整,当车辆载重变化引起车身高度变化时,算法自然会调整输出以维持车身高度接近目标值,这间接实现了载重适应。
5.4.诊断与容错
在示例中,并未直接体现故障诊断和容错能力的机制,不过基于此基础,实现方式可参考如下:
1.传感器数据校验:在collectSensorData()函数中,增加对传感器数据的有效性检查。当读取到的数据超出预设的合理范围时,记录错误信息并采取适当措施,如使用最近的有效数据或安全默认值,以保证系统继续运行,这属于基本的故障容忍处理。
2.控制算法的鲁棒性:在controlAlgorithm()中,通过对PID参数的合理设置(如限制输出范围),可以提高系统对异常输入的抵抗能力。在遇到传感器故障或极端输入时,限制输出可以避免系统做出过激反应。
3.系统状态监控与日志:虽然示例中有简单的日志输出,但还可以进一步增强,比如记录关键参数的变化、异常检测结果和系统状态,这有助于故障后分析和诊断。
4.其他:根据相关规范与需求执行。
5.5.记忆与自学习
首先需要在系统中增加数据记录机制,记录车辆在不同路况、驾驶模式下的运行数据,基于收集的数据,可构建机器学习模型,用于学习驾驶员的习惯和不同路况下的最优控制策略。(这通常在系统离线阶段进行,然后将训练好的模型部署到车辆上)
在车辆运行过程中,可通过相关机制让系统在线学习,即根据实时数据不断微调控制参数。如根据当前路况和驾驶员的操作,调整PID参数,使得悬架系统的表现更加贴合特定驾驶员的偏好或当前驾驶环境的需求。
在示例中,通过switchDrivingMode()函数手动切换驾驶模式,实际上可以更进一步,即根据实时数据分析,自动建议或切换至最合适的驾驶模式,甚至创建个性化的驾驶模式。
六、总结
示例的空气悬架控制系统雏形代码段,仅为展现在空气悬架系统的开发过程中,如何通过相关软件策略去实现设定的初始目标过程。此过程仅对部分关键点进行了说明,在实际项目开发过程中,需要根据具体情况做出改变。同时,在传统类控制单元的车载软件开发中,已鲜有直接使用手码代码的方式,另外与功能安全、规范标准相关的部分需按其要求严格执行,总之,这里只是示意过程。