概述#
sumo 是仿真本身;它是一个微观的、空间连续且时间离散的交通流仿真。
- 目的: 模拟一个定义好的场景
- 系统: 可移植(已在 Linux/Windows 上测试);在命令行运行
-
输入(必需):
A) 通过 netconvert 或 netgenerate 生成的道路网络,参见 构建网络
B) 一组路径(由 duarouter、jtrrouter、dfrouter 或 activitygen 生成),另见 车辆、车辆类型和路径的定义)
-
- 输入(可选): 交通灯、可变限速标志、输出检测器等的附加定义
- 输出: SUMO 允许生成多种输出;可视化使用 sumo-gui 完成
- 编程语言: C++
使用描述#
简要概述请参见 Simulation/Basic_Definition。 模型细节和功能文档可在 Simulation topics 找到。
选项#
您可以使用 XML 模式定义文件来设置 SUMO 配置: sumoConfiguration.xsd。
配置#
| 选项 | 描述 |
|---|---|
| -c <FILE> --configuration-file <FILE> |
启动时加载指定的配置文件 |
| -C <FILE> --save-configuration <FILE> |
将当前配置保存到 FILE |
| --save-configuration.relative <BOOL> | 保存配置时强制使用相对路径;默认值: false |
| --save-template <FILE> | 将配置模板(空)保存到 FILE |
| --save-schema <FILE> | 将配置模式保存到 FILE |
| --save-commented <BOOL> | 向保存的模板、配置或模式添加注释;默认值: false |
输入#
| 选项 | 描述 |
|---|---|
| -n <FILE> --net-file <FILE> |
从 FILE 加载道路网络描述 |
| -r <FILE> --route-files <FILE> |
从 FILE(s) 加载路径描述 |
| -a <FILE> --additional-files <FILE> |
从 FILE(s) 加载更多描述 |
| -w <FILE> --weight-files <FILE> |
从 FILE 加载用于在线重新路由的边/车道权重 |
| -x <STRING> --weight-attribute <STRING> |
给出边权重的 xml 属性名称;默认值: traveltime |
| --load-state <FILE> | 从 FILE 加载网络状态 |
| --load-state.offset <TIME> | 将从保存状态加载的所有时间按给定偏移量移动;默认值: 0 |
| --load-state.remove-vehicles <STRING[ ]> | 从加载的状态中移除具有给定 ID 的车辆 |
| --junction-taz <BOOL> | 为每个路口初始化一个 TAZ 以使用 toJunction 和 fromJunction 属性;默认值: false |
输出#
| 选项 | 描述 |
|---|---|
| --write-license <BOOL> | 将许可证信息包含到每个输出文件中;默认值: false |
| --write-metadata <BOOL> | 写入可解析的元数据(配置等)而不是注释;默认值: false |
| --output-prefix <STRING> | 应用于所有输出文件的前缀。特殊字符串 'TIME' 将被当前时间替换。 |
| --precision <INT> | 定义浮点输出的小数点后位数;默认值: 2 |
| --precision.geo <INT> | 定义经度、纬度输出的小数点后位数;默认值: 6 |
| --output.compression <STRING> | 定义标准压缩算法(目前仅适用于 parquet 输出) |
| --output.format <STRING> | 如果无法从文件名推导,则定义标准输出格式('xml', 'csv', 'parquet');默认值: xml |
| --output.column-header <STRING> | 如何从属性名推导列头('none', 'tag', 'auto', 'plain');默认值: tag |
| --output.column-separator <STRING> | CSV 输出中的分隔符;默认值: ; |
| -H <BOOL> --human-readable-time <BOOL> |
将时间值写为 小时:分钟:秒 或 天:小时:分钟:秒,而不是秒;默认值: false |
| --netstate-dump <FILE> | 将完整的网络状态保存到 FILE |
| --netstate-dump.empty-edges <BOOL> | 转储时也完全写入空的边;默认值: false |
| --netstate-dump.precision <INT> | 以给定精度写入位置和速度(默认 2);默认值: 2 |
| --emission-output <FILE> | 保存每辆车的排放值 |
| --emission-output.precision <INT> | 以给定精度写入排放值(默认 2);默认值: 2 |
| --emission-output.geo <BOOL> | 在排放输出中使用地理坐标(经度/纬度)保存位置;默认值: false |
| --emission-output.step-scaled <BOOL> | 写入按步长缩放的排放值,而不是每秒值;默认值: false |
| --emission-output.attributes <STRING[ ]> | 列出应包含在排放输出中的属性 |
| --battery-output <FILE> | 保存每辆车的电池值 |
| --battery-output.precision <INT> | 以给定精度写入电池值(默认 2);默认值: 2 |
| --elechybrid-output <FILE> | 保存每辆车的 elecHybrid 值 |
| --elechybrid-output.precision <INT> | 以给定精度写入 elecHybrid 值(默认 2);默认值: 2 |
| --elechybrid-output.aggregated <BOOL> | 将 elecHybrid 值写入一个聚合文件;默认值: false |
| --chargingstations-output <FILE> | 写入充电站数据 |
| --chargingstations-output.aggregated <BOOL> | 写入聚合的充电事件数据而不是单个时间步;默认值: false |
| --chargingstations-output.aggregated.write-unfinished <BOOL> | 为在仿真结束时未到达的车辆写入聚合的充电事件数据;默认值: false |
| --overheadwiresegments-output <FILE> | 写入接触网线段数据 |
| --substations-output <FILE> | 写入变电站数据 |
| --substations-output.precision <INT> | 以给定精度写入变电站值(默认 2);默认值: 2 |
| --fcd-output <FILE> | 保存浮动车数据 (FCD) |
| --fcd-output.geo <BOOL> | 使用地理坐标(经度/纬度)保存浮动车数据;默认值: false |
| --fcd-output.signals <BOOL> | 将车辆信号状态添加到 FCD 输出(刹车灯等);默认值: false |
| --fcd-output.distance <BOOL> | 将里程添加到 FCD 输出(线性参考);默认值: false |
| --fcd-output.acceleration <BOOL> | 将加速度添加到 FCD 输出;默认值: false |
| --fcd-output.max-leader-distance <FLOAT> | 将前导车辆信息添加到 FCD 输出(在给定距离内);默认值: -1 |
| --fcd-output.params <STRING[ ]> | 将通用参数值添加到 FCD 输出 |
| --fcd-output.filter-edges.input-file <FILE> | 将 fcd 输出限制为来自给定输入文件的边选择 |
| --fcd-output.attributes <STRING[ ]> | 列出应包含在 FCD 输出中的属性 |
| --fcd-output.filter-shapes <STRING[ ]> | 列出应用于过滤 FCD 输出的形状名称 |
| --person-fcd-output <FILE> | 将人员和容器的 fcd 保存到单独的 FILE |
| --device.ssm.filter-edges.input-file <FILE> | 将 SSM 设备输出限制为来自给定输入文件的边选择 |
| --full-output <FILE> | 为每个时间步保存大量信息(非常冗余) |
| --queue-output <FILE> | 保存路口的车辆队列(实验性) |
| --queue-output.period <TIME> | 以给定周期保存车辆队列;默认值: -1 |
| --vtk-output <FILE> | 以 VTK 格式保存包含速度值的完整车辆位置(用法:/path/out 将生成 /path/out_$TIMESTEP$.vtp 文件) |
| --amitran-output <FILE> | 以 Amitran 格式保存车辆轨迹 |
| --summary-output <FILE> | 将聚合的车辆出发信息保存到 FILE |
| --summary-output.period <TIME> | 以给定周期保存 summary-output;默认值: -1 |
| --person-summary-output <FILE> | 将聚合的人员计数保存到 FILE |
| --tripinfo-output <FILE> | 将单车行程信息保存到 FILE |
| --tripinfo-output.write-unfinished <BOOL> | 为在仿真结束时未到达的车辆写入行程信息输出;默认值: false |
| --tripinfo-output.write-undeparted <BOOL> | 为因出发延迟而在仿真结束时未出发的车辆写入行程信息输出;默认值: false |
| --personinfo-output <FILE> | 将人员信息和容器信息保存到单独的 FILE |
| --vehroute-output <FILE> | 将单车路径信息保存到 FILE |
| --vehroute-output.exit-times <BOOL> | 写入所有边的退出时间;默认值: false |
| --vehroute-output.last-route <BOOL> | 仅写入最后一条路径;默认值: false |
| --vehroute-output.sorted <BOOL> | 按出发时间对输出进行排序;默认值: false |
| --vehroute-output.dua <BOOL> | 以 duarouter 替代样式写入输出;默认值: false |
| --vehroute-output.cost <BOOL> | 写入所有路径的成本;默认值: false |
| --vehroute-output.intended-depart <BOOL> | 使用预期出发时间而不是实际出发时间写入输出;默认值: false |
| --vehroute-output.route-length <BOOL> | 在输出中包含总路径长度;默认值: false |
| --vehroute-output.write-unfinished <BOOL> | 为在仿真结束时未到达的车辆写入 vehroute 输出;默认值: false |
| --vehroute-output.skip-ptlines <BOOL> | 跳过公共交通车辆的 vehroute 输出;默认值: false |
| --vehroute-output.incomplete <BOOL> | 在 vehroute 输出中包含无效路径和路径存根;默认值: false |
| --vehroute-output.stop-edges <BOOL> | 包含停靠点之间边的信息;默认值: false |
| --vehroute-output.speedfactor <BOOL> | 写入车辆速度因子(如果写入了 departSpeed,则默认为 'true');默认值: false |
| --vehroute-output.internal <BOOL> | 在输出中包含内部边;默认值: false |
| --personroute-output <FILE> | 将人员和容器路径保存到单独的 FILE |
| --link-output <FILE> | 将链接状态保存到 FILE |
| --railsignal-block-output <FILE> | 将铁路信号块保存到 FILE |
| --railsignal-vehicle-output <FILE> | 将车辆进入和退出铁路信号块的时间记录到 FILE |
| --bt-output <FILE> | 将蓝牙可见性保存到 FILE(与 device.btreceiver 和 device.btsender 结合使用) |
| --lanechange-output <FILE> | 记录所有车辆的车道变更及其动机到 FILE |
| --lanechange-output.started <BOOL> | 记录车道变更操作的开始;默认值: false |
| --lanechange-output.ended <BOOL> | 记录车道变更操作的结束;默认值: false |
| --lanechange-output.xy <BOOL> | 记录车道变更操作的坐标;默认值: false |
| --stop-output <FILE> | 记录所有车辆的停靠以及乘客和容器的装载/卸载到 FILE |
| --stop-output.write-unfinished <BOOL> | 为在仿真结束时未结束的停靠写入停靠输出;默认值: false |
| --collision-output <FILE> | 将碰撞信息写入 FILE |
| --edgedata-output <FILE> | 将所有边的聚合交通统计写入 FILE |
| --lanedata-output <FILE> | 将所有车道的聚合交通统计写入 FILE |
| --statistic-output <FILE> | 将总体统计写入 FILE |
| --deadlock-output <FILE> | 将死锁报告写入 FILE |
| --save-state.times <STRING[ ]> | 使用 TIME[] 作为写入网络状态的时间 |
| --save-state.period <TIME> | 在 TIME 周期后重复保存状态;默认值: -1 |
| --save-state.period.keep <INT> | 仅保留最后 INT 个周期性状态文件;默认值: 0 |
| --save-state.prefix <FILE> | 网络状态的前缀;默认值: state |
| --save-state.suffix <STRING> | 网络状态的后缀(.xml.gz 或 .xml);默认值: .xml.gz |
| --save-state.files <FILE> | 网络状态的文件 |
| --save-state.rng <BOOL> | 保存随机数生成器状态;默认值: false |
| --save-state.transportables <BOOL> | 保存人员和容器状态(实验性);默认值: false |
| --save-state.constraints <BOOL> | 保存铁路信号约束;默认值: false |
| --save-state.precision <INT> | 以给定精度写入内部状态值(默认 2);默认值: 2 |
| --pedestrian.jupedsim.wkt <FILE> | 输出 JuPedSim 网络为 WKT 的文件名 |
| --pedestrian.jupedsim.wkt.geo <BOOL> | 是否使用地理坐标(经度/纬度)将 JuPedSim 网络输出为 WKT;默认值: false |
| --pedestrian.jupedsim.py <FILE> | 输出 JuPedSim 设置为 Python 脚本的文件名 |
时间#
| 选项 | 描述 |
|---|---|
| -b <TIME> --begin <TIME> |
定义开始时间(秒);仿真在此时间开始;默认值: 0 |
| -e <TIME> --end <TIME> |
定义结束时间(秒);仿真在此时间结束;默认值: -1 |
| --step-length <TIME> | 定义步长持续时间(秒);默认值: 1 |
处理#
| 选项 | 描述 |
|---|---|
| --step-method.ballistic <BOOL> | 是否使用弹道法进行车辆位置更新(默认是半隐式欧拉法);默认值: false |
| --extrapolate-departpos <BOOL> | 是否对在仿真步骤之间出发的车辆外推出发位置;默认值: false |
| --threads <INT> | 定义并行仿真的线程数;默认值: 1 |
| --lateral-resolution <FLOAT> | 定义处理车道内横向定位时的分辨率(米),使用 -1 表示所有车辆在其车道中心行驶;默认值: -1 |
| -s <TIME> --route-steps <TIME> |
提前加载未来多少秒的路径;默认值: 200 |
| --no-internal-links <BOOL> | 禁用(路口)内部链接;默认值: false |
| --ignore-junction-blocker <TIME> | 忽略在路口阻挡 SECONDS 后仍静止的车辆(-1 表示永不忽略);默认值: -1 |
| --ignore-route-errors <BOOL> | 不检查路径是否连通;默认值: false |
| --ignore-accidents <BOOL> | 不检查是否发生事故;默认值: false |
| --collision.action <STRING> | 如何处理碰撞:[none,warn,teleport,remove];默认值: teleport |
| --intermodal-collision.action <STRING> | 如何处理车辆与行人之间的碰撞:[none,warn,teleport,remove];默认值: warn |
| --collision.stoptime <TIME> | 让车辆在执行 collision.action('none' 操作除外)前停止 TIME;默认值: 0 |
| --intermodal-collision.stoptime <TIME> | 让车辆在执行 intermodal-collision.action('none' 操作除外)前停止 TIME;默认值: 0 |
| --collision.check-junctions <BOOL> | 在路口启用碰撞检查;默认值: false |
| --collision.check-junctions.mingap <FLOAT> | 增加或减少路口碰撞检查的敏感度;默认值: 0 |
| --collision.mingap-factor <FLOAT> | 设置必须维持的 minGap 分数以避免碰撞检测。如果给定负值,则使用 carFollowModel 参数;默认值: -1 |
| --keep-after-arrival <TIME> | 车辆到达后,在内存中保留给定的 TIME(用于 TraCI 访问);默认值: 0 |
| --max-num-vehicles <INT> | 延迟车辆插入以保持在给定的最大数量内;默认值: -1 |
| --max-num-persons <INT> | 延迟人员插入以保持在给定的最大数量内;默认值: -1 |
| --max-num-teleports <INT> | 如果超过给定的最大传送数,则中止仿真;默认值: -1 |
| --scale <FLOAT> | 按给定因子缩放需求(通过丢弃或复制车辆);默认值: 1 |
| --scale-suffix <STRING> | 为克隆车辆创建 ID 时要添加的后缀;默认值: . |
| --time-to-teleport <TIME> | 指定车辆在传送前可以等待的时间,默认为 300,非正值禁用传送;默认值: 300 |
| --time-to-teleport.highways <TIME> | 在快速道路上(速度 > 69km/h)的车辆在非连续车道上等待多长时间后被传送;默认值: 0 |
| --time-to-teleport.highways.min-speed <FLOAT> | 在快速道路上(默认:速度 > 69km/h)的车辆在非连续车道上等待多长时间后被传送;默认值: 19.1667 |
| --time-to-teleport.disconnected <TIME> | 路径断开的车辆在等待多长时间后被传送。负值禁用传送;默认值: -1 |
| --time-to-teleport.remove <BOOL> | 车辆在等待过长时间后是被移除而不是传送;默认值: false |
| --time-to-teleport.remove-constraint <BOOL> | 基于铁路信号约束的死锁是否应通过移除约束来清除;默认值: false |
| --time-to-teleport.ride <TIME> | 等待接送的人员/容器在等待多长时间后被传送。负值禁用传送;默认值: -1 |
| --time-to-teleport.bidi <TIME> | 双向边上的车辆在等待多长时间后被传送;默认值: -1 |
| --time-to-teleport.railsignal-deadlock <TIME> | 基于铁路信号的死锁中的车辆在等待多长时间后被传送;默认值: -1 |
| --waiting-time-memory <TIME> | 考虑累积等待时间的时间间隔长度(默认为 100 秒);默认值: 100 |
| --startup-wait-threshold <TIME> | 在应用 startupDelay 之前的最小连续等待时间;默认值: 2 |
| --max-depart-delay <TIME> | 车辆在出发前等待多长时间后被跳过,默认为 -1 表示车辆永不被跳过;默认值: -1 |
| --sloppy-insert <BOOL> | 边上的插入失败后,是否在同一时间步不再重复;默认值: false |
| --eager-insert <BOOL> | 是否为每辆车单独检查边上的插入;默认值: false |
| --emergency-insert <BOOL> | 允许在需要紧急制动的情况下插入车辆;默认值: false |
| --insertion-checks <STRING> | 覆盖车辆属性 insertionChecks 的默认值;默认值: all |
| --random-depart-offset <TIME> | 每辆车从 [0, TIME] 中均匀抽取一个随机偏移量加到其出发值上;默认值: 0 |
| --lanechange.duration <TIME> | 车道变更操作的持续时间(默认 0);默认值: 0 |
| --lanechange.overtake-right <BOOL> | 是否允许在高速公路上从右侧超车;默认值: false |
| --tls.all-off <BOOL> | 关闭所有交通灯;默认值: false |
| --tls.actuated.show-detectors <BOOL> | 设置感应检测器的默认可见性;默认值: false |
| --tls.actuated.jam-threshold <FLOAT> | 为所有感应检测器设置默认的拥堵阈值参数;默认值: -1 |
| --tls.actuated.detector-length <FLOAT> | 为所有感应检测器设置默认的检测器长度参数;默认值: 0 |
| --tls.delay_based.detector-range <FLOAT> | 设置检测延迟车辆的默认范围;默认值: 100 |
| --tls.yellow.min-decel <FLOAT> | 在黄灯时刹车的最小减速度;默认值: 3 |
| --railsignal-moving-block <BOOL> | 让铁路信号默认在移动闭塞模式下运行;默认值: false |
| --railsignal.max-block-length <FLOAT> | 不构建超过 FLOAT 的块,并发出警告;默认值: 20000 |
| --railsignal.default-classes <STRING[ ]> | 即使网络没有为其设置铁路信号,也使用基于块的插入检查的车辆类列表;默认值: rail,rail_fast,rail_electric,rail_urban |
| --time-to-impatience <TIME> | 指定车辆在急躁度从 0 增长到 1 之前可以等待的时间,默认为 300,非正值禁用急躁度增长;默认值: 180 |
| --default.departspeed <STRING> | 选择默认出发速度;默认值: 0 |
| --default.departlane <STRING> | 选择默认出发车道;默认值: first |
| --default.action-step-length <FLOAT> | 跟驰和车道变更模型的行动点之间的默认间隔长度(秒)。如果未指定,则默认使用仿真步长。车辆或 VType 特定设置会覆盖默认值。必须是仿真步长的倍数;默认值: 0 |
| --default.carfollowmodel <STRING> | 选择默认跟驰模型(Krauss, IDM, ...);默认值: Krauss |
| --default.speeddev <FLOAT> | 选择默认速度偏差。负值意味着特定 vClass 的默认值(默认乘员类为 0.1);默认值: -1 |
| --default.emergencydecel <STRING> | 在 ('decel', 'default', FLOAT) 中选择默认 emergencyDecel 值,该值将设置为与减速度值相同、特定 vClass 的默认值或给定的 FLOAT(单位 m/s^2);默认值: default |
| --overhead-wire.solver <BOOL> | 使用基尔霍夫定律求解接触网电路;默认值: true |
| --overhead-wire.recuperation <BOOL> | 启用从配备 elecHybrid 设备的车辆到接触网的回收;默认值: true |
| --overhead-wire.substation-current-limits <BOOL> | 在求解接触网电路时启用牵引变电站的电流限制;默认值: true |
| --emergencydecel.warning-threshold <FLOAT> | 设置触发警告所必须使用的紧急制动能力的比例;默认值: 1 |
| --parking.maneuver <BOOL> | 停车仿真是否包括操作时间和相关的车道阻塞;默认值: false |
| --use-stop-ended <BOOL> | 如果给定,则使用 stop ended 时间覆盖 stop until 时间;默认值: false |
| --use-stop-started <BOOL> | 如果给定,则使用 stop started 时间覆盖 stop arrival 时间;默认值: false |
| --pedestrian.model <STRING> | 在行人模型中选择 ['nonInteracting', 'striping', 'jupedsim', 'remote'];默认值: striping |
| --pedestrian.timegap-crossing <FLOAT> | 开始过马路前两辆车之间可接受的最小间隙(秒);默认值: 2 |
| --pedestrian.striping.stripe-width <FLOAT> | 用于分割人行道的平行条纹宽度(米),与 'striping' 模型一起使用;默认值: 0.64 |
| --pedestrian.striping.dawdling <FLOAT> | 随机减速因子 [0,1],与 'striping' 模型一起使用;默认值: 0.2 |
| --pedestrian.striping.mingap-to-vehicle <FLOAT> | 行人到另一辆车的最小间隙/安全缓冲(米),与 'striping' 模型一起使用;默认值: 0.25 |
| --pedestrian.striping.jamtime <TIME> | 使用 'striping' 模型时,行人开始在拥堵中挤过去的时间(秒)(非正值禁用挤压);默认值: 300 |
| --pedestrian.striping.jamtime.crossing <TIME> | 使用 'striping' 模型时,行人在过马路时开始在拥堵中挤过去的时间(秒)(非正值禁用挤压);默认值: 10 |
| --pedestrian.striping.jamtime.narrow <TIME> | 使用 'striping' 模型时,行人在狭窄车道上开始在拥堵中挤过去的时间(秒);默认值: 1 |
| --pedestrian.striping.jamfactor <FLOAT> | 行人在拥堵状态下减速的因子;默认值: 0.25 |
| --pedestrian.striping.reserve-oncoming <FLOAT> | 为迎面而来的行人预留的条纹比例;默认值: 0 |
| --pedestrian.striping.reserve-oncoming.junctions <FLOAT> | 在过马路处和步行区为迎面而来的行人预留的条纹比例;默认值: 0.34 |
| --pedestrian.striping.reserve-oncoming.max <FLOAT> | 为迎面而来的行人预留的最大宽度(米);默认值: 1.28 |
| --pedestrian.striping.legacy-departposlat <BOOL> | 以传统方式解释步行的 departPosLat;默认值: false |
| --pedestrian.striping.walkingarea-detail <INT> | 生成 INT 个中间点以平滑步行区内的车道;默认值: 4 |
| --pedestrian.jupedsim.step-length <TIME> | JuPedSim 仿真的更新间隔(秒);默认值: 0.01 |
| --pedestrian.jupedsim.exit-tolerance <FLOAT> | 接受 JuPedSim 到达点的距离(米);默认值: 1 |
| --pedestrian.jupedsim.model <STRING> | JuPedSim 中使用的子模型 ('CollisionFreeSpeed', 'CollisionFreeSpeedV2', 'GeneralizedCentrifugalForce', 'SocialForce');默认值: CollisionFreeSpeed |
| --pedestrian.jupedsim.strength-neighbor-repulsion <FLOAT> | JuPedSim 模型的邻居排斥强度;默认值: 8 |
| --pedestrian.jupedsim.range-neighbor-repulsion <FLOAT> | JuPedSim 模型的邻居排斥范围(米);默认值: 0.1 |
| --pedestrian.jupedsim.strength-geometry-repulsion <FLOAT> | JuPedSim 模型的几何排斥强度;默认值: 5 |
| --pedestrian.jupedsim.range-geometry-repulsion <FLOAT> | JuPedSim 模型的几何排斥范围(米);默认值: 0.02 |
| --ride.stop-tolerance <FLOAT> | 在单个停靠点上下车时匹配行人和车辆位置时应用的容差;默认值: 10 |
| --mapmatch.distance <FLOAT> | 将输入坐标(fromXY 等)映射到道路网络时的最大距离;默认值: 100 |
| --mapmatch.junctions <BOOL> | 将位置匹配到路口而不是边;默认值: false |
| --mapmatch.taz <BOOL> | 将位置匹配到 taz 而不是边;默认值: false |
| --weights.turnaround-penalty <FLOAT> | 在计算回转内部车道的路由成本时应用给定的时间惩罚;默认值: 5 |
| --weights.reversal-penalty <FLOAT> | 在计算列车折返的路由成本时应用给定的时间惩罚。负值禁用折返;默认值: 60 |
| --persontrip.walk-opposite-factor <FLOAT> | 使用 FLOAT 作为逆车辆交通方向行走速度的因子;默认值: 1 |
路由#
| 选项 | 描述 |
|---|---|
| --routing-algorithm <STRING> | 在路由算法中选择 ['dijkstra', 'astar', 'CH', 'CHWrapper'];默认值: dijkstra |
| --weights.random-factor <FLOAT> | 路由的边权重通过从 [1,FLOAT) 中均匀抽取的随机因子进行动态扰动;默认值: 1 |
| --weights.minor-penalty <FLOAT> | 在计算次要链接内部车道的最小路由成本时应用给定的时间惩罚;默认值: 1.5 |
| --weights.tls-penalty <FLOAT> | 在计算交通灯处内部车道的最小路由成本时,基于绿信比应用缩放的行程时间惩罚;默认值: 0 |
| --weights.priority-factor <FLOAT> | 除行程时间外,还考虑边的优先级,按因子加权;默认值: 0 |
| --weights.separate-turns <FLOAT> | 区分转弯方向的行程时间,并将估计的路口前时间损失的一部分转移到内部边上;默认值: 0 |
| --astar.all-distances <FILE> | 从给定文件(由 marouter --all-pairs-output 生成)初始化 astar 的查找表 |
| --astar.landmark-distances <FILE> | 从给定文件初始化 astar ALT 变体的查找表 |
| --persontrip.walkfactor <FLOAT> | 在跨模式路由期间使用 FLOAT 作为行人最大速度的因子;默认值: 0.75 |
| --persontrip.transfer.car-walk <STRING[ ]> | 允许从汽车模式切换到步行模式的位置(可能的值:'parkingAreas', 'ptStops', 'allJunctions' 及其组合);默认值: parkingAreas |
| --persontrip.transfer.taxi-walk <STRING[ ]> | 出租车可以放下乘客的位置 ('allJunctions', 'ptStops', 'parkingAreas') |
| --persontrip.transfer.walk-taxi <STRING[ ]> | 出租车可以接载乘客的位置 ('allJunctions', 'ptStops', 'parkingAreas') |
| --persontrip.default.group <STRING> | 设置后,相同起终点的行程默认将共享一辆出租车 |
| --persontrip.taxi.waiting-time <TIME> | 出租车接载的估计时间;默认值: 300 |
| --persontrip.ride-public-line <BOOL> | 仅使用预期的公交线路,而不是任何停靠目的地的替代线路;默认值: false |
| --railway.max-train-length <FLOAT> | 在初始化铁路路由器时使用 FLOAT 作为最大列车长度;默认值: 1000 |
| --replay-rerouting <BOOL> | 从 vehroute-output 重放确切的重新路由序列;默认值: false |
| --device.rerouting.probability <FLOAT> | 车辆拥有 'rerouting' 设备的概率;默认值: -1 |
| --device.rerouting.explicit <STRING[ ]> | 为命名车辆分配 'rerouting' 设备 |
| --device.rerouting.deterministic <BOOL> | 'rerouting' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.rerouting.period <TIME> | 车辆应被重新路由的周期;默认值: 0 |
| --device.rerouting.pre-period <TIME> | 出发前的重新路由周期;默认值: 60 |
| --device.rerouting.adaptation-weight <FLOAT> | 先前边权重的指数移动平均权重;默认值: 0 |
| --device.rerouting.adaptation-steps <INT> | 先前边权重的移动平均权重的步数;默认值: 180 |
| --device.rerouting.adaptation-interval <TIME> | 更新边权重的间隔;默认值: 1 |
| --device.rerouting.threshold.factor <FLOAT> | 仅当新路径比当前路径快给定因子时才重新路由;默认值: 1 |
| --device.rerouting.threshold.constant <TIME> | 仅当新路径比当前路径快给定 TIME 时才重新路由;默认值: 0 |
| --device.rerouting.with-taz <BOOL> | 使用区域(区)作为路由的起点和终点;默认值: false |
| --device.rerouting.mode <STRING> | 设置路由标志(8 忽略临时障碍);默认值: 0 |
| --device.rerouting.init-with-loaded-weights <BOOL> | 使用 --weight-files 选项给出的权重文件初始化边权重;默认值: false |
| --device.rerouting.threads <INT> | 用于重新路由的并行执行线程数;默认值: 0 |
| --device.rerouting.synchronize <BOOL> | 让所有车辆在同一时间进行重新路由;默认值: false |
| --device.rerouting.railsignal <BOOL> | 允许由铁路信号触发的重新路由;默认值: false |
| --device.rerouting.bike-speeds <BOOL> | 为自行车计算单独的平均速度;默认值: false |
| --device.rerouting.output <FILE> | 将自适应权重保存到 FILE |
| --person-device.rerouting.probability <FLOAT> | 人员拥有 'rerouting' 设备的概率;默认值: -1 |
| --person-device.rerouting.explicit <STRING[ ]> | 为命名人员分配 'rerouting' 设备 |
| --person-device.rerouting.deterministic <BOOL> | 'rerouting' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --person-device.rerouting.period <TIME> | 人员应被重新路由的周期;默认值: 0 |
| --person-device.rerouting.mode <STRING> | 设置路由标志(8 忽略临时障碍);默认值: 0 |
| --person-device.rerouting.scope <STRING> | 要替换人员计划的哪一部分(阶段、序列或行程);默认值: stage |
报告#
| 选项 | 描述 |
|---|---|
| -v <BOOL> --verbose <BOOL> |
切换到详细输出;默认值: false |
| --print-options <BOOL> | 在处理前打印选项值;默认值: false |
| -? <BOOL> --help <BOOL> |
打印此屏幕或选定主题;默认值: false |
| -V <BOOL> --version <BOOL> |
打印当前版本;默认值: false |
| -X <STRING> --xml-validation <STRING> |
设置 XML 输入的模式验证方案("never", "local", "auto" 或 "always");默认值: local |
| --xml-validation.net <STRING> | 设置 SUMO 网络输入的模式验证方案("never", "local", "auto" 或 "always");默认值: never |
| --xml-validation.routes <STRING> | 设置 SUMO 路径输入的模式验证方案("never", "local", "auto" 或 "always");默认值: local |
| -W <BOOL> --no-warnings <BOOL> |
禁用警告输出;默认值: false |
| --aggregate-warnings <INT> | 当同类型警告超过 INT 时聚合警告;默认值: -1 |
| -l <FILE> --log <FILE> |
将所有消息写入 FILE(意味着详细) |
| --message-log <FILE> | 将所有非错误消息写入 FILE(意味着详细) |
| --error-log <FILE> | 将所有警告和错误写入 FILE |
| --log.timestamps <BOOL> | 在所有消息前写入时间戳;默认值: false |
| --log.processid <BOOL> | 在所有消息前写入进程 ID;默认值: false |
| --language <STRING> | 消息中使用的语言;默认值: C |
| --duration-log.disable <BOOL> | 禁用单个仿真步骤的性能报告;默认值: false |
| -t <BOOL> --duration-log.statistics <BOOL> |
启用车辆行程统计;默认值: false |
| --no-step-log <BOOL> | 禁用当前仿真步骤的控制台输出;默认值: false |
| --step-log.period <INT> | step-log 输出之间的仿真步骤数;默认值: 100 |
排放#
| 选项 | 描述 |
|---|---|
| --emissions.volumetric-fuel <BOOL> | 以(旧)单位 l 而不是 mg 返回燃油消耗值;默认值: false |
| --phemlight-path <FILE> | 确定从何处加载 PHEMlight 定义;默认值: ./PHEMlight/ |
| --phemlight-year <INT> | 在 PHEMlight5 中使用给定的参考年份启用车队年龄建模;默认值: 0 |
| --phemlight-temperature <FLOAT> | 设置环境温度以校正 PHEMlight5 中的 NOx 排放;默认值: 1.79769e+308 |
| --device.emissions.probability <FLOAT> | 车辆拥有 'emissions' 设备的概率;默认值: -1 |
| --device.emissions.explicit <STRING[ ]> | 为命名车辆分配 'emissions' 设备 |
| --device.emissions.deterministic <BOOL> | 'emissions' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.emissions.begin <STRING> | 排放数据的记录开始时间;默认值: -1 |
| --device.emissions.period <STRING> | 排放输出的记录周期;默认值: 0 |
通信#
| 选项 | 描述 |
|---|---|
| --device.btreceiver.probability <FLOAT> | 车辆拥有 'btreceiver' 设备的概率;默认值: -1 |
| --device.btreceiver.explicit <STRING[ ]> | 为命名车辆分配 'btreceiver' 设备 |
| --device.btreceiver.deterministic <BOOL> | 'btreceiver' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.btreceiver.range <FLOAT> | 蓝牙接收器的范围;默认值: 300 |
| --device.btreceiver.all-recognitions <BOOL> | 是否应写入所有识别点;默认值: false |
| --device.btreceiver.offtime <FLOAT> | 用于计算检测概率的关闭时间(秒);默认值: 0.64 |
| --device.btsender.probability <FLOAT> | 车辆拥有 'btsender' 设备的概率;默认值: -1 |
| --device.btsender.explicit <STRING[ ]> | 为命名车辆分配 'btsender' 设备 |
| --device.btsender.deterministic <BOOL> | 'btsender' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --person-device.btsender.probability <FLOAT> | 人员拥有 'btsender' 设备的概率;默认值: -1 |
| --person-device.btsender.explicit <STRING[ ]> | 为命名人员分配 'btsender' 设备 |
| --person-device.btsender.deterministic <BOOL> | 'btsender' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --person-device.btreceiver.probability <FLOAT> | 人员拥有 'btreceiver' 设备的概率;默认值: -1 |
| --person-device.btreceiver.explicit <STRING[ ]> | 为命名人员分配 'btreceiver' 设备 |
| --person-device.btreceiver.deterministic <BOOL> | 'btreceiver' 设备使用 1000 的一部分进行确定性设置;默认值: false |
电池#
| 选项 | 描述 |
|---|---|
| --device.stationfinder.probability <FLOAT> | 车辆拥有 'stationfinder' 设备的概率;默认值: -1 |
| --device.stationfinder.explicit <STRING[ ]> | 为命名车辆分配 'stationfinder' 设备 |
| --device.stationfinder.deterministic <BOOL> | 'stationfinder' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.stationfinder.rescueTime <TIME> | 电池耗尽时在路边等待救援车辆的时间;默认值: 1800 |
| --device.stationfinder.rescueAction <STRING> | 如何处理因电池电量低而必须停止的车辆:[none, remove, tow];默认值: remove |
| --device.stationfinder.reserveFactor <FLOAT> | 使用此因子缩放电池需求,以考虑意外交通情况;默认值: 1.1 |
| --device.stationfinder.emptyThreshold <FLOAT> | 进入救援模式的电池百分比;默认值: 0.05 |
| --device.stationfinder.radius <TIME> | 搜索半径(以行程时间秒为单位);默认值: 180 |
| --device.stationfinder.maxEuclideanDistance <FLOAT> | 欧几里得搜索距离(米)(负值禁用限制);默认值: -1 |
| --device.stationfinder.repeat <TIME> | 如果未找到充电站,何时触发新的搜索;默认值: 60 |
| --device.stationfinder.maxChargePower <FLOAT> | 车辆电池的最大充电速度;默认值: 100000 |
| --device.stationfinder.chargeType <STRING> | 能量传输类型;默认值: charging |
| --device.stationfinder.waitForCharge <TIME> | 在此等待时间后,如果初始充电站被占用,车辆将搜索新的充电站;默认值: 600 |
| --device.stationfinder.minOpportunityDuration <TIME> | 仅预测持续时间至少为给定阈值的停靠点才被视为机会充电;默认值: 3600 |
| --device.stationfinder.saturatedChargeLevel <FLOAT> | 车辆停止充电后的目标充电状态;默认值: 0.8 |
| --device.stationfinder.needToChargeLevel <FLOAT> | 车辆开始搜索充电站的充电状态;默认值: 0.4 |
| --device.stationfinder.opportunisticChargeLevel <FLOAT> | 车辆可能在计划停靠点寻找充电机会的充电状态;默认值: 0 |
| --device.stationfinder.replacePlannedStop <FLOAT> | 下一个独立计划停靠点的停止时间用于充电的比例;默认值: 0 |
| --device.stationfinder.maxDistanceToReplacedStop <FLOAT> | 充电停靠点可替换原始停靠点的最大距离(米);默认值: 300 |
| --device.stationfinder.chargingStrategy <STRING> | 设置充电策略以改变时间和充电负载,从以下集合中选择:[none, balanced, latest];默认值: none |
| --device.stationfinder.checkEnergyForRoute <BOOL> | 仅当电池电量不足以完成当前路线时才搜索充电站;默认值: true |
| --device.battery.probability <FLOAT> | 车辆拥有 'battery' 设备的概率;默认值: -1 |
| --device.battery.explicit <STRING[ ]> | 为命名车辆分配 'battery' 设备 |
| --device.battery.deterministic <BOOL> | 'battery' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.battery.track-fuel <BOOL> | 跟踪非电动车辆的燃油消耗;默认值: false |
示例设备#
| 选项 | 描述 |
|---|---|
| --device.example.probability <FLOAT> | 车辆拥有 'example' 设备的概率;默认值: -1 |
| --device.example.explicit <STRING[ ]> | 为命名车辆分配 'example' 设备 |
| --device.example.deterministic <BOOL> | 'example' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.example.parameter <FLOAT> | 一个示例参数,可由所有示例设备实例使用;默认值: 0 |
Ssm 设备#
| 选项 | 描述 |
|---|---|
| --device.ssm.probability <FLOAT> | 车辆拥有 'ssm' 设备的概率;默认值: -1 |
| --device.ssm.explicit <STRING[ ]> | 为命名车辆分配 'ssm' 设备 |
| --device.ssm.deterministic <BOOL> | 'ssm' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.ssm.measures <STRING> | 指定将记录哪些度量(作为 ('TTC', 'DRAC', 'PET', 'PPET', 'MDRAC') 中 ID 的空格或逗号分隔序列) |
| --device.ssm.thresholds <STRING> | 指定与指定度量对应的空间或逗号分隔阈值(请参阅文档并注意顺序!)。仅超过阈值的事件将被记录。 |
| --device.ssm.trajectories <BOOL> | 指定是否记录轨迹(如果为 false,则仅报告极值和时间);默认值: false |
| --device.ssm.range <FLOAT> | 指定检测范围(米)。对于距离配备设备车辆小于此距离的车辆,将追踪 SSM 值;默认值: 50 |
| --device.ssm.extratime <FLOAT> | 指定冲突结束后要记录的时间(秒)。如果要为交叉冲突计算 PET,则需要 >0;默认值: 5 |
| --device.ssm.mdrac.prt <FLOAT> | 指定 MDRAC 计算的感知反应时间;默认值: 1 |
| --device.ssm.file <STRING> | 为 SSM 输出提供全局默认文件名 |
| --device.ssm.geo <BOOL> | 是否在输出中使用原始参考系统的坐标;默认值: false |
| --device.ssm.write-positions <BOOL> | 是否为每个时间步写入位置(坐标);默认值: false |
| --device.ssm.write-lane-positions <BOOL> | 是否为每个时间步写入车道及其位置;默认值: false |
| --device.ssm.write-na <BOOL> | 是否将无数据的冲突输出写为 NA 值或跳过;默认值: true |
| --device.ssm.exclude-conflict-types <STRING> | 根据冲突类型将哪些冲突排除在日志之外('ego', 'foe' , '', 任何数值有效的冲突类型代码的组合)。空值将记录所有,'ego'/'foe' 指特定的冲突类型子集。 |
Toc 设备#
| 选项 | 描述 |
|---|---|
| --device.toc.probability <FLOAT> | 车辆拥有 'toc' 设备的概率;默认值: -1 |
| --device.toc.explicit <STRING[ ]> | 为命名车辆分配 'toc' 设备 |
| --device.toc.deterministic <BOOL> | 'toc' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.toc.manualType <STRING> | 手动驾驶模式下的车辆类型。 |
| --device.toc.automatedType <STRING> | 自动驾驶模式下的车辆类型。 |
| --device.toc.responseTime <FLOAT> | 驾驶员重新控制所需的平均响应时间;默认值: -1 |
| --device.toc.recoveryRate <FLOAT> | ToC 后驾驶员意识的恢复率;默认值: 0.1 |
| --device.toc.lcAbstinence <FLOAT> | 驾驶员避免执行车道变更的注意力水平(值在 [0,1] 范围内);默认值: 0 |
| --device.toc.initialAwareness <FLOAT> | ToC 后驾驶员的初始平均意识(值在 [0,1] 范围内);默认值: 0.5 |
| --device.toc.mrmDecel <FLOAT> | 在“最小风险机动”期间应用的减速度;默认值: 1.5 |
| --device.toc.dynamicToCThreshold <FLOAT> | 车辆需要在自动驾驶模式下继续前进的时间。默认值 0 表示不动态触发 ToC;默认值: 0 |
| --device.toc.dynamicMRMProbability <FLOAT> | 动态触发的 TOR 未及时响应的概率;默认值: 0.05 |
| --device.toc.mrmKeepRight <BOOL> | 如果为 true,车辆在 MRM 期间尝试向右变道;默认值: false |
| --device.toc.mrmSafeSpot <STRING> | 如果设置,车辆在 MRM 期间尝试到达给定的命名停靠点。 |
| --device.toc.mrmSafeSpotDuration <FLOAT> | 车辆在 MRM 后在安全点停留的持续时间;默认值: 60 |
| --device.toc.maxPreparationAccel <FLOAT> | 在 ToC 准备阶段可应用的最大加速度;默认值: 0 |
| --device.toc.ogNewTimeHeadway <FLOAT> | ToC 准备阶段的时间间隔;默认值: -1 |
| --device.toc.ogNewSpaceHeadway <FLOAT> | ToC 准备阶段的附加间距;默认值: -1 |
| --device.toc.ogMaxDecel <FLOAT> | 在 ToC 准备阶段为建立增加的间距而应用的最大减速度;默认值: -1 |
| --device.toc.ogChangeRate <FLOAT> | 在 ToC 准备阶段向增加的间隔调整的速率;默认值: -1 |
| --device.toc.useColorScheme <BOOL> | 是否应用配色方案以指示不同的 ToC 阶段;默认值: true |
| --device.toc.file <STRING> | 通过指定输出文件名打开输出。 |
驾驶员状态设备#
| 选项 | 描述 |
|---|---|
| --device.driverstate.probability <FLOAT> | 车辆拥有 'driverstate' 设备的概率;默认值: -1 |
| --device.driverstate.explicit <STRING[ ]> | 为命名车辆分配 'driverstate' 设备 |
| --device.driverstate.deterministic <BOOL> | 'driverstate' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.driverstate.initialAwareness <FLOAT> | 分配给驾驶员意识的初始值;默认值: 1 |
| --device.driverstate.errorTimeScaleCoefficient <FLOAT> | 错误过程的时间尺度;默认值: 100 |
| --device.driverstate.errorNoiseIntensityCoefficient <FLOAT> | 驱动错误过程的噪声强度;默认值: 0.2 |
| --device.driverstate.speedDifferenceErrorCoefficient <FLOAT> | 将错误应用于感知速度差的通用缩放系数(错误也随距离缩放);默认值: 0.15 |
| --device.driverstate.headwayErrorCoefficient <FLOAT> | 将错误应用于感知距离的通用缩放系数(错误也随距离缩放);默认值: 0.75 |
| --device.driverstate.freeSpeedErrorCoefficient <FLOAT> | 在没有前导车的情况下行驶时,将错误应用于车辆自身速度的通用缩放系数(错误也随自身速度缩放);默认值: 0 |
| --device.driverstate.speedDifferenceChangePerceptionThreshold <FLOAT> | 识别速度差变化的基本阈值(阈值也随距离缩放);默认值: 0.1 |
| --device.driverstate.headwayChangePerceptionThreshold <FLOAT> | 识别间隔变化的基本阈值(阈值也随距离缩放);默认值: 0.1 |
| --device.driverstate.minAwareness <FLOAT> | 驾驶员意识的最小允许值;默认值: 0.1 |
| --device.driverstate.maximalReactionTime <FLOAT> | 由降低的意识水平引起的最大反应时间(~行动步长)(在意识=minAwareness 时达到);默认值: -1 |
蓝光设备#
| 选项 | 描述 |
|---|---|
| --device.bluelight.probability <FLOAT> | 车辆拥有 'bluelight' 设备的概率;默认值: -1 |
| --device.bluelight.explicit <STRING[ ]> | 为命名车辆分配 'bluelight' 设备 |
| --device.bluelight.deterministic <BOOL> | 'bluelight' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.bluelight.reactiondist <FLOAT> | 设置其他驾驶员对蓝光和警报声做出反应的距离;默认值: 25 |
| --device.bluelight.mingapfactor <FLOAT> | 通过给定因子减少反应车辆的 minGap;默认值: 1 |
Fcd 设备#
| 选项 | 描述 |
|---|---|
| --device.fcd.probability <FLOAT> | 车辆拥有 'fcd' 设备的概率;默认值: -1 |
| --device.fcd.explicit <STRING[ ]> | 为命名车辆分配 'fcd' 设备 |
| --device.fcd.deterministic <BOOL> | 'fcd' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.fcd.begin <STRING> | FCD 数据的记录开始时间;默认值: -1 |
| --device.fcd.period <STRING> | FCD 数据的记录周期;默认值: 0 |
| --device.fcd.radius <FLOAT> | 记录配备设备车辆周围半径内的对象;默认值: 0 |
| --person-device.fcd.probability <FLOAT> | 人员拥有 'fcd' 设备的概率;默认值: -1 |
| --person-device.fcd.explicit <STRING[ ]> | 为命名人员分配 'fcd' 设备 |
| --person-device.fcd.deterministic <BOOL> | 'fcd' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --person-device.fcd.period <STRING> | FCD 数据的记录周期;默认值: 0 |
Elechybrid 设备#
| 选项 | 描述 |
|---|---|
| --device.elechybrid.probability <FLOAT> | 车辆拥有 'elechybrid' 设备的概率;默认值: -1 |
| --device.elechybrid.explicit <STRING[ ]> | 为命名车辆分配 'elechybrid' 设备 |
| --device.elechybrid.deterministic <BOOL> | 'elechybrid' 设备使用 1000 的一部分进行确定性设置;默认值: false |
Taxi 设备#
| 选项 | 描述 |
|---|---|
| --device.taxi.probability <FLOAT> | 车辆拥有 'taxi' 设备的概率;默认值: -1 |
| --device.taxi.explicit <STRING[ ]> | 为命名车辆分配 'taxi' 设备 |
| --device.taxi.deterministic <BOOL> | 'taxi' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.taxi.dispatch-algorithm <STRING> | 调度算法 [greedy,greedyClosest,greedyShared,routeExtension,traci];默认值: greedy |
| --device.taxi.dispatch-algorithm.output <FILE> | 将调度算法的信息写入 FILE |
| --device.taxi.dispatch-algorithm.params <STRING> | 以 KEY1:VALUE1[,KEY2:VALUE] 格式加载调度算法参数 |
| --device.taxi.dispatch-period <TIME> | 连续调用调度程序之间的周期;默认值: 60 |
| --device.taxi.dispatch-keep-unreachable <TIME> | 中止无法到达的预约之前的时间;默认值: 3600 |
| --device.taxi.idle-algorithm <STRING> | 空闲出租车的行为 [stop,randomCircling,taxistand];默认值: stop |
| --device.taxi.idle-algorithm.output <FILE> | 将空闲算法的信息写入 FILE |
Glosa 设备#
| 选项 | 描述 |
|---|---|
| --device.glosa.probability <FLOAT> | 车辆拥有 'glosa' 设备的概率;默认值: -1 |
| --device.glosa.explicit <STRING[ ]> | 为命名车辆分配 'glosa' 设备 |
| --device.glosa.deterministic <BOOL> | 'glosa' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.glosa.range <FLOAT> | 与交通灯的通信范围;默认值: 100 |
| --device.glosa.max-speedfactor <FLOAT> | 接近绿灯时的最大速度因子;默认值: 1.1 |
| --device.glosa.min-speed <FLOAT> | 滑行接近红灯时的最小速度;默认值: 5 |
| --device.glosa.add-switchtime <FLOAT> | 信号灯变绿后车辆到达路口所需的额外时间;默认值: 0 |
| --device.glosa.use-queue <BOOL> | 在 GLOSA 计算中使用 tls 前的队列;默认值: false |
| --device.glosa.override-safety <BOOL> | 覆盖安全功能 - 忽略当前灯状态,始终遵循 GLOSA 的预测状态;默认值: false |
| --device.glosa.ignore-cfmodel <BOOL> | 车辆遵循完美的速度计算 - 如果不是安全关键,则忽略来自 CF 模型的速度计算;默认值: false |
Tripinfo 设备#
| 选项 | 描述 |
|---|---|
| --device.tripinfo.probability <FLOAT> | 车辆拥有 'tripinfo' 设备的概率;默认值: -1 |
| --device.tripinfo.explicit <STRING[ ]> | 为命名车辆分配 'tripinfo' 设备 |
| --device.tripinfo.deterministic <BOOL> | 'tripinfo' 设备使用 1000 的一部分进行确定性设置;默认值: false |
Vehroutes 设备#
| 选项 | 描述 |
|---|---|
| --device.vehroute.probability <FLOAT> | 车辆拥有 'vehroute' 设备的概率;默认值: -1 |
| --device.vehroute.explicit <STRING[ ]> | 为命名车辆分配 'vehroute' 设备 |
| --device.vehroute.deterministic <BOOL> | 'vehroute' 设备使用 1000 的一部分进行确定性设置;默认值: false |
Friction 设备#
| 选项 | 描述 |
|---|---|
| --device.friction.probability <FLOAT> | 车辆拥有 'friction' 设备的概率;默认值: -1 |
| --device.friction.explicit <STRING[ ]> | 为命名车辆分配 'friction' 设备 |
| --device.friction.deterministic <BOOL> | 'friction' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.friction.stdDev <FLOAT> | 可应用于摩擦设备的测量噪声参数;默认值: 0.1 |
| --device.friction.offset <FLOAT> | 可应用于摩擦设备的测量偏移参数 -> 例如强制错误测量;默认值: 0 |
Fcd Replay 设备#
| 选项 | 描述 |
|---|---|
| --device.fcd-replay.probability <FLOAT> | 车辆拥有 'fcd-replay' 设备的概率;默认值: -1 |
| --device.fcd-replay.explicit <STRING[ ]> | 为命名车辆分配 'fcd-replay' 设备 |
| --device.fcd-replay.deterministic <BOOL> | 'fcd-replay' 设备使用 1000 的一部分进行确定性设置;默认值: false |
| --device.fcd-replay.file <FILE> | 要读取的 FCD 文件 |
Traci 服务器#
| 选项 | 描述 |
|---|---|
| --remote-port <INT> | 如果设置,则启用 TraCI 服务器;默认值: 0 |
| --num-clients <INT> | 预期的连接客户端数量;默认值: 1 |
介观#
| 选项 | 描述 |
|---|---|
| --mesosim <BOOL> | 启用介观仿真;默认值: false |
| --meso-edgelength <FLOAT> | 介观仿真中边的段长度;默认值: 98 |
| --meso-tauff <TIME> | 计算净自由-自由间隔时间的因子;默认值: 1.13 |
| --meso-taufj <TIME> | 计算净自由-拥堵间隔时间的因子;默认值: 1.13 |
| --meso-taujf <TIME> | 计算拥堵-自由间隔时间的因子;默认值: 1.73 |
| --meso-taujj <TIME> | 计算拥堵-拥堵间隔时间的因子;默认值: 1.4 |
| --meso-jam-threshold <FLOAT> | 考虑段拥堵的最小占用空间百分比。负参数会导致基于边速度和 tauff 计算阈值(默认);默认值: -1 |
| --meso-multi-queue <BOOL> | 在边末端启用多个队列;默认值: true |
| --meso-lane-queue <BOOL> | 为每个车道启用单独的队列;默认值: false |
| --meso-ignore-lanes-by-vclass <STRING[ ]> | 不为仅允许给定 vclass 的车道构建队列(或降低容量);默认值: pedestrian,bicycle |
| --meso-junction-control <BOOL> | 启用介观交通灯和优先级路口处理;默认值: false |
| --meso-junction-control.limited <BOOL> | 为饱和链接启用介观交通灯和优先级路口处理。这可以防止错误的交通灯在低流量情况下阻碍流量;默认值: false |
| --meso-tls-penalty <FLOAT> | 在通过 tls 控制的路口时,基于绿信比而不是检查实际相位来应用缩放的行程时间惩罚;默认值: 0 |
| --meso-tls-flow-penalty <FLOAT> | 在通过 tls 控制的路口时,基于绿信比而不是检查实际相位来应用缩放的间隔惩罚;默认值: 0 |
| --meso-minor-penalty <TIME> | 在通过次要链接时应用固定的时间惩罚。当使用 --meso-junction-control.limited 时,只要有限控制处于活动状态,就不会应用惩罚;默认值: 0 |
| --meso-overtaking <BOOL> | 启用介观超车;默认值: false |
| --meso-recheck <TIME> | 在失败后重新检查插入到下一段的时间间隔;默认值: 0 |
随机数#
| 选项 | 描述 |
|---|---|
| --random <BOOL> | 使用当前系统时间初始化随机数生成器;默认值: false |
| --seed <INT> | 使用给定值初始化随机数生成器;默认值: 23423 |
| --thread-rngs <INT> | 预分配的随机数生成器数量,以确保可重复的多线程仿真(对于可重复的仿真,应至少为线程数);默认值: 64 |
仅限 Gui#
| 选项 | 描述 |
|---|---|
| -g <FILE> --gui-settings-file <FILE> |
从 FILE 加载可视化设置 |
| -Q <BOOL> --quit-on-end <BOOL> |
仿真停止时退出 GUI;默认值: false |
| -G <BOOL> --game <BOOL> |
以游戏模式启动 GUI;默认值: false |
| --game.mode <STRING> | 选择游戏类型 ('tls', 'drt');默认值: tls |
| -S <BOOL> --start <BOOL> |
加载后启动仿真;默认值: false |
| -d <FLOAT> --delay <FLOAT> |
使用 FLOAT(毫秒)作为仿真步骤之间的延迟;默认值: 0 |
| -B <STRING[ ]> --breakpoints <STRING[ ]> |
使用 TIME[] 作为仿真应暂停的时间 |
| --edgedata-files <FILE> | 从 FILE 加载用于可视化的边/车道权重 |
| -N <FILE> --alternative-net-file <FILE> |
从 FILE 加载用于抽象可视化的辅助道路网络 |
| --selection-file <FILE> | 从 FILE 加载预选元素 |
| -D <BOOL> --demo <BOOL> |
结束后重新启动仿真(演示模式);默认值: false |
| -T <BOOL> --disable-textures <BOOL> |
不加载背景图片;默认值: false |
| --registry-viewport <BOOL> | 从注册表加载当前视口;默认值: false |
| --window-size <STRING[ ]> | 使用给定的 x,y 大小创建初始窗口 |
| --window-pos <STRING[ ]> | 在给定的 x,y 位置创建初始窗口 |
| --tracker-interval <TIME> | 值跟踪器窗口的聚合周期;默认值: 1 |
| --osg-view <BOOL> | 使用 OpenSceneGraph 视图而不是常规 2D 视图启动;默认值: false |
| --gui-testing <BOOL> | 启用屏幕识别覆盖;默认值: false |
| --gui-testing-debug <BOOL> | 在 GUI 测试期间启用输出消息;默认值: false |
| --gui-testing.setting-output <FILE> | 在给定的设置输出文件中保存 gui 设置 |
输入文件的加载顺序#
Sumo 按以下顺序加载其输入文件
- net-file
- additional-files
- weight-files
- state-files
- route-files
每当输入文件中定义的仿真对象 A(例如车辆)引用另一个仿真对象 B(例如车辆类型)时,相应的对象 B 必须在 A 之前定义,或者通过放入加载时间较早的文件,或者通过放入同一文件中较早的行。
这在使用选项 --route-files <FILE> 和 --additional-files <FILE> 加载的文件时尤为重要。选项 --route-files <FILE> 最重要的特性是它增量加载文件从而节省内存。然而,这意味着车辆和流必须按其 departure 和 begin 时间排序。
选项 --additional-files <FILE> 在选项 --route-files <FILE> 之前处理,并且给定的文件在仿真开始前完全加载。所有可以放入路径文件的项目也可以放入附加文件(无需车辆排序)。一些对象必须在仿真开始时可用(例如输出对象),因此需要使用此选项加载,但也可用于加载路径文件引用的内容,例如 <vType> 元素、命名的 <route> 元素或 <routeDistribution>。
当多个文件以逗号分隔列表形式给出时,它们将从左到右加载。
附加文件的格式#
使用选项 --additional-files <FILE> 加载的文件可以包含多种网络元素,例如交通灯程序、检测器定义、可变限速标志和公交停靠点。这些文件还用于配置仿真输出,例如基于边的交通度量或交通灯切换信息。此外,路径文件中允许的任何元素,例如vTypes、routes和vehicles都可以添加。所有元素都可以放入同一个附加文件中,也可以根据需要分组到多个文件中。
附加文件始终需要一个任意名称的顶级标签(习惯上使用 additional)。下面给出了一个示例文件:
<additional>
<inductionLoop id="myLoop1" lane="foo_0" pos="42" period="900" file="out.xml"/>
<inductionLoop id="myLoop2" lane="foo_2" pos="42" period="900" file="out.xml"/>
<busStop id="station1" lane="foo_0" startPos="5" endPos="20"/>
<vType id="bus" maxSpeed="20" length="12"/>
</additional>
