Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

防抱死制动系统建模

此示例说明如何对防抱死制动系统 (ABS) 进行简单建模。它对车辆在紧急制动情况下的动态行为进行仿真。该模型表示单个车轮,可以重复多次以创建多轮车辆的模型。

此模型使用 Simulink® 中的信号记录功能。该模型将信号记录到 MATLAB® 工作区,您可以在该工作区中分析和查看它们。您可以在 ModelingAnAntiLockBrakingSystemExample.m 中查看代码以了解其工作原理。

在此模型中,车轮速度是在名为 sldemo_wheelspeed_absbrake 的单独模型中计算的。然后使用 Model 模块引用该组件。请注意,顶层模型和引用模型都使用可变步长求解器,因此 Simulink 将跟踪引用模型中的过零情况。

物理原理分析

车轮以初始角速度旋转,该初始角速度对应于施加制动之前的车速。我们使用单独的积分器来计算车轮角速度和车速。我们使用两种速度来计算滑动,滑动由方程 1 确定。请注意,我们引入了以角速度表示的车速(请参阅下文)。

$$\omega_v = \frac{V}{R} \mbox{ (equals the wheel angular speed if there is no slip)}$$

方程 1

$$ \omega_v = \frac{V_v}{R_r}$$

$$slip=1-\frac{\omega_w}{\omega_v}$$

$$\omega_v = \mbox{ vehicle speed divided by wheel radius}$$

$$ V_v = \mbox{ vehicle linear velocity}$$

$$ R_r = \mbox{ wheel radius}$$

$$ \omega_w = \mbox{ wheel angular velocity}$$

从这些表达式中,我们可以看出,当车轮速度和车速相等时,滑动为零,当车轮抱死时,滑动等于 1。理想的滑动值是 0.2,这意味着车轮转数等于非制动条件下相同车速的转数的 0.8 倍。此时轮胎和道路之间的附着力最大,在可用摩擦力的作用下使停车距离最小。

建模

轮胎和路面之间的摩擦系数 mu 是滑动的经验函数,称为 mu-slip 曲线。我们通过使用 Simulink 查找表将 MATLAB 变量传递到模块图中来创建了 mu-slip 曲线。该模型将摩擦系数 mu 乘以车轮重量 W,得出作用在轮胎圆周上的摩擦力 FfFf 除以车辆质量得出车辆减速度,模型对其进行积分获得车速。

在此模型中,我们使用了理想的防抱死制动控制器,它根据实际滑动和期望滑动之间的误差使用 bang-bang 控制。我们将期望滑动设置为 mu-slip 曲线达到峰值时的滑动值,这是最小制动距离的最佳值(请参阅以下注释)。

  • 注释:在实际车辆中,滑动无法直接测量,因此这种控制算法并不实用。此示例中使用它在概念上说明这种仿真模型的构造。此类仿真在工程中的真正价值是在应对实现中的具体问题之前,先展示控制概念的可能性。

打开模型

双击模型窗口中的 Wheel Speed 子系统将其打开。此子系统根据给定的车轮滑动、期望的车轮滑动和轮胎扭矩计算车轮角速度。

为了控制制动压力的变化率,该模型从期望的滑动量中减去实际滑动量,并将此信号馈入 bang-bang 控制(+1-1,具体取决于误差的符号。此开/关速率通过一阶时滞,该时滞表示与制动系统的液压管路相关联的延迟。然后,该模型对滤波后的速率进行积分,以产生实际制动压力。所得信号乘以活塞面积和相对于车轮的半径 (Kf),即为施加到车轮上的制动扭矩。

该模型将车轮上的摩擦力乘以车轮半径 (Rr),得出路面作用于车轮的加速扭矩。从其减去制动扭矩,即可得出作用于车轮的净扭矩。将净扭矩除以车轮转动惯量 I,得出车轮加速度,然后将其积分以得到车轮速度。为了保持车轮速度和车速为正,该模型中使用了有限积分器。

在 ABS 模式下运行仿真

在 Simulation 选项卡上,点击 Run 以运行仿真。您也可以通过在 MATLAB 中执行 sim('sldemo_absbrake') 命令来运行仿真。在此仿真过程中,ABS 处于打开状态。

  • 注意:该模型将相关数据记录到 MATLAB 工作区中名为 sldemo_absbrake_output 的结构体。记录的信号有蓝色指示符。在本例中记录了 youtslp。在 Simulink 帮助中阅读有关信号记录的详细信息。

上图显示 ABS 仿真结果(使用默认参数)。第一个绘图显示车轮角速度和对应的车辆角速度。该绘图显示,车轮速度保持在车速以下而未启用抱死,车速在不到 15 秒内就变为零。

在无 ABS 的情况下运行仿真

为了获得更有意义的结果,需要考虑没有 ABS 的情况下的车辆行为。在 MATLAB 命令行中,设置模型变量 ctrl = 0。这将断开控制器与滑动反馈的连接,从而产生最大制动。

ctrl = 0;

现在再次运行仿真。这将对没有 ABS 的制动进行建模。

带 ABS 的制动与不带 ABS 的制动

在显示车速和车轮速度的图中,我们看到车轮在大约 7 秒后抱死。从该时刻起,制动进入滑动曲线的次优部分。也就是说,当 slip = 1 时,正如滑动图所示,轮胎在路面上滑动太厉害,摩擦力已下降。

从下面所示的比较来看,这也许更有意义。图中绘制了这两种情况下车辆行驶的距离。如果没有 ABS,汽车会多滑行 100 英尺,完全停止所需的时间也会多出大约三秒。

关闭模型

关闭模型。关闭 Wheel Speed 子系统。清除记录的数据。

总结

此模型说明如何使用 Simulink 对 ABS 控制器作用下的制动系统进行仿真。此示例中的控制器是理想化的,但您可以使用任何建议的控制算法来代替它,以评估系统的性能。您还可以将 Simulink® Coder™ 和 Simulink 结合使用,以作为对所建议算法进行快速原型构建的有用工具。可以为控制器硬件生成和编译 C 代码,以在车辆中测试相关概念。这样能够在开发周期的早期进行实际测试,从而大大减少证实新想法所需的时间。

对于硬件在环制动系统仿真,您可以删除 bang-bang 控制器,并在实时硬件上运行运动方程,以对车轮和车辆动态进行仿真。您可以通过使用 Simulink Coder 为此模型生成实时 C 代码来实现这一点。然后,您可以通过将实际 ABS 控制器与运行所生成代码的实时硬件对接来测试该控制器。在此方案中,实时模型将向控制器发送车轮速度,控制器将向模型发送制动动作。

相关主题