Main Content

使用消息对分布式交通控制系统建模

此示例说明如何对单行道的交叉路口的分布式控制系统进行建模。为了协调交通信号灯的状态,两个图通过使用消息相互通信。这两个图采用相同的设计。

您可以通过 MATLAB® UI 与交通信号进行交互。要请求行人穿越,请点击交通信号灯底部的一个深灰色请求按钮。

每条道路的控制器由交通信号灯控制器子系统 Traffic Light 1 和 Traffic Light 2 实现。

在每个子系统中,Controller 图通过交通信号灯的各种状态描述交通控制器的主要逻辑。

此模型使用消息的以下语义特征:

  • 如果消息未立即得到处理,它们不会被丢弃。例如,在此模型中,行人穿越马路的请求需要排队等待,直到交通信号灯变红时控制器能够对一个行人请求作出反应。

  • 您可以在不同组件之间建立消息循环。这些循环不会在模型中产生代数环。

  • 通常,输入消息在计算这些消息的时间步结束时销毁。不过,您可以通过将这些输入消息临时转发到一个本地“保留”队列来保留它们以供将来使用。例如,当 Controller 图退出 Go 状态时,它使用局部队列 pedRequestLocal 存储在另一条道路上提出的行人请求。该图稍后在退出 PrepareToStop 状态时检查这些请求。

要更改仿真的速度,请在仿真选项卡中,选择运行 > 仿真调速。在“仿真调速选项”对话框中,调整滑块设置。有关详细信息,请参阅Simulation Pacing Options (Simulink)

另请参阅

(Simulink)

相关主题