编辑:CrazyRabbit
日期:2022年3月22日
本文介绍CarSim内置的ESC控制库
CarSim有一个简单的内置ESC控制器,该控制器通过生成校正偏航力矩来应用单独的制动器以避免车辆失控。
世界各国政府都制定了法规,要求车辆配备 ESC,或要求它们满足设计为没有 ESC 的车辆无法达到的性能标准。例如,美国政府标准 FMVSS 126 和等效的欧盟 ECE 法规 13H 都使用称为“Sine with Dwell”的测试过程来确认被测车辆具有正常工作的 ESC 系统。
默认情况下,ESC控制器没有安装在CarSim中。为了安装控制器,在**Control:Electronic Stability (ESC)**库中。任何从这个库生成的Dataset都将应用VS 命令“INSTALL_ESC”来安装该控制器和相关的参数、变量。下图显示了Echo文件中当ESC控制器由参数OPT_ESC_ON(默认是1,表示激活)激活。
上图中还有两个参数“STEER_RATIO_ESC”和“WB_ESC”,这是两个计算出来的参数,用来提供更多的信息。其他的参数用来调整ESC的行为,后续章节将介绍。
请注意,CarSim中的Brake System Screens包括一个下拉菜单和内部 ABS 系统的黄色数据字段。为了使内置 ESC 工作:
防侧翻保护:
保持直行控制
这个USG_ESC是个前期给的输入参考值,实际CarSim也会实时计算车辆的不足转向度,用来和给定的值对比,根据对比情况来做控制。
杂项
ESC 使用命令 INSTALL_ESC 安装。如果未安装,则不包含在模拟中。
以下条件下ESC功能启用(Enabled,处于可被激活状态)
控制器的启用/禁用状态可从输出变量 ESC_Enabled 获得。
激活后,ESC可以向所有制动器发送指令。
ESC 提供四个压力请求。PbkESC_L1 和 PbkESC_R1 是两个前轮的制动输出压力。如制动系统帮助文档中所述,这个输送压力是在任意比例之后,并且在内置 ABS 控制器之前(原文:As described in the Brake System Help document, the delivery pressure is after any proportioning, and before the built-in ABS controller)。
如果任何压力请求大于参数** ESC_PBK_ACTIVE** 指定的阈值,则认为 ESC 处于“活动状态”,输出变量 ESC_Active 设置为 1;否则为零。当 ESC_Active 不为零时,动力总成模型会覆盖发动机油门,将其设置为零。在某些示例中,ESC_Active 用于控制 VS Visualizer 中警报的可见性。
ESC启用后,出于两种原因干预:① 防侧翻 ② 失去控制
在这两种情况下,ESC 都使用当前的转向角和车速来通过简单的计算来预测车辆将转向多少。
ESC 使用当前方向盘角度和前进速度来估计预期的横摆角速度。
前轮转角平均值与方向盘之间的有效转向比 STEER_RATIO_ESC 在初始化期间使用适用于转向类型(齿条和小齿轮或循环球)的可配置函数的导数进行计算。此计算属性列在带有 ESC 参数的 Echo 文件中。CarSim模拟的每个时间步长,ESC 计算前轮 SteerESC 的平均值为:
SteerESC = Steer_SW / STEER_RATIO_ESC ①
Steer_SW是方向盘转角,SteerESC是输出参数。
ESC 还在初始化期间通过对主导单元的所有后悬架的 LX_AXLE 参数进行平均并减去轴 1 的 LX_AXLE 来计算轴距 WB_ESC。这个计算的属性也是在 Echo 文件中列出。
控制器预测与转向线性(Lin代表线性)相关的横摆角速度AVz_ESC_Lin(输出变量):
AVz_ESC_Lin = SteerESCV /(WB_ESC + USG_ESCV2 ) ②
其中V是前进速度,USG_ESC 是一个 ESC 参数(前期给定值),它是车辆转向不足梯度的估计值。
转向不足参数 USG_ESC 对等式2的有效性至关重要。如前面对参数的描述所述,输出变量 USG_Live 由 ESC 提供,以帮助确定 USG_ESC 的有用值。实时(live)转向不足 USG_Live 由相同的等式计算,并使用前车AVz 的横摆角速度进行操作:
USG_Live = SteerESC/AVz/V - WB_ESC/V2 ③
使用 USG_Live 来确定 USG_ESC 有用值的一个很好的测试是缓慢增加的转向测试(在恒定速度下),就像对乘用车的 FMVSS-126/ECE-R13H 等 ESC 合规性测试所做的那样。
计算引导单元 (Mu_ESC)上所有轮胎的平均摩擦系数,并用于确定最大横摆角速度 (AVz_ESC_Max) 作为轮胎侧向力处于摩擦极限时的极限情况。在这种情况下,总侧向力为 µ•W,其中 W = mg,侧向加速度为 Ay:
m·Ay = Fy = µ·mg ④
Ay = µ·g ④
假设 Ay = (yaw rate)•V,最大横摆角速度估计为:
AVz_ESC_Max = Mu_ESCG/V ⑤
横摆角速度预测(输出变量 AVz_ESC_Pre)具有线性预测的符号,其幅度是等式 2 和 5 中计算的横摆角速度中较小的一个:
AVz_ESC_Pre = sign(min(|AVz_ESC_Lin|, AVz_ESC_Max), AVz_ESC_Lin) ⑥
输出变量 Ay_ESC_Pre 是预测的横向加速度,由横摆角速度简单地乘以速度计算得出:
Ay_ESC_Pre = AVz_ESC_PreV ⑦
对于重型卡车,ESC 的主要作用是防止可能导致侧翻的横向加速度。三个参数定义了用于确定是否应激活 ESC 以减慢车辆的阈值:AY_LIMIT_ESC、AY_ROLL_LIMIT_ESC 和 ROLL_LIMIT_ESC。
如果当前平行于路面的横向加速度 (Ay_Rd) 的大小大于参数 AY_LIMIT_ESC,则来自 ESC 的所有四个制动压力请求都设置为参数 PBK_MAX_ESC。
如果当前车辆相对于路面的侧倾角 (Roll_Rd) 大于参数 ROLL_LIMIT_ESC,并且预测横向加速度 Ay_ESC_Pre 的大小大于参数 AY_ROLL_LIMIT_ESC,则来自 ESC 的所有四个制动压力请求都设置为参数 PBK_MAX_ESC。
在任何一种情况下(大横向加速度或大滚动加上一些预测的横向加速度),然后输出变量 ESC_Active 设置为 1,油门设置为零。
将预测的横摆角速度AVz_ESC_Pre 与实际的横摆角速度AVz 进行比较以计算横摆角速度误差,即输出变量 AVz_ESC_Err:
AVz_ESC_Err = AVz - AVz_ESC_Pre ⑧
当误差幅度大于横摆角速度死区参数** AVZ_DEAD_ESC **时,计算干预制动输出压力:
PdelAVz = AVZ_KP_ESC * max(|AVz_ESC_Err| - AVZ_DEAD_ESC, 0) ⑨
输送压力 PdelAVz 用于设置四个 ESC 压力之一,选择取决于横摆角速度误差是否表示横摆角速度太大(过度转向)或不足(转向不足),以及预期的方向转向(右或左)。在过度转向的情况下,干预制动作用于前部;对于转向不足,它应用于后部。
例如,如果预期转向向左(正转向和预测横摆角速度)并且误差为正(实际横摆角速度大于预测横摆角速度),则车辆向左过度转向并且干预压力施加到右前轮 (PbkESC_R1)。在所有情况下,压力都受参数 PBK_MAX_ESC 限制。
这四个工况是:
如果输送压力大于参数 PBK_ACTIVE_ESC,则输出变量 ESC_Active 设置为 1,油门设置为零。