版本 0.32.0 (19.12.2017)#
Bug 修复#
- 仿真
- 修复了子车道模型中的碰撞问题 #3446, #3595, #3613
- 修复了在使用选项 --step-method.ballistic 时导致子车道模型中出现无效行为的错误。 #3486
- 修复了在最小间距被突破后导致死锁的错误。 #3486
- 修复了在交叉口导致死锁的错误。 #3615
- 选项 --ignore-route-errors 现在也适用于无效(即顺序错误)的停靠点定义。 #3441
- PHEMlight 更好地处理大加速度值 #3390,并更新了新柴油车的排放值
- 在
<flow>中使用的带有属性 until 的<stop>定义现在会根据出发时间与流 begin 之间的偏移量来移动 until 时间。 #1514 <chargingStation>属性 chargeDelay 现在接受浮点数值。<chargingStation>属性 chargeDelay 现在在亚秒级仿真中也能工作。- 车辆通过次要链接且不耐烦度为 0 时,不再强制优先车辆刹车。 #3494
- 修复了车辆与行人之间碰撞的错误 #3527
- 修复了在同一个仿真中结合汽车和船舶时导致仿真变慢的错误。 #3528
- 修复了来自同一车道的车辆在交叉口发生的碰撞。 #1006, #3536
- 修复了在子车道模型中无法为提升速度而换道的问题。 #3582
- 修复了车辆与自身碰撞的错误。 #3584
- 关于多模式路由的几处修复。 #3613, #3622, #3560, #3561, #3562
- sumo-gui
- polyconvert
- 修复了通过选项 --all-attributes 导出任意文本时处理 XML 特殊字符的问题。 #3447
- netconvert
- 修复了导入 Vissim 网络时的崩溃问题。
- 修复了在加载 .net.xml 文件并从带有行人过街处的交叉口移除边缘时导致无效信号灯计划的错误(过街处的链接索引被重新分配,但信号灯计划未修改,导致不匹配)。
- 不再写入长度为 0 的行人过街处(最小长度为 0.1m)。
- 参数(例如用于感应式交通灯的参数)在导入 .net.xml 文件或 plain-xml 文件时不再丢失。 #3343
- 修复了当附加车道放置在人行道右侧时导致生成无效网络的错误。 #3503
- 修复了当没有连接的节点是连接交通灯的一部分时导致生成无效网络的错误 #3715
- 现在支持定义 行人全向过街 (Pedestrian Scramble) 的行人过街处。 #3518
- 行人过街处的自定义交通灯计划不再被修改。 #3534
- 修复了节点类型为 traffic_light_right_on_red 时行人过街处的无效交通灯计划。 #3535
- 修复了节点类型为 traffic_light_right_on_red 时可能导致死锁的无效路权规则。 #3538
- 交叉口彼此非常接近的网络现在可以重新导入。 #3585
- 没有连接的边缘现在在 plain-xml 输出中正确表示。 #3589
- 修复了左手网络 opendrive 输出中的无效几何形状。 #3678
- 修复了 opendrive 输出中的无效道路标线。
-
netedit
-
修复了导致行人过街处在交通灯控制的交叉口保持不受控制的错误。 #3472
Caution
0.31.0 中的回归。作为解决方法,使用 netedit 0.31.0 保存的网络可以通过调用 netconvert -s bugged.net.xml -o fixed.net.xml 进行修复,或者只需使用最新的 netedit 每日构建重新打开并保存。
-
- duarouter
- 如果最后一辆车在人员进入仿真之前出发,则修复了无效的公共交通路由。 #3493
- TraCI
- 修复了 traci.trafficlights.setLinkState 中的错误。
- 修复了 traci.vehicle.getDrivingDistance 中与内部边缘相关的错误。 #3553
- 修复了 traci.vehicle.getDistance 中与循环路线相关的错误。 #3648
- 修复了 traci.simulation.getDistance2D 和 traci.simulation.getDistanceRoad 中与内部边缘相关的错误。 #3554
- 当参数过多或文件路径过长时,命令 load 不再失败。 #3599
- 修复了使用子车道模型时 traci.vehicle.changeLane 中的错误。 #3634
- 工具
- 修复了在 flowrouter.py 中触发无限循环的错误。
- ptlines2flows.py 修复:
- 缺失的停靠点不再导致崩溃
- 修复了多条线路使用同一停靠点时无效的 until 时间
- emissionsDrivingCycle 在启用加速度正向计算时,现在使用正确时间步长的坡度值
- generateTurnDefs.py 现在写入区间信息。感谢 Srishti Dhamija 提供的补丁。 #3712
增强功能#
- 仿真
- 添加了选项 --collision.mingap-factor 以控制当车辆 minGap 被违反时是否记录碰撞。默认值为 1.0,表示必须始终维持 minGap。当设置为 0 时,仅记录物理碰撞。 #1102
- 添加了新的交叉口模型参数 #3148:
- jmIgnoreFoeProb, jmIgnoreFoeSpeed 可用于配置路权违规。
- jmSigmaMinor 允许配置通过次要链接时的驾驶不完美度(走神)。
- jmTimegapMinor 配置在优先车辆前方通过次要链接时的最小时间间隔。
- jmDriveAfterRedTime 和 jmDriveRedSpeed 允许根据红灯相位的持续时间配置闯红灯行为。
- 添加了新的 laneChangeModel-attribute lcLookaheadLeft,用于配置向左或向右换道时战略前瞻的不对称性。 #3490
- 添加了新的 laneChangeModel-attribute lcSpeedGainRight,用于配置为提升速度向左或向右换道时的阈值不对称性。 #3497
- 电动车 现在可以通过设置
emissionClass="Energy/unknown"用于排放模型(电力)输出。 - 行人的 tripinfo 输出现在包括 routeLength, duration 和 timeLoss。 #3305
- duration-log.statistics 输出现在包含人员乘车信息。 #3620
- 在停车区 (parkingArea) 停靠结束其路线的车辆(arrivalPos 在停车区范围内)在重新路由到另一个停车区后将被分配新的目的地(以前它们会在完成停靠后驶向原始停车区边缘)。 #3647
- 重定向器 (Rerouters) 现在支持属性
timeThreshold,这使得它们的激活依赖于累积的最小等待时间。 #3669 - 仿真步长已与动作步长(车辆进行决策的间隔)解耦。这可以通过选项 '--default.action-step-length' 进行全局配置,或通过参数 'actionStepLength' 针对每个车辆进行配置。
- sumo-gui
- 透明度现在对所有对象都有效。
- 现在可以检查交叉口参数。
- 即将到来的停靠点现在显示在车辆参数窗口中,并且在选择 显示当前路线 时也显示在网络中。 #3679
- netconvert
- 当使用选项 --numerical-ids 和 --output.original-names 时,所有重命名的节点和边缘的原始 ID 都会写入带有键 origId 的
<param>元素中。 #3246 - 连接 (connections) 现在支持属性 speed 以在交叉口设置自定义(最大)速度。 #3460
- 连接 (connections) 现在支持属性 shape 以设置自定义形状。 #2906
- 过街处 (crossings) 现在支持属性 shape 以设置自定义形状。 #2906
- 新元素
<walkingArea>现在可以在 con.xml 文件中使用,以定义自定义步行区形状。 #2906 - 添加了选项 --osm.stop-output.length.bus, --osm.stop-output.length.train, --osm.stop-output.length.tram 以针对不同的交通模式设置适当的默认停靠长度(与选项 --ptstop-output 结合使用)。
- 添加了选项 --osm.all-attributes <BOOL>,可用于导入额外的边缘参数,如 bridge, tunnel 和 postcode。
- 连接道路的并行车道现在在 opendrive 输出中作为单条道路写入。 #2700
- 当使用选项 --numerical-ids 和 --output.original-names 时,所有重命名的节点和边缘的原始 ID 都会写入带有键 origId 的
- netedit
- duarouter
- 工具
- osmWebWizard.py 现在可以导入公共交通(通过设置选项卡上的复选框激活)。如果同时导入了行人,他们可能会选择使用公共交通来缩短步行距离。
- 添加了新工具 filterDistrics.py 以生成对给定车辆类有效的区域 (TAZ) 文件。
- traceExporter.py 现在可以建立与 sumo 的直接套接字连接,并可以按区域和时间过滤 fcd 输出。
- flowrouter.py 改进:
- 添加了新工具 tls_csvSignalGroup.py,用于从 csv 输入导入交通灯定义。输入格式旨在类似于交通工程师使用的表示形式。感谢 Mirko Barthauer 的贡献。
- TraCI
- trafficlights.getControledLinks 的返回值现在对于 C++ 客户端也是链接列表的列表。
-
python 客户端现在通过使用默认参数支持 vehicle.setAdaptedTraveltime 和 vehicle.setEffort 的整个 API(重置自定义值或使用默认时间范围设置)。
Note
参数顺序必须更改才能实现此功能。旧代码仍然有效,但会触发警告。
其他#
- SUMO 许可证已更改为 Eclipse Public License Version 2
- SUMO 构建过程现在支持 CMake。版本 0.32.0 很可能是最后一个附带 Visual Studio 解决方案的版本。请查看 Windows CMake 了解如何在 Windows 上使用 CMake 构建 SUMO 的信息。在 <SUMO_HOME>/tools/build_config 中还有准备中的辅助脚本,例如
tools/build_config/buildMSVS15Project.py。
- 仿真
- chargingstations-output 现在以秒而不是毫秒写入时间。
- 选项 --pedestrian.striping.stripe-width 的默认值更改为 0.64(以前为 0.65)。这允许默认宽度的车辆在默认宽度的道路上通过行人。
- libsumo 的初步版本可用于实验性构建您自己的应用程序,将 SUMO 作为“库”使用(直接调用其函数而无需 TraCI)。
- sumo-gui
- netconvert
- 元素
<customShape>不再受支持。相反,<connection>和<crossing>支持 shape 属性。要为 walkingAreas 设置自定义形状,可以使用新元素<walkingArea>。
- 元素
- TraCI
- TraCI 版本现在为 17
- 文档
- 记录了仿真对象右键菜单
- 描述了edgeData 文件的可视化
版本 0.31.0 (14.09.2017)#
Bug 修复#
-
仿真
- 子车道模型
- 为清理超车道而进行的换道(动机 keepRight)现在可以正常工作。 #3106
- 修复了阻止在子车道模型中违反路权规则的错误。 #3140
- 修复了阻止为战略换道进行速度调整的错误。 #3183
- 修复了阻止为提升速度而换道的错误 #3107, #3186
- 使用
departPosLat="random" departPos="last"插入现在有效。 #3191 - 修复了可能导致交叉口死锁的错误 #3189
- 修复了碰撞问题 #3195, #3213, #3050, #2837
- 修复了在低速或低步长时换道导致的无效角度。 #3220
- 修复了振荡问题。 #3333
- 修复了在接近慢速前车时为提升速度而换道过晚的问题。 #3375
- 修复了导致尽管速度损失仍进行子车道换道的错误。 #3372
- 换道
- 行人
- 校准器 (Calibrators) 现在遵守选项 --ignore-route-errors。 #3089
departLane="allowed"不再在多模式边缘上选择无效的出发车道。 #3065- 车辆的累积等待时间现在可以从仿真状态正确加载。 #2314
- 修复了中观校准器的输出(0.30.0 中的回归)。 #3132
- 修改了车道区域 (e2) 检测器 的 meanTimeLoss 输出。语义现在是平均时间损失 *每辆车* #3110
- 修复了因交通阻塞而无法从停车状态恢复的车辆的无效停止状态和无效位置。 #3153
- 修复了 meandata 输出中对于仅部分在相应车道上的车辆的占有率计算错误。 #153
- 修复了交叉口的碰撞检测(一些碰撞未被记录)。 #3171
- 选项 --collision.stoptime 现在在交叉口检测到碰撞时有效(使用选项 --collision.check-junctions)。 #3172
- FCD 输出现在包含 z 数据(如果网络包含高程信息)。 #3191
- 修复了加载带有
<access>元素的无效<busStop>定义时的崩溃问题。 #3214 - 修复了在循环路线上加载停靠点时的无效错误。 #3231
- 修复了无效
<e2Detector>定义时的崩溃问题。 #3233 - 修复了在保存和加载仿真状态时结合 vehroute-output 的崩溃问题。 #3237, #3238
- 修复了 meandata 输出中过高的密度值。 #3265
- 修复了 tripinfo 输出中无效的 routeLength。 #3355
- 子车道模型
- sumo-gui
- 修复了以光栅图像绘制多节车厢车辆时的视觉故障。 #3049
- 修复了在编辑网络后重新加载仿真时的崩溃问题。 #3059
- 修复了在校准器中使用无效路线时的崩溃问题。 #3060
- 网络参数对话框中列出的节点数不再包含内部节点。 #3118
- 修复了当多辆车在同一边缘开始和结束停车时的崩溃问题 #3152
<parkingArea>的所有停车车辆和空闲停车位现在都可以通过右键单击访问。 #3169- 修复了在弯曲道路上
<busStop>, <containerStop>, <chargingStation>, <parkingArea>的渲染位置。 #3200 - 修复了具有横向偏移的车辆以及当车辆在非常短的车道上时乘客的绘制位置(也影响 fcd 输出)。 #3249
- 纠正了当车道宽度不是横向分辨率的倍数时子车道边界的绘制。
- 修复了短车道参数窗口中的错误占有率值。
- 预配置的截图 现在在正确的时间拍摄,与仿真速度无关。 #1340
- 修复了在左手网络中绘制等待的行人、停车车辆和停车区时的视觉故障。 #3382
- 附加仿真对象的列表不再包含 POI 和多边形(它们有自己的定位器列表)。 #3384
- netconvert
- --ptstop-output 现在以适当的 vClass 导出停靠车道。 #3075
- --ptstop-output 现在以正确的道路方向导出停靠车道 #3101, #3212
- 修复了加载左手 .net.xml 文件时的无效地理参考 #3198
- 修复了在修补 .net.xml 文件时,结合 .tll.xml 文件以及其他影响连接的补丁导致错误的错误。 #2868
- 修复了 OpenDrive 输出中内部车道高程精度不足的问题。
- 修复了生成的 tls 计划中过长的黄色持续时间。 #3239
- 修复了内部转弯车道的无效长度。作为副作用,在这些车道上不再可能换道。可以通过设置选项 --junctions.join-turns <BOOL> 来启用旧行为。 #2082。
- 变量相位持续时间在从 .net.xml 或 .tll.xml 文件导入时不再丢失。
- 使用选项 --plain-output-prefix 导出时,有关没有连接的边缘的信息不再丢失。 #3332
- 修复了导入带有自定义节点形状的 .net.xml 文件后的无效边缘形状。 #3385
- 与导入 OpenDRIVE 网络相关的修复
- netedit
- 修复了渲染速度变慢的问题(0.30.0 中的回归) #3167
- 修复了加载带有属性 lane 和 pos 的 pois 时的错误(0.30.0 中的回归) #3199
- 修复了尝试按 ID 过滤附加项选择时的崩溃问题(0.30.0 中的回归)。 #3068
- 交叉口的 z 坐标现在在检查模式下再次正确显示(0.30.00 中的回归)。 #3134
- 使用 move mode 移动交叉口时,z 坐标不再重置为 0。 #3134
- 带有负 startPos 或 endPos 的 busStop 和 chargingStation 元素现在可以加载。
- 撤销操作现在会恢复已删除附加项的选择状态。 #3073
- 加载配色方案现在有效(仅 netedit 保存的方案有效)。 #2936
- 修复了编辑左手网络时的无效地理参考 #3198
- 交通灯模式下,选中的交通灯现在总是显示周期时间。 #3206
- 在选项对话框中设置的输出精度现在生效。 #3219
- 当选择允许特定车辆类的边缘(或车道)时,现在也会匹配
allow="all"的边缘(和车道)。 #3168 - 修复了在连接模式下 <ctrl>-单击无效车道时的崩溃问题。
- 修复了设置自定义节点形状后的无效边缘形状。 #3276
- 通过几何节点替换 功能现在保留连接、过街处和自定义几何端点。如果该功能被禁用,原因会显示在菜单中。 #3287
- 连接交叉口现在总是保留边缘端点。 #3257
- 修复了删除交通灯和带有行人过街处的交叉口后的无效网络。 #3346
- 修复了连接 tls 时的崩溃问题。 #3365
- 交叉口可视化选项 显示车道到车道连接 现在生效。
- duarouter
- marouter
- 修复了由于矩阵解析错误导致的崩溃。 #3366
- TraCI
- 发送命令 traci.load() 后,仿真现在会保持运行,直到发送 traci.close(),而不是在没有更多车辆或达到结束时间时终止。 #3048
- 车辆状态变更检索(simulation.getDepartedIDList, simulation.getArrivedNumber, ...)现在在发送命令 traci.load() 后有效。 #3051
- 车辆命令 getDistance 和 getDrivingDistance 现在在当前车辆边缘或目标边缘是交叉口内部边缘时返回正确的值。 #2321
- 修复了调用 moveToXY 时的无效车道占用值。 #3185
- traci.load() 现在在之前的仿真有错误时也能工作。 #3204
- traci.vehicle.setRoute() 中的无效边缘 ID 不再导致崩溃。 #3205
- 修复了 moveToXY 映射失败。 #3263
- 人员上下文订阅现在有效。 #3304
- 修复了取消停靠后的无效行为。 #3348
- 修复了调用 gui.screenshot 时的冻结问题 #3362
- 工具
- netdiff.py 现在正确处理其 radius 或 z 属性已更改为(未写入的)默认值的交叉口。
- randomTrips.py 现在正确处理值中包含空格的 --trip-attributes(例如 modes)。 #3117
- 修复了使用 flowrouter.py 时导致流量不足的错误。 #3285
- 修复了 flowrouter.py 崩溃问题。 #3356
增强功能#
- 仿真
- 交叉口的行为现在可以使用新的交叉口模型参数进行配置。 #3148
- 紧急车辆 (
vClass="emergency") 可以始终从右侧超车。 - 默认的跟车模型现在可以通过命令行使用 --carfollow.model 指定。 #3142
- 使用 --routing-algorithm astar 进行路由时,结合交通分配区 (TAZ) 现在可以高效工作。 #3144
- 换道输出 现在包括换道的 type 以及目标车道上的纵向间隙。 #3156
- 现在可以在内部车道上定义停靠点。
- 通过选项 --duration-log.statistics 生成的聚合行程信息现在包括在仿真结束时仍在运行的车辆(如果同时设置了选项 --tripinfo-output.write-unfinished)。 #3209
- 车辆现在对同一车道上的行人做出反应。 #3242
- 行人现在对阻挡其路径的车辆做出反应。 #3138
- 当设置选项 --collision.check-junctions 时,现在可以检测车辆与行人之间的碰撞。
- 行人
<walk>现在可以使用属性 route 定义。 #3302 - 摘要输出现在包括平均车辆速度(绝对和相对)以及停止车辆的数量。 #3312
- 行人统计现在包含在聚合交通指标中。 #3306
- Tripinfo 输出现在包括人员和容器阶段的附加属性(depart, waitingTime, duration, vehicle, arrivalPos, actType)。 #3305
- 添加了新的换道模型参数 lcAccelLat 以在子车道模型中模拟横向加速度。 #3371
-
sumo-gui
- netconvert
- <split>-定义 现在支持属性 id 以指定新创建节点的 ID。可以通过在两个拆分定义中使用相同的 ID 来使用同一节点拆分双向道路。 #3192
- 导入 OpenDrive 网络时现在会考虑可变车道宽度。新选项 --opendrive.min-width <FLOAT> 用于确定车道的哪些部分车辆无法使用(默认 1.8m)。 #3196
- 添加了选项 --tls.red.time <TIME>,用于在没有冲突流的交通灯处构建红灯相位(例如,在不用于行人仿真的网络中带有行人过街处的道路)。新默认值为 5 秒。 #1748
- 添加了选项 --tls.allred.time <TIME>,用于在每个黄灯相位后构建全红相位。 #573
- 添加了选项 --walkingareas,以允许在没有行人过街处的网络中生成步行区。 #3253
- 添加了选项 --opposites.guess.fix-lengths <BOOL>,以确保可以为弯曲道路设置对向车道信息。(参见 Simulation/OppositeDirectionDriving#Limitations)。
- 自定义车道形状现在可以定义。 #2250
- 添加了选项 --tls.min-dur <TIME> 和 --tls.max-dur <TIME> 以定义非静态交通灯的时间范围。 #3329
- 选项 --proj.scale 现在接受任意浮点数,可用于缩放输出网络。 #3351
- netedit
- TraCI
- 支持多个客户端。 #3105
- 添加了函数 vehicle.getAccumulatedWaitingTime 以检索在 --waiting-time-memory 间隔内收集的等待时间。 #999
- 向 C++ 客户端添加了许多值检索函数。感谢 Raphael Riebl 提供的补丁!
- 可以动态创建新的车辆类型(通过复制现有的)。 -> traci.vehicletype.copy() #3211
- 添加了函数 person.rerouteTraveltime 以重新路由行人。 #3352
- 重路由设备周期现在可以为单个车辆设置。假定的边缘行驶时间可以全局设置。 #3097
- 重路由设备周期和假定的边缘行驶时间现在可以检索。 #3097
- duarouter
- 使用 --routing-algorithm astar 进行路由时,结合交通分配区 (TAZ) 现在可以高效工作。 #3144
- 现在支持内部车道上的停靠点。 #3174
- 行人
<walk>现在可以使用属性 route 定义。 #3302
- dfrouter
- 添加了选项 --randomize-flows,用于随机化生成车辆的出发时间。
- 工具
- osmWebWizard.py 现在支持位置搜索。 #2582
- osmWebWizard.py 现在生成带有感应式交通灯的场景
- osmWebWizard.py 现在生成具有更 realistic 速度分布的交通
- flowrouter.py 现在支持指定路线限制以解决歧义。
- 当设置 randomTrips.py 选项 --vehicle-class 时,来自选项 -t 的 vType 属性会被识别并写入生成的 vType。 #3335
其他#
- SUMO 现在使用 C++11
- 在 vType 中将跟车模型指定为嵌套元素现在已弃用
- 没有 ID 的行程已弃用
- 路由器选项现在与仿真选项更加一致
- 使用 -a 表示附加文件
- 使用 -r 或 --route-files 表示所有类型的路线输入(行程、流、路线、替代方案)
- 旧选项 --flows, --trips, -- alternatives 已弃用
- routeStats.py 的网络参数现在是可选的,并使用选项 -n 设置。
- 选项 proj.shift 曾是 --proj.scale 的别名,现已不再支持。这些选项过去用于通过 10 的负幂设置缩放因子,但现在 --proj.scale 直接设置缩放因子(以前的值 5 现在对应于 1e-5)
- 感应式交通灯 的默认 detector-gap 现在是 2.0s。 #3340
- 默认的 minGapLat 值(由子车道模型使用)现在是 0.6m(从 1.0m 下降),以更好地匹配观察结果。
- 文档
- 添加了自动生成的交通灯程序的描述。
- 添加了从 OSM 导入公共交通数据的教程。
- 扩展了安全相关主题页面
- 添加了地理坐标概述页面
- TraCI
- TraCI 版本现在为 16
版本 0.30.0 (02.05.2017)#
Bug 修复#
- 仿真
- 随机行人减速(通过选项 --pedestrian.striping.dawdling 配置)现在有效。 #2851
- 加载带有在
<busStop>停止的车辆的状态文件现在有效。 #2914 - 修复了使用子车道模型时的碰撞问题。 #2295, #2924, #2154, #3005
- 对子车道模型中横向距离保持的各种修复。
- 使用子车道模型时,车辆不再驶过道路边界。 #2988
- 修复了加载带有到达车辆的保存状态时的崩溃问题。 #2938
- 选项 --load-state.offset 现在正确应用于未来出发的车辆,这些车辆是加载状态的一部分(即,由于在保存之前已从附加文件加载)。这是 0.29.0 版本中的回归。 #2949
- 仿真行为不再受随机装备仅生成输出的设备的车辆影响。 #2977
- vType 属性
laneChangeModel不再被忽略(自 0.28.0 版本以来,它被静默替换为 "default") - 修复了当设置车辆属性 arrivalSpeed 和 arrivalPos 均为 0 时的死锁问题。 #2995
- 修复了换道因无效原因被阻塞导致死锁的问题。 #2996
- 当使用
departLane="best"时,用于确定合适插入车道的前瞻距离现在限制为 3000m。 #2998 - 加载状态现在正确写入 tls 状态 #1229
- netconvert
- 交叉口形状计算的各种修复。 #2551, #2874, #1443
- 匝道猜测(选项 --ramps.guess)不再将急转弯道路识别为高速公路匝道。
- 修复了在导入 net.xml 文件或使用 netedit 编辑时,类型为 traffic_light_right_on_red 的交叉口处的无效路权规则。 #2976
- 使用选项 --junctions.scurve-stretch 构建的网络在再次导入时保留其形状。 #2877
- 从 VISUM 导入 的网络不再将节点位置四舍五入到米。 #3001
- 加载来自包含节点类型
rail_crossing或rail_signal的网络的 .tll 文件现在有效。 #2999 - 修复了将
<split>应用于环岛内边缘时的崩溃问题。 #2737 - 修复了导入某些 OpenDRIVE 网络时的无限循环。 #2918
- netedit
- TraCI
- 修复了调用 moveToXY 时的映射失败。
- 由于 moveToXY 调用而移动到道路网络之外的车辆现在返回正确的位置和角度。
- 函数 vehicle.getSpeedWithoutTraCI 现在在车辆未被影响时正确返回当前速度。
- 修复了在同一时间步添加和擦除人员时的崩溃问题。 #3014
- 工具
- 恢复了 sumolib 和 traci 的 Python3.0 兼容性(0.29.0 中的回归)
- vType 元素的 carFollowing 子元素现在包含在 route2trips.py 输出中。 #2954
- 修复了 SUMO_HOME 路径中包含空格时的 OSM Web Wizard 问题。 #2939
- cutRoutes.py 现在写入两条独立的路线,而不是一条包含缩减网络中不存在的边缘的路线。 #3011
增强功能#
- 仿真
- 特定车辆类的速度限制 现在可以从附加文件加载。 #2870
- 重构了 E2 检测器 的实现。这些现在可以定义为跨越一系列车道,XML 属性
cont已弃用。 #1491, #1877, #2773, #2871 - 添加了交通灯类型 "delay_based",它实现了类型 "actuated" 的替代算法。
- 添加了选项 --time-to-impatience <TIME>,定义了驾驶员不耐烦度从 0 增长到 1 的等待时间。以前这与 --time-to-teleport 的值绑定。 #2490
- 换道输出 现在包括到最近邻车的横向间隙。 #2930
- 属性
speedFactor可以使用带有可选截断的正态分布来定义车辆速度的分布 #2925 - 交通灯相关输出 现在具有一致的 camelCase XML 标签。
- 添加了选项 collision.stoptime <TIME>,让车辆在经历碰撞后停止一段时间,然后再执行通过 --collision.action 设置的操作。 #1102
- 电动车 现在初始化为最大容量 35kWh 和半满电池(以前,默认为 0,总是需要定义这个)。
- --vehroute-output 现在包括附加的车辆属性,如 departLane 和 departSpeed,以方便场景回放。
- 在多车道边缘上使用 departLane 值 free,allowed 或 best 时,增加了最大可能的插入流量。 #3000
- 使用子车道模型时横向间隙保持的改进:
- 车辆现在尝试平衡左右间隙,如果横向空间不足 #2932
- 属性
minGapLat的语义更改为定义 50km/h 时的期望间隙,并且在该速度以上不再增长(以前该阈值为 100km/h) - 车辆在横向间隙保持方面现在忽略其自身长度中点后方的跟车。
- 添加了选项 --max-num-teleports <INT>,可以在超过一定数量的传送后中止仿真。 #3003
- 添加了选项 --chargingstations-output <FILE>,为充电站生成输出。 #2357
- sumo-gui
- netconvert
- 从 DlrNavteq 格式导入的网络现在处理 prohibited_manoeuvres 和 connected_lanes 输入文件。 #738
- 边缘类型现在从 .net.xml 文件导入。 #2508
- 添加了选项 --opendrive.curve-resolution <FLOAT>,用于设置从参数化曲线导入道路几何形状时的细节级别。 #2686
- 节点形状计算(尤其是停止线位置)现在可以通过设置不延伸到节点位置的边缘几何形状来影响。
- 为了处理 OpenDrive 网络中模糊的停止线信息,新选项 --opendrive.advance-stopline <FLOAT> 现在可用于影响基于道路和连接道路之间边界计算停止线位置的启发式方法。
- 现在可以使用新选项 --ptstop-output <FILE> 从 OpenStreetMap 导入公交停靠点。 #2933
- 网络中没有传入连接的车道和没有传出连接的边缘现在会被报告。 #2997
- 现在可以通过加载的 .edg.xml 文件删除特定车道(以确保连接按预期保留)。 #3009
- netedit
- TraCI
- 现在可以通过发送加载命令 使用新选项重新加载仿真。
- 向 C++ 客户端添加了 vehicle.setMaxSpeed 和 vehicle.getMaxSpeed。感谢 Raphael Riebl 提供的补丁。
- 向 C++ 客户端添加了 vehicle.changeTarget。
- 为了允许车辆闯红灯,现在可以使用 speedmode 7 代替 14。这更安全,因为它避免了追尾碰撞。
- 车辆现在可以在命名的停车区或充电站停车。python 客户端添加了方法 traci.vehicle.setParkingAreaStop, traci.vehicle.setChargingStationStop 以简化此操作。 #2963
- 车辆函数 moveToXY 现在支持特殊角度值 traci.constants.INVALID_DOUBLE_VALUE。如果设置此值,角度将不会计入候选车道的评分,车辆将采用找到的最佳车道的角度。对于道路网络之外的车辆,角度将根据新旧位置计算。 #2262
- 车辆现在支持检索电池设备参数以及检索乘车人员和容器,以及检索 laneChangeModel 参数,使用 vehicle.getParameter 函数。
- 车辆现在支持设置电池设备参数和 laneChangeModel 参数,使用 vehicle.setParameter 函数。
- 添加了子车道模型相关的车辆函数 getLateralLanePosition, getMaxSpeedLat, getMinGapLat, getLateralAlignment, setMaxSpeedLat, setMinGapLat, setLateralAlignment, changeSublane。 #2216, #2001
- 添加了子车道模型相关的车辆类型函数 getMaxSpeedLat, getMinGapLat, getLateralAlignment, setMaxSpeedLat, setMinGapLat, setLateralAlignment。 #2216
- 函数 edge.getLastStepPersonIDs 现在包括在该边缘上的车辆中乘坐的人员。 #2865
- TraCI python 客户端现在支持StepListeners。
- 换道模型的换道选择现在可以使用命令 change lane information 0x13 检索(有或没有 TraCI 影响)。
- 工具
- randomTrips.py 现在支持选项 --flows <INT> 以生成一定数量的随机流,而不是单独的车辆。
- routeStats.py 现在支持通过设置选项 --attribute depart 生成出发时间的统计信息。
- tls_csv2SUMO.py 现在接受任意字符串作为索引,并改进了信号组处理,感谢 Harald Schaefer
- 更多工具(包括 osmWebWizard)与 python3 兼容
其他#
- 文档
- TraCI 命令文档 现在包括指向每个命令相应 python 函数的链接。
- 新的安全相关行为概述页面
- 快速入门教程 现在描述了如何使用 netedit 创建网络
- TraCI
- TraCI 版本现在为 15
- 一些 TraCI 常量已重命名
- CMD_SIMSTEP2 更名为 CMD_SIMSTEP
- *AREAL_DETECTOR* 更名为 *LANEAREA*
- *MULTI_ENTRY_EXIT_DETECTOR* 更名为 *MULTIENTRYEXIT*
- 杂项
- 编译选项 --disable-internal-lanes 已移除。仍然可以使用 netconvert 选项 --no-internal-links 或仿真选项 --no-internal-links 进行无内部车道的仿真。
- 编译选项 --enable-memcheck 和相应的 nvwa 包已移除。应使用 clang 构建或 valgrind 检查内存泄漏。
版本 0.29.0 (16.02.2017)#
Bug 修复#
- 仿真
- 修复了与对向行驶相关的紧急制动和碰撞。 #2652
- 修复了与对向行驶相关的崩溃问题。 #2664
- 修复了与对向行驶相关的不合理行为。 #2665
- 修复了由于数值原因车辆无法在车道末端停止的错误。 #2670
- 车辆和车辆类型的通用参数 在保存和加载仿真状态时现在被处理。 #2690
- 停止和停车的车辆现在在保存和加载仿真状态时被处理。 #1301
- 所有车辆参数和车辆停靠点现在在保存和加载仿真状态时被处理。 #2720
- 修复了使用子车道模型时换道过程中的极端车辆角度。 #2741
- 修复了定义没有车辆的流时的错误。 #2823
- 修复了防止交叉口阻塞的启发式方法导致车辆阻塞自身的问题。 #2834
- 修复了导致行人碰撞的错误。 #2840
- 如果流持续时间不是 period 参数的倍数,则流中的最后一辆车不再缺失。 #2864
- netconvert
- 修复了将高程数据导出到 OpenDRIVE 时的错误。 #2641
- 修复了导出 OpenDRIVE 网络时的格式一致性问题。 #2673, #2674, #2682
- 以 DlrNavteq 格式 导出的网络现在默认使用 --numerical-ids 写入。
- 修复了导入 OpenDrive 并使用边缘移除选项时的崩溃问题。 #2685
- 改进了车道减少的道路处的连接猜测。
- 修复了为环岛边缘指定
<split>元素时的崩溃问题。 #2737 - 选项 --geometry.max-segment-length 现在在导入 OSM 数据时有效。 #2779
- 改进了选项 osm.layer-elevation 的启发式方法,以减少不现实的上下几何形状。
- 修复了具有 3D 几何形状的网络中交叉口附近的陡坡。 #2782
- DlrNavteq 格式 输出的几何修复。 #2785, #2786
- netedit
- 修复了在新创建的交叉口执行撤销/重做连接更改时的崩溃问题。 #2662
- 修复了在大型网络中在移动模式和其他模式之间切换时的操作缓慢问题。
- 修复了在大型网络中移动交叉口时的操作缓慢问题。 #2699
- 通过匹配属性选择对象现在在 Windows 上有效。 #2675
- 修复了设置自定义几何端点时的崩溃问题。 #2693
- 修复了快捷键 #2694
- 修复了使用选项 --numerical-ids 时的崩溃问题。
- 修复了使用 --offset.disable-normalization false ** 时的可视化错误。
- 当向选定的车道添加人行道时,行人现在会自动被禁止在其他车道上行走。 #2708
- 修复了检查器模式中 SUMO 时间定义的不一致问题。 #2625
- MESO
- MESO-GUI
- 修复了车道之间间隙的无效着色。 #1428
- duarouter
- TraCI
- 修复了尝试在车辆出发前重新路由时的崩溃问题。
- 修复了在每个仿真步骤多次调用 vehicle.rerouteTravelTime() 时的低效率问题(边缘权重现在最多每步更新一次)。
- vehicle.moveToXY 映射行为的各种修复。
- 取消订阅现在在 python 客户端中有效。 #2704
- C++ 客户端现在在调用 close() 时正确关闭仿真
- C++ 客户端现在支持对 2D 位置的订阅
- 删除尚未出发的车辆现在有效。 #2803
- 刹车灯和转向灯 现在可以为当前仿真步骤设置。 #2804
- 车辆函数 move to XY 现在对具有自定义长度的边缘有效。 #2809
- 车辆函数 move to XY 现在实际使用 'edgeID' 和 'lane index' 参数来解决歧义。如果设置了 'origID' 参数,它会使用该参数,否则使用车道 ID。
- 函数 edge.adaptTravelTime(begin=... end=...) 现在按预期工作,时间以秒为单位。 #2808
- 工具
- netdiff.py 现在正确处理对
spreadType和其他可选属性的更改。 #2722 - sumolib.net 现在为 edge.getShape() 返回一致的值:所有车道的中心线。以前返回的是 netconvert 中使用的原始边缘形状。
- randomTrips.py 现在在同时给出选项 --via, --validate 时正确工作。 #2821
- netdiff.py 现在正确处理对
- 杂项
- 输出文件名中的特殊子字符串 TIME 现在在 Windows 上有效。
- 与二进制 XML 格式相关的各种修复 #2650, #2651
增强功能#
- 仿真
- 添加了停车区的定义以及在搜索空闲停车位时重新路由的功能。非常感谢 Mirco Sturari 的贡献。
- 添加了新的输出选项 --stop-output <FILE>,用于生成关于车辆停靠点的输出(用于公共交通、物流等)
- 使用
departPos="last"插入的车辆现在在没有前导车辆时在车道末端出发。这减少了出发位置的整体方差。 #2571 - --step-log-output 现在包括在 TraCI 函数中花费的时间统计。 #2698
- 当为车辆类型指定了 vClass 时,此信息用于从 HBEFA3 模型 分配默认的 emissionClass(以前所有车辆默认为类 "HBEFA2/P_7_7",即使是自行车)。客运车辆的默认类现在是 "HBEFA3/PC_G_EU4"。
- MultiEntryExitDetector 的输出文件现在包括 timeLoss 信息。 #2703
- LaneAreaDetector 的输出文件现在包括 timeLoss 信息。 #2703
- 添加了选项 --load-state.remove-vehicles ID1[,ID2]* 用于从加载的状态中移除车辆。 #2774
- 行人现在使用其类型的 speedDev 属性来改变其步行速度。 #2792
- tripinfo-output 现在包括属性 speedFactor,该属性在加载车辆时可能是随机选择的。
- 当使用低于 10ms 的步长进行仿真时,输出精度会自动提高。 #2816
- E1 检测器现在支持属性 vTypes 用于收集特定类型的测量。属性 splitByType 不再受支持。
- sumo-gui
- MESO
- MESO-GUI
- 当前路段的排队数量现在显示在边缘参数对话框中
- 当前路段的最新车头时距现在显示在边缘参数对话框中
- netconvert
- 行人轨道交叉口现在有效。 #2654
- 添加了新选项 --geometry.check-overlap <FLOAT> 用于查找具有重叠车道的边缘。这通常是错误输入的标志。附带的选项 --geometry.check-overlap.vertical-threshold <FLOAT> 过滤掉在垂直方向上至少相隔给定值(默认 4.0)的边缘。 #2648
- 选项 --keep-edges.explicit, --keep-edges.input-file 现在允许与其他移除选项结合使用白名单(如果明确列出或满足任何其他保留条件,则保留边缘)。 #2680
- 添加了新选项 --osm.oneway-spread-right <BOOL>,用于将单向边缘(例如高速公路)的默认 spreadType 设置为 right。
<split>元素现在支持新属性 idBefore, idAfter 以确定新创建边缘的 ID。 #2731- 添加了新选项 --reserved-ids <FILE>,用于加载一组应避免在输出网络中使用的节点和边缘 ID。
- 从 DlrNavteq 格式导入网络时,新选项 --construction-date YYYY-MM-DD 现在可用于解释在建道路的准备情况。
- 导出到 DlrNavteq 格式的网络现在包含附加信息:桥梁/隧道信息、form of way、邮政编码、prohibited_manoeuvres、connected_lanes
- 当道路网络中存在陡坡时现在会发出警告。可以使用新选项 geometry.max-grade <FLOAT> 配置警告阈值。
- 现在从 OpenDrive 网络导入 <laneOffset> 数据
- netedit
- od2trips
- 添加了新选项 --flow-output.probability <BOOL>,用于生成概率流而不是均匀间隔的流。感谢 Dominik Buse 提供的补丁。
- TraCI
- 向 API、python 客户端和 C++ 客户端添加了函数 person.getStage, person.getRemainingStages, person.getVehicle 和 person.getEdges。 #1595
- 向 API、python 客户端和 C++ 客户端添加了函数 person.add, person.appendWalkingStage, person.appendDrivingStage, person.appendWaitingStage, person.removeStage'', person.removeStages, person.setColor, person.setLength, person.setHeight, person.setWidth, person.setMinGap, person.setType 和 person.setSpeed。 #2688
- python 客户端现在支持 vehicle.getPosition3D。
- 向 python 客户端和 C++ 客户端添加了函数 vehicle.getLine 和 vehicle.setLine (用于公共交通) #2719
- 向 python 客户端和 C++ 客户端添加了函数 vehicle.getVia 和 vehicle.setVia(影响后续的重新路由调用) #2729
- 向 python 客户端添加了函数 polygon.getFilled 和 polygon.setFilled
- 工具
- route_departOffset.py 现在支持基于到达边缘修改出发时间的附加选项。 #2568
- sumolib.net 现在支持新函数 edge.getRawShape() 以检索 netconvert 使用的形状。 #2742
其他#
- 文档
- 添加了对象定位器菜单的描述
- 添加了可视化道路访问权限的文档
- 添加了 netedit 中过街处的文档
- 添加了 MESO 模型的文档
- 扩展了子车道模型的文档
- 添加了TraCI 性能信息
- TraCI 命令参考 现在包括指向相应 python 方法的链接。
- 修复了 TraCI 命令参考 中的不一致(主要是 python 客户端中可用但尚未在 wiki 中记录的方法)。
- 仿真
- 当尝试定义 vClass=pedestrian 的车辆时现在会发出警告,因为此 vClass 应仅用于人员。 #2830
- TraCI
- TraCI 版本现在为 14
- 二进制格式
- SBX 现在有版本号 2 #2651
