集成车辆交通的通用框架
在车辆交通模拟领域,集成不同类型的模拟器面临着诸多挑战,同时也有着重要的应用价值。下面将深入探讨相关内容。
1. 集成面临的挑战
在集成车辆交通模拟时,主要面临以下三个挑战:
-
时间同步问题
:大多数网络模拟器是事件驱动的,即一个事件完成后才进入下一个;而车辆交通模拟器多是时间驱动的,时间按固定间隔推进。这导致两种模型中时间推进速度可能不同。解决办法是使用其中一个模拟器的系统时间作为全局参考时间。若某个模拟器运行较快,同步机制会迫使它等待另一个模拟器到达相同时间后再继续推进。
-
节点位置同步问题
:为了准确模拟通信环境,通信模拟器中代表车辆的每个节点位置必须与车辆交通模拟器中同一车辆的位置相匹配。解决方法是在每个模拟时间步开始时同步节点位置。此外,还需考虑处理在模拟运行期间进入和离开模拟网络的车辆的额外流程。
-
计算效率问题
:每个模型都有自己的计算负载,时间和节点同步会显著增加模拟的计算负载,导致执行时间变长。虽然希望模拟速度快,但模拟准确性更为重要,即使会导致执行速度变慢。研究主要关注功能实现,所以文中未对计算效率进行具体评估。
2. 同步模型
模拟过程开始时,两个模拟器会初始化为一个共同的参考时间,这里使用车辆模拟器的时钟作为参考,因为其采用的时间 - 事件方法能更好地控制并行运行时每个模型的停止时间。初始化后,车辆模拟器前进一个时间步 T,为确保时间同步,它会向网络模拟器发送消息,授权其也向前推进。当车辆模拟器完成模拟步骤时,会向网络模拟器发送 DONE 消息;网络通信模拟器完成模拟步骤时也会这样做。先完成任务的模拟器会等待另一个完成后再继续。当两个模拟器都完成步骤后,会进行节点更新机制,车辆模拟器生成包含所有配备 DSRC 车辆的位置、速度和航向的列表并发送给网络模拟器,网络模拟器根据此信息同步其所有建模节点的位置和属性。若收到未知节点的信息,会创建新节点;若要删除节点,也有类似机制。完成更新后,开始新的模拟周期,两个模型再次前进 T 秒。
以下是同步过程的简要流程:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px
A([初始化两个模拟器到共同参考时间]):::startend --> B(车辆模拟器前进一个时间步 T):::process
B --> C(车辆模拟器发送消息给网络模拟器):::process
C --> D{车辆模拟器完成步骤?}:::decision
D -->|是| E(车辆模拟器发送 DONE 消息给网络模拟器):::process
D -->|否| B
E --> F{网络模拟器完成步骤?}:::decision
F -->|是| G(网络模拟器发送 DONE 消息给车辆模拟器):::process
F -->|否| C
G --> H(进行节点更新机制):::process
H --> I(开始新的模拟周期,前进 T 秒):::process
I --> B
3. 数据通信模型
无线消息(如碰撞警告消息)通常由车辆模拟器中的车辆生成,然后传递给网络模拟器中对应的节点。消息在网络模拟器中使用选定的路由/广播协议进行路由。当确定无线消息的副本到达网络模拟器中的接收节点时,消息会被传递回车辆模拟器中对应的车辆。车辆收到消息后,可能会丢弃或做出反应,如减速或变道,还可能生成新消息或重新广播收到的消息。
其流程如下:
1. 车辆模拟器中的车辆生成无线消息。
2. 消息传递给网络模拟器中对应的节点。
3. 网络模拟器使用协议模拟消息的无线传输。
4. 消息到达接收节点后,传递回车辆模拟器中对应的车辆。
5. 车辆处理消息并做出反应。
4. 具体实现 - ns - 2 与 Paramics 集成
以 Paramics(商业车辆模拟器,时间驱动,运行在 Windows 系统)和 ns - 2(开源无线网络模拟器,事件驱动,运行在 Linux 系统)的集成为例,介绍具体实现。
4.1 时间同步
同步过程从两个模拟器在执行时间 1 同步时钟开始,以 Paramics 内部时钟作为参考时间。在 ns - 2 中引入同步事件 Et,该事件在 Paramics 一个时间步的持续时间 Pt 后发生。Paramics 完成其时间步(到达模拟时间 Pt)后向 ns - 2 发送 DONE 消息,若 ns - 2 未完成,Paramics 会等待。ns - 2 到达 Pt 后,向 Paramics 发送 DONE 信号,并安排下一个同步事件。
以下是时间同步示例:
| 模拟器 | 执行时间 1 | 执行时间 3 | 执行时间 4.5 | 执行时间 10 |
| ---- | ---- | ---- | ---- | ---- |
| Paramics | 同步时钟 | 完成时间步 Pt,发送 DONE 消息 | 等待 ns - 2 | 完成时间步 2.Pt,发送 DONE 消息 |
| ns - 2 | 同步时钟,引入同步事件 Et | | 完成时间步 Pt,发送 DONE 信号,安排下一个同步事件 | 等待 Paramics 的 DONE 信号 |
4.2 车辆位置同步
在每个同步点(每个 Pt 周期一次),Paramics 使用共享文件夹/文件机制将每辆车的以下信息发送给 ns - 2:
| 参数 | 含义 |
| ---- | ---- |
| Vid | 车辆 ID |
| SN | 链路起始节点 |
| X | X 坐标 |
| EN | 链路结束节点 |
| Y | Y 坐标 |
| Ln | 车道 |
| S | 速度 |
| B | 航向 |
| D | 车辆距链路末端的距离 |
ns - 2 收到信息后,更新对应节点的位置和属性。若收到未知车辆 ID 的消息,ns - 2 会创建新节点;若 Paramics 删除车辆,会发送消息通知 ns - 2 删除对应节点。
4.3 数据通信
当 Paramics 中的车辆决定通过无线网络发送消息时,消息先存储在要发送给 ns - 2 的文件中。ns - 2 在每个同步点读取消息文件,使用选定的 MAC、路由和/或广播协议模拟无线传输。当消息到达目的地时,存储在输出消息文件中,Paramics 在下一个同步事件时读取。数据通信可能会因时间同步的实现方式产生延迟,最大潜在延迟对应 Paramics 一个时间步的持续时间 Pt。若 Paramics 时间步为 100 ms,延迟通常在 DSRC 安全应用推荐的可容忍延迟范围内。
5. 应用案例研究 - 协同车辆碰撞避免
在高速公路上,司机常依赖前车刹车灯来决定是否刹车,这在车辆近距离跟随且视线受阻时会造成危险。司机反应时间通常在 0.75 - 1.5 秒,以 70 mph 的速度行驶时,反应前会行驶 75 - 150 英尺。短车距时,突然刹车可能无法避免碰撞,在密集交通中还可能引发连环事故。通过减少紧急事件与通知临近车辆之间的延迟,可避免或减轻碰撞。一种方法是车辆间传播事故警告消息,这要求通信系统能及时传递关键消息。
5.1 模拟场景和参数
案例研究通过指示 Paramics 模拟一个突然阻塞三车道高速公路的事件。使用密歇根州诺维附近 I - 96 路段的现有模型,车辆从网络西端进入高速公路,以平均 70 mph 的速度行驶 7 英里后到达事故地点,这样可形成典型的高速公路交通到达模式。事故通过在每个车道突然添加一辆停止的车辆来模拟。由于 Paramics 本身不允许碰撞发生,通过其应用程序编程接口修改默认跟车逻辑,确保做出真实响应并确定哪些车辆会卷入碰撞。最大减速率限制为 8 m/s²,当 Paramics 为调整车辆位置而施加负速度时,认为发生碰撞。
模拟参数如下:
| Paramics 参数 | ns - 2 参数 |
| ---- | ---- |
| 车辆数量:700 辆 | MAC 协议:802.11 |
| 平均车速:32 m/s | 无线电模型:双射线地面 |
| 推荐速度:7、10 和 15 m/s | 数据包错误率:[0 - 100]% |
| 车辆长度:4 m | 事故消息大小:128 字节 |
| 最大紧急减速率:8 m/s² | 通信范围:250 m |
| 平均司机反应时间:1 s | 事故消息周期:100 ms |
| 车间距:[0.6 – 1] s | DSRC 启用车辆比例:[0, 15, 25, 50, 80, 100]% |
5.2 无线消息生成和传播
协同碰撞避免(CCA)应用通过指示每个卷入事故的车辆向临近交通广播警告消息来实现。这些消息每 0.1 秒生成一次,包含事故车辆的位置和推荐的接近速度。消息可能指示右车道有停止车辆,并指示临近车辆减速到 30 mph。在本研究中,假设消息传播为单跳限制。配备 DSRC 的车辆收到警告消息后会逐渐减速到推荐速度,非 DSRC 车辆则不响应。
6. 性能结果
通过统计碰撞车辆数量和碰撞前每辆车的速度来评估 CCA 应用的有效性。若能减少碰撞车辆数量或降低无法避免碰撞车辆的碰撞速度,则说明应用有效。
6.1 碰撞车辆数量
CCA 对不同车间距(1.0 s 和激进的 0.6 s)交通流中碰撞车辆数量有显著影响。在两种情况下,未启用 CCA 的场景碰撞数量最多,且 0.6 s 车间距场景的碰撞数量更多。启用 CCA 后,两种场景的碰撞数量都显著下降。对于 0.6 s 平均间距场景,推荐接近速度为 10 m/s(36 km/h)时碰撞车辆数量最少;对于 1.0 s 平均速度场景,推荐接近速度为 7 m/s(25 km/h)时碰撞数量最少。推荐速度最慢并不总是导致最少的碰撞数量,这是因为司机行为具有可变性。
6.2 碰撞严重程度
以 0.6 s 平均车间距场景为例,未启用 CCA 时,除车辆 1 和 5 外,所有车辆都会碰撞,碰撞速度从接近 0 m/s 到全速(32 m/s)不等。启用 CCA 后,车辆 9 - 19 都能避免碰撞,部分其他车辆也能根据推荐接近速度避免碰撞,一些车辆还能降低碰撞速度,如车辆 3 和 7。
综上所述,集成车辆交通模拟在解决实际交通问题(如协同车辆碰撞避免)中具有重要作用,通过合理的同步机制和数据通信模型,能有效评估相关应用的性能,为交通安全性的提升提供有力支持。
集成车辆交通的通用框架(续)
7. 对性能结果的深入分析
从性能结果来看,CCA 应用在减少碰撞车辆数量和降低碰撞严重程度方面表现出了显著的效果。然而,推荐速度与碰撞情况之间并非简单的线性关系,这背后涉及到多个复杂因素。
- 司机行为的影响 :司机的行为具有很大的可变性,包括反应时间、驾驶风格等。即使设定了平均车间距,不同司机实际的跟车距离也会有所不同。激进的司机可能会保持较短的车间距,当遇到紧急情况时,他们的反应时间可能不足以避免碰撞。例如,在推荐速度较低的情况下,若激进司机跟车过近,可能仍然无法及时减速,导致碰撞发生。
- 车辆位置的随机性 :车辆在道路上的位置是随机分布的,这会影响到消息的传播和车辆的反应。如果某一区域的车辆过于密集,可能会导致消息传播受阻,部分车辆无法及时收到警告消息。另外,车辆的初始位置和行驶状态也会影响其对警告消息的响应效果。
8. 实际应用中的考虑因素
在将集成车辆交通模拟应用于实际场景时,还需要考虑以下几个方面:
-
通信可靠性
:无线消息的传播依赖于可靠的通信系统。在实际道路环境中,可能会存在信号干扰、遮挡等问题,影响消息的及时传递。因此,需要选择合适的通信协议和技术,提高通信的可靠性。例如,采用多跳路由技术可以扩大消息的传播范围,但也需要考虑路由的效率和稳定性。
-
系统兼容性
:不同的模拟器和设备可能存在兼容性问题。在集成多个模拟器时,需要确保它们之间的数据格式、接口等能够相互匹配。此外,车辆上的通信设备也需要与模拟系统兼容,以便准确地接收和处理消息。
-
实时性要求
:在车辆交通场景中,实时性至关重要。任何延迟都可能导致严重的后果。因此,在设计模拟系统时,需要优化时间同步机制和数据通信流程,尽量减少延迟。例如,可以采用高速数据传输技术和高效的同步算法,提高系统的实时性。
9. 未来发展方向
随着技术的不断发展,集成车辆交通模拟领域还有很大的发展空间。以下是一些可能的未来发展方向:
-
更精确的模型
:进一步改进车辆和交通模型,考虑更多的因素,如天气条件、驾驶员情绪等,以提高模拟的准确性。例如,在恶劣天气下,车辆的制动距离会增加,驾驶员的反应速度也会受到影响,这些因素都应该在模型中得到体现。
-
智能交通系统的集成
:将集成车辆交通模拟与智能交通系统相结合,实现更高效的交通管理。例如,通过实时监测交通流量和车辆状态,智能交通系统可以自动调整信号灯时间、发布交通信息等,从而优化交通运行。
-
与自动驾驶技术的融合
:随着自动驾驶技术的发展,集成车辆交通模拟可以用于测试和验证自动驾驶车辆的性能。模拟不同的交通场景,评估自动驾驶车辆在各种情况下的安全性和可靠性,为自动驾驶技术的推广提供支持。
10. 总结与展望
集成车辆交通模拟是一个复杂而又具有重要意义的领域。通过解决时间同步、节点位置同步和计算效率等挑战,建立合理的同步模型和数据通信模型,可以有效地模拟车辆交通和通信环境。在协同车辆碰撞避免的应用案例中,我们看到了集成模拟的实际效果,它能够为提高交通安全性提供有力的支持。
然而,要将集成车辆交通模拟广泛应用于实际交通系统,还需要克服许多技术和实际应用方面的问题。未来,随着技术的不断进步,我们有理由相信,集成车辆交通模拟将在智能交通领域发挥更加重要的作用,为人们创造更加安全、高效的交通环境。
为了更清晰地展示整个集成车辆交通模拟的流程,下面给出一个整体的 mermaid 流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px
A([开始模拟]):::startend --> B(初始化模拟器到共同参考时间):::process
B --> C(车辆模拟器前进一个时间步 T):::process
C --> D(车辆模拟器发送消息给网络模拟器):::process
D --> E{车辆模拟器完成步骤?}:::decision
E -->|是| F(车辆模拟器发送 DONE 消息给网络模拟器):::process
E -->|否| C
F --> G{网络模拟器完成步骤?}:::decision
G -->|是| H(网络模拟器发送 DONE 消息给车辆模拟器):::process
G -->|否| D
H --> I(进行节点更新机制):::process
I --> J{是否发生事故?}:::decision
J -->|是| K(车辆生成并广播警告消息):::process
J -->|否| C
K --> L(消息在网络模拟器中传播):::process
L --> M{消息到达接收车辆?}:::decision
M -->|是| N(接收车辆处理消息并做出反应):::process
M -->|否| L
N --> O(更新车辆状态):::process
O --> P(判断是否继续模拟):::decision
P -->|是| C
P -->|否| Q([结束模拟]):::startend
这个流程图展示了从模拟开始到结束的整个过程,包括时间同步、节点更新、消息传播和车辆反应等关键步骤。通过这个流程图,可以更直观地理解集成车辆交通模拟的工作原理。
此外,为了更好地对比不同参数设置下的模拟结果,下面给出一个汇总表格:
| 模拟场景 | 车间距 (s) | 推荐速度 (m/s) | 碰撞车辆数量 | 平均碰撞速度 (m/s) |
|---|---|---|---|---|
| 未启用 CCA | 0.6 | - | 较多 | 较高 |
| 启用 CCA | 0.6 | 7 | 较少 | 较低 |
| 启用 CCA | 0.6 | 10 | 最少 | 较低 |
| 启用 CCA | 0.6 | 15 | 较多 | 较高 |
| 未启用 CCA | 1.0 | - | 较多 | 较高 |
| 启用 CCA | 1.0 | 7 | 最少 | 较低 |
| 启用 CCA | 1.0 | 10 | 较少 | 较低 |
| 启用 CCA | 1.0 | 15 | 较多 | 较高 |
通过这个表格,可以清晰地看到不同车间距和推荐速度下的碰撞情况,为进一步优化 CCA 应用提供参考。
总之,集成车辆交通模拟是一个充满挑战和机遇的领域,通过不断的研究和实践,我们有望在交通安全性和效率方面取得更大的突破。
超级会员免费看
1881

被折叠的 条评论
为什么被折叠?



