概述#
sumo 支持无线车载设备的模拟,以实现一种依赖于检测车辆发出的无线电信号(通常是蓝牙或 Wi-Fi)的传感器机制。每辆车都可以充当发送设备和/或接收设备。检测的参数(例如范围和检测概率)可以配置,并且可以记录检测事件的日志。目前无法通过 TraCI 检索检测事件,也无法在模拟中直接对此类事件做出反应。配置发送器和接收器设备的相关参数在 sumo#communication 中描述。有关检测过程的详细信息,请参阅以下出版物:Behrisch, Michael and Gurczik, Gaby (2014) Modelling Bluetooth Inquiry for SUMO. In: SUMO2014 Modeling Mobility with Open Data. SUMO2014, 15.-16. Mai 2014, Berlin
启用发送器/接收器设备#
蓝牙功能使用两个设备启用:
- btsender:使此车辆可被检测
- btreceiver:使此车辆能够检测发送器
这些设备的激活在此处进行说明。
btreceiver 设备的行为可以使用以下 sumo 选项进行进一步自定义:
- --device.btreceiver-range <FLOAT>(定义检测范围,单位为米)
- --device.btreceiver-offtime <FLOAT>(定义连接之间的最短时间,单位为秒。可用于模拟通信流量负载的影响)。
行人#
发送器和接收器设备也可以为行人启用。这些设备的工作方式与车辆设备相同,并且将与车辆设备以及彼此之间进行交互。
输出#
选项 --bt-output 生成以下形式的 XML 输出文件:
<bt-output>
<bt id="<VEHICLE_ID>">
<seen id="<VEHICLE_ID>" tBeg="<TIME>" observerPosBeg="<COORD>" observerSpeedBeg="<SPEED>" observerLaneIDBeg="<LANE_ID>" observerLanePosBeg="<LANE_POS>"
seenPosBeg="<COORD>" seenSpeedBeg="<SPEED>" seenLaneIDBeg="<LANE_ID>" seenLanePosBeg="<LANE_POS>"
tEnd="<TIME>" observerPosEnd="<COORD>" observerSpeedEnd="<SPEED>" observerLaneIDEnd="<LANE_ID>" observerLanePosEnd="<LANE_POS>"
seenPosEnd="<COORD>" seenSpeedEnd="<SPEED>" seenLaneIDEnd="<LANE_ID>" seenLanePosEnd="<LANE_POS>"
observerRoute="<EDGE_ID>+" seenRoute="<EDGE_ID>+">
<recognitionPoint t="<TIME>" observerPos="<COORD>" observerSpeed="<SPEED>" observerLaneID="<LANE_ID>" observerLanePos="<LANE_POS>"
seenPos="<COORD>" seenSpeed="<SPEED>" seenLaneID="<LANE_ID>" seenLanePos="<LANE_POS>"/>
... more recognition points ...
</seen>
... more contacts of the same vehicle ...
</bt>
... more data of of sensor vehicles ...
</bt-output>
如果未给出选项 --device.btreceiver.all-recognitions,则每个相遇仅打印第一个识别点。所写值的含义如下表所示。
| 名称 | 类型 | 描述 |
|---|---|---|
| id@bt | ID | 观察车辆(接收器)的 id |
| id@seen | ID | 被检测车辆(发送器)的 id |
| tBeg | s | 发送器进入检测范围的时间 |
| observerPosBeg | x,y in m | 发送器进入范围时,观察者的笛卡尔坐标 |
| observerSpeedBeg | m/s | 发送器进入范围时,观察者的速度 |
| observerLaneIDBeg | ID | 发送器进入范围时,观察者的车道 id |
| observerLanePosBeg | m | 发送器进入范围时,观察者在车道上的纵向位置 |
| seenPosBeg | x,y in m | 发送器进入范围时,发送器的笛卡尔坐标 |
| seenSpeedBeg | m/s | 发送器进入范围时,发送器的速度 |
| seenLaneIDBeg | ID | 发送器进入范围时,发送器的车道 id |
| seenLanePosBeg | m | 发送器进入范围时,发送器在车道上的纵向位置 |
| tEnd | s | 发送器离开检测范围的时间 |
| observerPosEnd | x,y in m | 发送器离开范围时,观察者的笛卡尔坐标 |
| observerSpeedEnd | m/s | 发送器离开范围时,观察者的速度 |
| observerLaneIDEnd | ID | 发送器离开范围时,观察者的车道 id |
| observerLanePosEnd | m | 发送器离开范围时,观察者在车道上的纵向位置 |
| seenPosEnd | x,y in m | 发送器离开范围时,发送器的笛卡尔坐标 |
| seenSpeedEnd | m/s | 发送器离开范围时,发送器的速度 |
| seenLaneIDEnd | ID | 发送器离开范围时,发送器的车道 id |
| seenLanePosEnd | m | 发送器离开范围时,发送器在车道上的纵向位置 |
| observerRoute | ID 列表 | 观察车辆的路线 |
| seenRoute | ID 列表 | 发送车辆的路线 |
| t | s | 观察者检测到发送器的时间 |
| observerPos | x,y in m | 观察者检测到发送器时,观察者的笛卡尔坐标 |
| observerSpeed | m/s | 观察者检测到发送器时,观察者的速度 |
| observerLaneID | ID | 观察者检测到发送器时,观察者的车道 id |
| observerLanePos | m | 观察者检测到发送器时,观察者在车道上的纵向位置 |
| seenPos | x,y in m | 发送器被检测到时,发送器的笛卡尔坐标 |
| seenSpeed | m/s | 发送器被检测到时,发送器的速度 |
| seenLaneID | ID | 发送器离开范围时,发送器的车道 id |
| seenLanePos | m | 发送器被检测到时,发送器在车道上的纵向位置 |
模拟车路协同 (V2I)#
为了模拟车辆和路侧单元 (RSU) 之间的检测事件,将停止的车辆放置在路边是很方便的。这可以通过设置属性 parking="true" 来实现。
