概述#
自 1.5.0 版本起,SUMO 在原有的 电动 车辆模型基础上进行了扩展,增加了模拟电池辅助无轨电车内部电气参数的模型。这种车辆由架空线供电,并安装有电池组。电池组从架空线充电,而非从独立的充电站充电。
该模型不仅允许进行车辆仿真,还可以包含架空线电路行为的详细电气仿真。该模型由来自 RICE FEE UWB Pilsen 的 Jakub Ševčík 和 Jan Přikryl 实现。模型的核心在车辆设备 device.elechybrid 中实现。该模型被定义为一组附加功能。该模型提供和使用的功能包括:为架空线网络供电的牵引变电站、一组架空线(可放置在网络中的任何车道上,代表为 ElecHybrid 车辆提供能量的接触线,包括线夹/连接器)以及新的输出选项 --elechybrid-output <FILE>、--overheadwiresegments-output <FILE> 和 --substations-output <FILE>。
该实现的一个概念性测试案例可在 [[1]] 中找到。
定义电池辅助无轨电车#
要定义一个具有在行充电系统的电动车辆,必须为其配备混合动力设备 device.elechybrid。 这可以通过显式使用选项 --device.elechybrid.explicit <vehID1,vehID2,...> 来实现,或者简单地通过设置 --device.elechybrid.probability 1 来为所有车辆提供该设备。或者,也可以使用通用车辆参数来指定该设备。
车辆及其电气组件的附加属性通过车辆或其类型的参数进行定义。与 device.elechybrid 相关的值具有以下含义:
| 键 (key) | 值类型 | 默认值 | 描述 |
|---|---|---|---|
| maximumBatteryCapacity | float | 0 (Wh) | 最大电池容量 Emax |
| overheadWireChargingPower | float | 0 (W) | 为电池充电时,从架空线汲取的恒定附加功率 |
| maximumPower | float | 100000 (W) | 车辆电动驱动的最大功率 |
| vehicleMass | float | 1000 (kg) | 车辆质量 mveh |
| frontSurfaceArea | float | 5 (m2) | 正面表面积 Aveh |
| airDragCoefficient | float | 0.6 | 空气阻力系数 cw |
| rotatingMass | float | 40 (kg) | 内部旋转元件的(等效)质量 |
| radialDragCoefficient | float | 0.5 | 径向阻力系数 crad |
| rollDragCoefficient | float | 0.01 | 滚动阻力系数 croll |
| constantPowerIntake | float | 1000 (W) | 车辆(辅助)系统的恒定消耗功率 Pconst |
| propulsionEfficiency | float | 0.9 | 驱动效率 ηprop |
| recuperationEfficiency | float | 0.8 | (恒定)回收效率 ηrecup |
| recuperationEfficiencyByDecel | float | 0.0 | (按减速)回收效率 |
Note
与电池设备相比,maximumPower 参数定义了车辆电动机的最大功率。表中的其余参数对于电能消耗模型是通用的,含义相同。
具有混合动力属性的车辆示例与电动车辆几乎相同:
<routes>
<vType id="trolleybus" accel="0.8" decel="1.0" length="12" maxSpeed="18.0" sigma="0.0" minGap="2.5"
emissionClass="Energy/unknown" vClass="bus" guiShape="bus/trolley" color="0,1,0">
<param key="maximumBatteryCapacity" value="50000"/>
<param key="overheadWireChargingPower" value="10000"/>
<param key="maximumPower" value="200000"/>
<param key="vehicleMass" value="10000"/>
<param key="frontSurfaceArea" value="7.5"/>
<param key="airDragCoefficient" value="0.59"/>
<param key="rotatingMass" value="100"/>
<param key="radialDragCoefficient" value="0.5"/>
<param key="rollDragCoefficient" value="0.061"/>
<param key="constantPowerIntake" value="5000"/>
<param key="propulsionEfficiency" value="0.9"/>
<param key="recuperationEfficiency" value="0.9"/>
<param key="recuperationEfficiencyByDecel" value="0."/>
<param key="" value=""/>
</vType>
</routes>
电池的初始能量含量(默认为 0.0 Wh)可以在车辆定义中设置:
<routes>
<vehicle id="0" type="trolleybus" depart="0" route="route1" color="1,0,0">
<param key="actualBatteryCapacity" value="5000"/>
</vehicle>
</routes>
牵引变电站#
牵引变电站代表一个变压器站,负责为特定的架空线电路组供电。当前对此元素的实现相当简单:变电站提供架空线在变电站馈线连接到电路点的标称电压信息,并指定可从馈线汲取的最大电流(这限制了该变电站的最大功率)。
| 键 (key) | 值类型 | 值范围 | 默认值 | 描述 |
|---|---|---|---|---|
| id | string | id | 牵引变电站 ID(必须唯一) | |
| voltage | float | voltage > 0 | 600 V | 架空线连接点的电压 |
| currentLimit | float | currentLimit > 0 | 400 A | 馈线的电流限制 |
<additionals>
<tractionSubstation id="Sub1" voltage="600" currentLimit="1000"/>
</additionals>
Note
在 SUMO 1.10.0 中,变电站的 currentLimit 参数会被静默忽略,不会触发馈线的功率限制。
架空线#
架空线电路是一组连接到特定牵引变电站的架空线。电路可以包含连接不同电路部分的线夹/连接器,这些线夹/连接器在高负载情况下可改善电路的电气参数(一对线夹/连接器通常在同一条街道上的某点将两个正极和两个负极架空线互连,用于双向行驶)。
我们还允许变电站馈线连接到电路中的多个位置,这是确保电路中功率分布更均匀的另一种措施。
架空线网络是 SUMO 提供的附加功能的一部分。它通过指定一个或多个 <overheadWire> 元素来构建,每个元素代表一段连续的牵引线。每个部分由定义在 SUMO 网络车道上的 <overheadWireSegment> 元素组成。
每个分段可以比车道长度短,并且可以指定起始或结束偏移量——这通常用于无轨电车网络,以在公交车站开始或结束架空线,在那里无轨电车杆被放上/取下架空线。至少有一个这样的分段必须连接到变电站以形成电路。
注意 #1
会自动为交叉口的内部车道创建附加分段,除非在 <overheadWire> 元素的定义中使用 forbiddenInnerLanes 属性显式忽略该车道(见下文)。
注意 #2
当前实现不允许用户指定分段中连接变电站的确切点。这是一个简化,根据我们的经验,这在电路仿真结果中引起的误差可以忽略不计。
| 键 (key) | 值类型 | 值范围 | 默认值 | 描述 |
|---|---|---|---|---|
| id | string | id | 架空线分段 ID(必须唯一) | |
| lane | string | 有效的车道 ID | 分段所在的车道 | |
| voltageSource | boolean | true 或 false | false | 如果为 true,则分段的起点连接到变电站 |
| startPos | float | 0 <= x < lane.length | 0 | 在指定车道中的起始位置 |
| endPos | float | 0 < x <= lane.length | lane.length | 在指定车道中的结束位置 |
架空线分段在附加文件中使用以下格式定义:
<additionals>
<overheadWireSegment id="ovrhdSgmnt_gneE0_0" lane="gneE0_0" voltageSource="true" />
<overheadWireSegment id="ovrhdSgmnt_gneE1_0" lane="gneE1_0" />
<overheadWireSegment id="ovrhdSgmnt_gneE3_0" lane="gneE3_0" />
<overheadWireSegment id="ovrhdSgmnt_gneE4_0" lane="gneE4_0" />
<overheadWireSegment id="ovrhdSgmnt_gneE5_0" lane="gneE5_0" voltageSource="true"/>
<overheadWireSegment id="ovrhdSgmnt_-gneE3_0" lane="-gneE3_0" />
<overheadWireSegment id="ovrhdSgmnt_-gneE1_0" lane="-gneE1_0" />
<overheadWireSegment id="ovrhdSgmnt_-gneE0_0" lane="-gneE0_0" startPos="0.0" endPos="40." />
</additionals>
我们还可以通过指定连接选定架空线分段的架空线夹来尝试改善电路的电气参数(这些通常是同一条街道上相反方向的架空线分段):
| 键 (key) | 值类型 | 值范围 | 默认值 | 描述 |
|---|---|---|---|---|
| id | string | ID | 架空线夹 ID(必须唯一) | |
| substationId | string | 有效的变电站 ID | 可以使用该架空线夹的变电站 | |
| idSegmentStartClamp | string | 有效的分段 ID | 架空线夹所连接的架空线分段的 ID(连接到分段的起点) | |
| idSegmentEndClamp | string | 有效的分段 ID | 架空线夹所连接的架空线分段的 ID(连接到分段的终点) |
下面是一个使用 <overheadWireClamp> 元素连接车道 -gneE0_0 和 gneE0_0 上的接触线分段的示例:
<additionals>
<overheadWireClamp id="clamp1" substationId="Sub1"
idSegmentStartClamp="ovrhdSgmnt_-gneE0_0" idSegmentEndClamp="ovrhdSgmnt_gneE0_0" />
</additionals>
一旦指定了架空线分段(和架空线夹),就可以使用 <overheadWire> 元素定义电路,其属性如下:
| 键 (key) | 值类型 | 值范围 | 默认值 | 描述 |
|---|---|---|---|---|
| segments | string[] | 架空线分段 ID 列表 | 构成给定电路的分段 | |
| substationId | string | 有效的变电站 ID | 电路连接到的变电站 | |
| clamps | string[] | 架空线夹 ID 列表 | 互连架空线分段的架空线夹 | |
| forbiddenInnerLanes | string[] | 禁止的车道 ID 列表 | 禁止放置架空线的内部车道 |
<additionals>
<overheadWire segments="ovrhdSgmnt_gneE0_0 ovrhdSgmnt_gneE1_0 ovrhdSgmnt_gneE3_0 ovrhdSgmnt_gneE4_0 ovrhdSgmnt_gneE5_0 ovrhdSgmnt_-gneE3_0 ovrhdSgmnt_-gneE1_0 ovrhdSgmnt_-gneE0_0"
substationId="Sub1" clamps="clamp1" forbiddenInnerLanes=":gneJ4_2_0" />
</additionals>
架空线供电/充电系统在图形用户界面中以双线系统表示:
GUI 中架空线的表示
如果装有 device.elechybrid 的车辆在导线下行驶,架空线分段的颜色会显示一个(当前硬编码的)颜色图,指示实际的牵引线电压,以及连接到该分段的 ElecHybrid 车辆数量——见下图。
当向车辆供电时架空线的颜色
仿真设置#
可以在配置文件中使用以下格式激活或停用架空线求解器,启用或禁用从车辆到架空线的能量回收,并在架空线求解器中应用或忽略变电站的电流限制。
<configuration>
...
<processing>
<overhead-wire-solver value="true"/>
<overhead-wire-recuperation value="true"/>
<overhead-wire-substation-current-limits value="true"/>
</processing>
...
</configuration>
所有三个值的默认设置均为 "true"。
输出#
device.elechybrid 及其相关对象提供多个输出流: * 牵引变电站输出 * 架空线分段输出 * 电动混合动力车辆输出
架空线分段输出#
选项 --overheadwiresegments-output "overheadWires.out.xml" 或其配置文件等效项
<output>
<overheadwiresegments-output value="overheadWires.out.xml"/>
</output>
会生成由架空线分段提供的能量的完整报告。
输出文件 overheadWires.out.xml 具有以下结构:
<overheadWireSegments-export>
<overheadWireSegment id="ovrhdSgmnt_gneE0_0" tractionSubstationId="Sub1" totalEnergyCharged="0.00" chargingSteps="0" lane="gneE0_0"/>
<overheadWireSegment id="ovrhdSgmnt_gneE1_0" tractionSubstationId="Sub1" totalEnergyCharged="0.00" chargingSteps="0" lane="gneE1_0"/>
...
<overheadWireSegment id="ovrhdSgmnt_gneE5_0" tractionSubstationId="Sub1" totalEnergyCharged="250.92" chargingSteps="11" lane="gneE5_0">
<vehicle id="test1" type="trolleybus" totalEnergyChargedIntoVehicle="250.92" chargingBegin="1.00" chargingEnd="11.00" maximumBatteryCapacity="46000.00">
<step time="1.00" chargingStatus="charging" energyCharged="16.17" partialCharge="16.17" voltage="699.98" actualBatteryCapacity="23011.11"/>
<step time="2.00" chargingStatus="charging" energyCharged="20.66" partialCharge="36.83" voltage="699.94" actualBatteryCapacity="23022.22"/>
...
</vehicle>
...
</overheadWireSegment>
...
<overheadWireSegment id="ovrhd_inner_:gneJ1_0_1" tractionSubstationId="Sub2" totalEnergyCharged="30.15" chargingSteps="1" lane=":gneJ1_0_1">
<vehicle id="test1" type="trolleybus" totalEnergyChargedIntoVehicle="30.15" chargingBegin="12.00" chargingEnd="12.00" maximumBatteryCapacity="46000.00">
<step time="12.00" chargingStatus="charging" energyCharged="30.15" partialCharge="30.15" voltage="698.54" actualBatteryCapacity="23133.33"/>
</vehicle>
</overheadWireSegment>
...
</overheadWireSegments-export>
对于由 <overheadWireSegment> 标签描述的整个架空线分段,我们输出以下属性:
| 名称 | 类型 | 单位 | 描述 |
|---|---|---|---|
| id | string | 架空线分段 ID | |
| tractionSubstationId | string | 牵引变电站 ID | |
| totalEnergyCharged | float | Wh | 在整个仿真期间,由架空线分段提供给 eleHybrid 车辆的总能量(减去回收到架空线分段的能量) |
| chargingSteps | int | 有车辆连接到该分段的仿真步数 | |
| lane | string | 分段的车道 ID |
对于在给定分段上被供电(或回收能量)的每辆车:
| 名称 | 类型 | 单位 | 描述 |
|---|---|---|---|
| id | string | 由该分段供电的车辆 ID | |
| type | string | 车辆类型 | |
| totalEnergyChargedIntoVehicle | float | Wh | 在该分段上行驶期间提供的能量 |
| chargingBegin | float | s | 车辆开始连接到分段的时间步 |
| chargingEnd | float | s | 车辆结束连接到分段的时间步 |
| maximumBatteryCapacity | float | Wh | 车辆的最大电池容量 |
对于车辆被该分段供电的每个时间步:
| 名称 | 类型 | 单位 | 描述 |
|---|---|---|---|
| time | float | s | 仿真的当前时间步 |
| energyCharged | float | Wh | 当前时间步充电的能量 |
| partialCharge | float | Wh | 自车辆进入该分段以来,由该分段充电的能量 |
| voltage | float | V | 架空线中的当前电压 |
| actualBatteryCapacity | float | Wh | 车辆的当前电池容量 |
电气变电站输出#
选项 --substations-output "nameOfFile.xml" 会生成由变电站提供的能量的完整报告:
<output>
<substations-output value="substations.out.xml"/>
</output>
文件 substations.out.xml 具有以下结构:
<substations-export>
<tractionSubstation id="Sub1" totalEnergyCharged="-1360.85" length="316.63" numVoltageSources="2" numClamps="1" chargingSteps="50">
<step time="1.00" vehicleIDs="elecHybrid_0" numVehicles="1" chargingStatus="" energyCharged="-15.13" current="90.75" currents="80.1860 10.5661" voltage="600.00" alphaCircuitSolver="1.00" alphaFlag="0"/>
<step time="2.00" vehicleIDs="elecHybrid_0" numVehicles="1" chargingStatus="" energyCharged="-18.58" current="111.51" currents="96.9147 14.5929" voltage="600.00" alphaCircuitSolver="1.00" alphaFlag="0"/>
...
</tractionSubstation>
...
</substations-export>
对于表示牵引变电站的 <tractionSubstation> 条目:
| 名称 | 类型 | 单位 | 描述 |
|---|---|---|---|
| id | string | 牵引变电站 ID | |
| totalEnergyCharged | float | Wh | 在整个仿真期间,所有电压源向架空线充电的能量总和 |
| length | float | m | 由该变电站供电的区段长度 |
| numVoltageSources | int | 电压源的数量(即变电站连接到电路的连接数) | |
| numClamps | int | 由该变电站供电的区段中的架空线夹数量 | |
| chargingSteps | int | 变电站提供能量的仿真步数 |
Note
totalEnergyCharged 属性表示从变电站流向车辆的能量,因此通常为负值。只有在允许将再生制动能量回馈到假设的变电站电池组,并且车辆再生的能量多于变电站提供给它们的能量时,该值才为正。
变电站处于活动状态的每个时间步由 <step> 元素表示,其属性如下:
| 名称 | 类型 | 单位 | 描述 |
|---|---|---|---|
| time | float | s | 当前时间步 |
| vehicleIDs | string[] | 由该变电站供电的车辆 ID 列表 | |
| numVehicles | int | 由该变电站供电的车辆数量 | |
| energyCharged | float | Wh | 变电站在当前时间步充电的能量 |
| current | float | A | 从变电站流出的电流总和(即通过所有电压源的电流) |
| currents | floats[] | A | 流过所有电压源的电流 |
| voltage | float | V | 牵引变电站的标称电压 |
| alphaCircuitSolver | float | 电路求解器使用的参数 α 的值 | |
| alphaFlag | int (枚举) | 给出为何必须使用 α 的内部标志值 |
Note
在这种情况下,energyCharged 也是负的,因为在大多数情况下它从变电站流出。
ElectricHybrid 输出#
在 SUMO 配置文件中设置三个输出参数以收集来自 device.elechybrid 的统计数据。 典型用法如下:
<configuration>
...
<output>
<elechybrid-output value="trolleybus.elecHybrid.out.xml"/>
<elechybrid-output.precision value="4"/>
<elechybrid-output.aggregated value="true"/>
<overheadwiresegments-output value="overheadWires.out.xml"/>
<substations-output value="substations.out.xml"/>
...
</output>
</configuration>
此声明将激活聚合的 ElectricHybrid 输出到 trolleybus.elecHybrid.out.xml 文件,浮点数最多保留 4 位小数:
<elecHybrid-export-aggregated>
<timestep time="0.00">
<vehicle id="test1" maximumBatteryCapacity="46000.0000" actualBatteryCapacity="23000.0000" energyConsumed="0.0000" energyCharged="0.0000" power="-nan(ind)" overheadWireId="" tractionSubstationId="" current="-nan(ind)" circuitVoltage="-nan(ind)" alphaCircuitSolver="-nan(ind)" speed="0.0000" acceleration="0.0000" distance="0.0000" x="-1.4500" y="46.3800" z="0.0000" slope="0.0000" lane="gneE0_0" posOnLane="0.0000"/>
<vehicle id="test2" maximumBatteryCapacity="46000.0000" actualBatteryCapacity="23000.0000" energyConsumed="0.0000" energyCharged="0.0000" power="-nan(ind)" overheadWireId="" tractionSubstationId="" current="-nan(ind)" circuitVoltage="-nan(ind)" alphaCircuitSolver="-nan(ind)" speed="0.0000" acceleration="0.0000" distance="0.0000" x="36.1600" y="33.7600" z="0.0000" slope="0.0000" lane="-gneE10_0" posOnLane="0.0000"/>
</timestep>
<timestep time="1.00">
<vehicle id="test1" maximumBatteryCapacity="46000.0000" actualBatteryCapacity="23011.1111" energyConsumed="5.0570" energyCharged="11.1111" power="58205.3716" overheadWireId="ovrhdSgmnt_gneE0_0_0" tractionSubstationId="trSubstation1" current="83.1523" circuitVoltage="699.9850" alphaCircuitSolver="1.0000" speed="0.8000" acceleration="0.8000" distance="0.8000" x="-0.6502" y="46.3729" z="0.0000" slope="0.0000" lane="gneE0_0" posOnLane="0.8000"/>
<vehicle id="test2" maximumBatteryCapacity="46000.0000" actualBatteryCapacity="23011.1111" energyConsumed="5.0570" energyCharged="11.1111" power="58205.3716" overheadWireId="ovrhdSgmnt_-gneE10_0_6" tractionSubstationId="trSubstation2" current="97.0738" circuitVoltage="599.5992" alphaCircuitSolver="1.0000" speed="0.8000" acceleration="0.8000" distance="0.8000" x="36.1308" y="32.9604" z="0.0000" slope="0.0000" lane="-gneE10_0" posOnLane="0.8000"/>
</timestep>
...
</elecHybrid-export-aggregated>
时间步参数:
| 名称 | 类型 | 描述 |
|---|---|---|
| time | float | 当前时间步 |
车辆参数:
| 名称 | 类型 | 单位 | 描述 |
|---|---|---|---|
| id | string | 由该分段供电的车辆 ID | |
| maximumBatteryCapacity | float | Wh | 车辆的最大电池容量 |
| actualBatteryCapacity | float | Wh | 此时间步电池的能量 |
| energyConsumed | float | Wh | 此时间步的能耗 |
| energyCharged | float | Wh | 充入电池组的能量 |
| power | float | W | 从架空线请求的功率需求 |
| overheadWireId | string | 当前为车辆供电的架空线 ID,如果不在导线下则为空 | |
| tractionSubstationId | string | 为当前架空线供电的变电站 ID,如果不在导线下则为空 | |
| current | float | A | 从架空线汲取的电流 |
| circuitVoltage | float | V | 受电弓/无轨电车杆连接点的实际电压 |
| alphaCircuitSolver | float | 电路求解器稳定参数 α,0 <= α <= 1,如果变电站未过载且所有功率需求均得到满足,则为 1,如果不适用则为 NaN。 | |
| speed | float | m/s | 此时间步的车辆速度 |
| acceleration | float | m/s2 | 此时间步的车辆加速度 |
| distance | float | m | 车辆从仿真开始覆盖的距离 |
| x | float | 车辆在地图中的绝对 x 坐标 | |
| y | float | 车辆在地图中的绝对 y 坐标 | |
| z | float | 车辆在地图中的绝对 z 坐标 | |
| slope | float | deg | 边缘的坡度(以度为单位) |
| lane | string | 车辆当前所在车道的 ID | |
| posOnLane | float | m | 车辆在其当前车道上的位置 |
如果使用 <elecHybrid-output.aggregated value="false"/> 请求了车辆的详细输出,则 ElectricHybrid 输出会生成多个文件,对应于配备 device.elechybrid 的车辆数量。文件名遵循以下规则:
filename = `elechybrid-output` 值 + "_" + 车辆的 `id` + ".xml"。
非聚合输出文件具有以下结构:
<elecHybrid-export vehicle="test1" maximumBatteryCapacity="46000.00" recuperationEnabled="1">
<timestep time="0.00" actualBatteryCapacity="23000.0000" energyConsumed="0.0000" energyCharged="0.0000" power="-nan(ind)" overheadWireId="" tractionSubstationId="" current="-nan(ind)" circuitVoltage="-nan(ind)" alphaCircuitSolver="-nan(ind)" speed="0.0000" acceleration="0.0000" distance="0.0000" x="-1.4500" y="46.3800" z="0.0000" slope="0.0000" lane="gneE0_0" posOnLane="0.0000"/>
<timestep time="1.00" actualBatteryCapacity="23011.1111" energyConsumed="5.0570" energyCharged="11.1111" power="58205.3716" overheadWireId="ovrhdSgmnt_gneE0_0_0" tractionSubstationId="trSubstation1" current="83.1523" circuitVoltage="699.9850" alphaCircuitSolver="1.0000" speed="0.8000" acceleration="0.8000" distance="0.8000" x="-0.6502" y="46.3729" z="0.0000" slope="0.0000" lane="gneE0_0" posOnLane="0.8000"/>
<timestep time="2.00" actualBatteryCapacity="23022.2222" energyConsumed="9.5487" energyCharged="11.1111" power="74375.3992" overheadWireId="ovrhdSgmnt_gneE0_0_0" tractionSubstationId="trSubstation1" current="106.2593" circuitVoltage="699.9424" alphaCircuitSolver="1.0000" speed="1.6000" acceleration="0.8000" distance="2.4000" x="0.9494" y="46.3586" z="0.0000" slope="0.0000" lane="gneE0_0" posOnLane="2.4000"/>
...
</elecHybrid-export>
车辆参数:
| 名称 | 类型 | 单位 | 描述 |
|---|---|---|---|
| vehicle | string | 车辆 ID | |
| maximumBatteryCapacity | float | Wh | 车辆的最大电池容量 |
| recuperationEnabled | bool | 如果允许将再生制动能量回馈到架空线,则为 1,否则为 0 |
用户可以使用 SUMO 配置文件中的 overhead-wire-recuperation 标签启用/禁用将再生制动能量回馈到架空线(参见上面的仿真设置部分)。
时间步参数:
| 名称 | 类型 | 单位 | 描述 |
|---|---|---|---|
| time | float | s | 当前时间步 |
| actualBatteryCapacity | float | Wh | 此时间步电池的能量 |
| energyConsumed | float | Wh | 此时间步的能耗 |
| energyCharged | float | Wh | 充入电池组的能量 |
| power | float | W | 从架空线请求的功率需求 |
| overheadWireId | string | 当前为车辆供电的架空线 ID,如果不在导线下则为空 | |
| tractionSubstationId | string | 为当前架空线供电的变电站 ID,如果不在导线下则为空 | |
| current | float | A | 从架空线汲取的电流 |
| circuitVoltage | float | V | 受电弓/无轨电车杆连接点的实际电压 |
| alphaCircuitSolver | float | 电路求解器稳定参数 α,0 <= α <= 1,如果变电站未过载且所有功率需求均得到满足,则为 1,如果不适用则为 NaN。 | |
| speed | float | m/s | 此时间步的车辆速度 |
| acceleration | float | m/s2 | 此时间步的车辆加速度 |
| distance | float | m | 车辆从仿真开始覆盖的距离 |
| x | float | 车辆在地图中的绝对 x 坐标 | |
| y | float | 车辆在地图中的绝对 y 坐标 | |
| z | float | 车辆在地图中的绝对 z 坐标 | |
| slope | float | deg | 边缘的坡度(以度为单位) |
| lane | string | 车辆当前所在车道的 ID | |
| posOnLane | float | m | 车辆在其当前车道上的位置 |
排放输出#
与电动车辆一样,当设置 <vType> 参数 emissionClass="Energy/unknown" 时,SUMO 的排放模型输出可以与 ElectricHybrid 设备一起使用。
模型细节#
有关已实现设备的所有信息都可以在我们的 SUMO 2019 论文中找到。
已知限制#
充电站#
由于 ElectricHybrid 设备基于电池,理论上可以使用标准充电器为车辆内部能量存储进行机会充电。然而,此功能尚未支持。
保存和加载仿真状态#
ElectricHybrid 设备目前不支持保存和加载其内部状态。
TraCI#
TraCI 连接尚未经过测试,可能无法正常工作。
其他限制#
截至 SUMO 1.11.0,我们意识到以下问题:
牵引变电站的电流限制被忽略- 用于为架空线电压着色的颜色图是硬编码的
- 微观模式尚未经过彻底测试
- 在特定车道上放置多个架空线分段尚未经过彻底测试,目前不支持
- 架空线只能在变电站级别或分段级别进行评估,因为
<overheadWire>元素没有 ID
