2018年发布版本的变更(版本 1.0.0、1.0.1 和 1.1.0)

版本 1.1.0 (18.12.2018)#

错误修复#

  • 仿真
    • 修复了车辆在变更到对向车道后停止移动的错误。Issue #4610
    • 修复了 parkingAreaReroute 导致目的地过近而无法停车的问题。Issue #4612
    • 修复了使用多个带有 device.bluelight 的车辆时的崩溃问题。Issue #4629
    • 修复了在多车道道路上使用 ACC 跟驰模型时的崩溃问题。(1.0.1 中的回归问题)
    • 修复了加载包含无效字符的信号灯方案时的崩溃问题。Issue #4673
    • 修复了 E3 检测器输出中无效的停车计数问题。Issue #4756
    • 修复了与在 E3 检测器入口边缘多次变道的车辆相关的崩溃问题。Issue #4803, Issue #4845
    • 修复了导致不必要强减速的错误。Issue #2310, Issue #4806, Issue #4809, Issue #4851, Issue #4855, Issue #4462, Issue #4900, Issue #4928, Issue #4930
    • 修复了长车辆在短 parkingArea 停车后无法重新进入交通流导致的死锁问题。Issue #4832
    • 修复了在边缘及其连续的内部边缘上定义停车点时出现的无效错误。Issue #4837
    • 修复了来自次要道路的车辆会过于激进地驶入交叉口的错误。Issue #4854
    • 修复了行人在走上人行横道时会忽略优先车辆的错误。Issue #4865
    • 修复了多车道边缘的 edgeData-output 中密度上限无效的问题。Issue #4904
    • 修复了列车在双向轨道边缘上无法倒车的错误。Issue #4921
  • sumo-gui
    • 关闭并重新打开边缘或车道不再导致无效的车道选择。Issue #4514
    • 由于无效的 <param> 值导致的错误现在会在消息窗口中显示。Issue #4753
    • 修复了在中观模式下将列车绘制为简单形状时车辆形状无效的问题。Issue #4773
  • netconvert
    • 修复了在密集交叉口集群使用高分辨率输入数据时导致无效道路几何形状的错误。Issue #4648
    • 修复了为对向超车构建网络时导致仿真中发生碰撞的错误。Issue #4628
    • 修复了左侧通行网络中的无效路权规则。Issue #4256
    • 形状文件导入中的重复边缘 ID 不再被静默忽略。现在会发出警告,并通过数字后缀使 ID 唯一。
    • 修复了从多个 geotif 文件加载高度数据时的崩溃问题。Issue #4786
    • 选项 --tls.guess 不再在几乎每个交叉口都构建交通信号灯。默认的车道速度总和阈值(选项 --tls.guess.threshold)已从 150km/h 更改为 250km/h。Issue #1688
    • 选项 --check-lane-foes.all--check-lane-foes.roundabout 在重新导入 .net.xml 文件时不再丢失。Issue #4813
    • 修复了在某些情况下,当入边边缘指向目标边缘的不同车道时,不必要的路权限制问题。Issue #4815
    • 修复了自定义步行区域形状有时被忽略的错误。Issue #4847
    • 修复了可能导致高程信息丢失的错误。Issue #4877, Issue #4878
    • 修复了内部交叉口后内部车道的权限问题。Issue #4912
  • netedit
    • 通过菜单加载联交通灯方案现在可以工作。Issue #4622
    • 菜单选项 Load Foreign 现在可用于直接导入 OSM 文件。Issue #4634
    • 修复了 路权 模式显示无效属性的错误。Issue #4637
    • TLS 定位器现在会列出交通灯,即使其 ID 与交叉口 ID 不同。Issue #4661
    • 修复了点击应被禁用的按钮时的崩溃问题。Issue #4662
    • 修复了通过 Shift+点击创建无让行连接的问题。Issue #4785 (1.0.1 中的回归问题)
    • 修复了在移动模式下修改高程的问题(1.0.0 中的回归问题)。Issue #4841
  • TraCI
    • 修复了当车辆在环形路线上行驶时,导致 traci.vehicle.getDrivingDistance 输出夸大的错误。Issue #4642
    • traci.vehicle.getLaneChangeState 在使用 moveToXY 控制车辆时现在返回正确的信息。Issue #4545
    • 修复了检索超过 255 个点的形状数据的问题(polygon.getShape, lane.getShape, junction.getShape)。Issue #4707
    • 修复了使用 C++ 客户端设置多边形形状时的错误。
    • Vehicle.isStopped 现在在 TraaS 中可以工作。Issue #4883
    • 修复了在仿真时间超过 24.8 天后添加车辆的问题(Python 客户端)。Issue #4920
    • 修复了即使通过 setLaneChangeMode 禁用了安全保护,unsafe 调用 vehicle.changeSublane 导致的横向碰撞仍被阻止的错误。Issue #4864

增强功能#

  • 仿真
    • 对向超车的急切程度现在可以通过新的 vType 属性 lcOpposite(范围 [0,inf[)进行配置。Issue #4608
    • <personinfo> 元素现在包含属性 type。Issue #4695
    • ToC 设备 现在提供生成输出的选项。Issue #4750
    • 为执行紧急制动的车辆添加了警告消息。可以通过新的选项 --emergencydecel.warning-threshold <FLOAT> 配置警告阈值。给定的阈值与事件的严重程度进行比较(使用 emergencyDecel 制动对应 1,使用 decel 制动对应 0)。默认阈值设置为 1。Issue #4792
    • 列车现在可以在双向轨道上的任何地方倒车
    • TAZ 现在可以用作 via 目的地,方法是使用 <TAZID>-sink 作为边缘 ID。Issue #4882
    • ParkingAreas 现在支持属性 onRoad。如果设置为 true,车辆将在道路车道上停车,从而降低道路容量。Issue #4895
  • sumo-gui
    • 添加了 <poly> 属性 lineWidth 以确定未填充多边形的绘制宽度。Issue #4715
    • TAZ 现在支持属性 color 用于渲染关联的形状。此颜色也可用于新的边缘着色模式 color by TAZ。Issue #3979
    • 现在可以根据自定义车道或边缘参数为街道着色。Issue #4276
    • 为边缘/车道、车辆和人员着色的数值(例如速度限制、加速度、waitingTime)现在可以选择性地显示。设置此选项时,该值也将打印在对象工具提示中。同样,为车辆着色的数值(例如加速度)也可以选择性地显示。Issue #4840
    • 现在可以通过选项 --breakpoints <TIME>,<TIME>... 设置断点。Issue #1957
    • 添加了可视化选项,仅对选定对象应用尺寸放大。Issue #3422
    • ID 和对象描述的文本背景颜色现在可以配置。Issue #4894
  • netedit
    • 新的 TAZ(交通分析区)编辑模式。Issue #3425
    • 重叠对象现在可以通过在同一位置连续点击来检查。Issue #2385
    • Shift+点击现在可用于检查、选择和删除车道。
    • 跨越多个连续车道的车道区域检测器(E2)现在可以在 netedit 中创建。Issue #2909
    • 现在可以通过单击从剪贴板中的地理坐标(例如来自在线地图网站)创建 POI。Issue #4496
    • 选择颜色现在可以自定义。Issue #4736
    • 现在可以根据自定义车道或边缘参数为街道着色。Issue #4276
  • netgenerate
    • 添加了选项 --perturb-x, --perturb-y, --perturb-z 以向所有节点坐标添加随机扰动。扰动可以指定为 mean 或有上限的正态分布 normc(a,b,c,d)。Issue #4776
  • netconvert
    • 添加了选项 --tls.layout <STRING> 用于在分组对向方向('opposites')和每个入边边缘有一个相位('incoming')的布局之间进行选择。Issue #4033
    • 添加了选项 --tls.guess.threshold <FLOAT> 以控制猜测交通灯的启发式方法。如果所有入边车道的速度总和超过阈值,则猜测交通灯。Issue #4681
    • 添加了新的节点属性 rightOfWay 以配置计算路权规则的算法(允许的值为 default, edgePriority)。还添加了新的选项 --default.right-of-way 为网络中的所有节点设置此值。Issue #4843
    • 现在支持使用选项 --opendrive.internal-shapes 从 OpenDRIVE 导入内部车道形状。Issue #4331
  • TraCI
    • 上下文订阅现在可以配备过滤器,在服务器端运行。Issue #4343
    • TraCI 现在提供方法 openGap() 用于临时更改车辆的期望车头时距。Issue #4172
    • 向 C++ 客户端添加了函数 person.getPosition3D, person.getAngle, person.getLanePosition, person.getColor, person.getLength

其他#

  • 仿真
    • 由于数据结构的改进和(冗余)碰撞检查的减少,仿真运行速度比上一版本快约 17%。Issue #4917
    • 车辆类别 private,vip,hov,custom1custom2 的默认 speedDeviation 从 0 更改为 0.1。车辆类别 taxi 的默认速度偏差从 0 更改为 0.05。
  • 文档
  • 其他
    • 网络版本现在为 1.1
    • TraCI 版本现在为 19
    • sumolib 现在使用包含成员 state, duration, minDur, maxDur, next 的对象来代替元组 (state, duration) 来表示交通灯相位。

版本 1.0.1 (18.09.2018)#

错误修复#

  • 仿真
    • 修复了并行路由上的死锁(1.0.0 中的回归问题)。Issue #4518
    • 默认紧急减速度不再依赖于 vClass,而是始终为 9
    • 修复了与对向超车相关的错误,这些错误导致了碰撞和其他无效行为。Issue #4550, Issue #3718, Issue #4564, Issue #4570, Issue #4588, Issue #4589, Issue #4591, Issue #4592
    • 修复了使用不同车道宽度的子车道模型时的崩溃问题。Issue #4547
    • 修复了使用跟驰模型 IDM 时变道后的硬制动问题。Issue #4517
    • 修复了使用跟驰模型 IDM 时静止车辆之间的间隙过大的问题。Issue #4527
    • 修复了使用 device.ssm 时的崩溃问题。Issue #4556
    • 修复了无效的合作变道尝试。Issue #4566
    • 修复了变道时的无效速度调整。Issue #4563
    • 公共交通路由现在正确使用定义为车辆子元素的停车点。Issue #4575
  • sumo-gui
    • 修复了为宽度为 0 的车道激活 '显示车道方向' 时的冻结问题。Issue #4533
  • netedit
    • 修复了为宽度为 0 的车道激活 '显示车道方向' 时的冻结问题。Issue #4533
    • 通过上下文菜单反转边缘或添加反向边缘时,现在会遵循自定义端点。Issue #4501
  • netconvert
    • 对向驾驶网络现在允许在稍微弯曲的直连连接上越过交叉口进行超车。Issue #4585
  • od2trips
    • 不再写入非正概率的流量。Issue #4600
  • MESO
    • 修复了公共交通仿真中的死锁问题。Issue #4560
  • TraCI
    • 修复了调用 TraaS 方法 Simulation.getDistanceRoad 时的错误。Issue #4603
    • 关闭并重新打开车道不再导致无效的车道选择。Issue #4514

增强功能#

  • 仿真
    • 通过选项 --collision.mingap-factor 配置的碰撞检测阈值现在可以使用属性 collisionMinGapFactor 为每个 vType 单独定制。Issue #4529
    • 提高了在大型网络中使用少量车辆时带有 device.rerouting 的仿真运行速度。Issue #4598
  • netedit
    • 在交叉口和车道选择的右键菜单中添加了选项 reset custom shape。Issue #4481, Issue #4490
    • 编辑交叉口形状时,现在可以通过 Shift+点击移除顶点。Issue #4494

其他#

  • 仿真
    • 由跟驰模型 IDM 控制的车辆的碰撞仅在车辆之间的距离小于 minGap 距离的一半时才会被记录。这样做是为了补偿该模型不保证 minGap 距离的事实(大多数情况下至少保持约 90% 的 minGap)。可以通过全局选项和 vType 属性自定义阈值。

版本 1.0.0 (04.09.2018)#

错误修复#

  • 仿真
    • 所有跟驰模型现在都将 vType 属性 emergencyDecel 视为减速度的绝对限制。Issue #3556
    • 修复了使用连续变道时的一些问题。Issue #3767, Issue #3769, Issue #3770, Issue #3771, Issue #4364
    • 修复了使用连续变道时的来回变道问题。Issue #4010
    • 修复了从 .sbx 格式的仿真状态加载瞬移车辆的问题。Issue #3787
    • 修复了与变道相关的 E2 检测器的无效车辆计数。Issue #3791
    • 修复了与重用车辆指针相关的 E3 检测器的无效车辆计数。Issue #3108, Issue #4079
    • 修复了导致在通过交叉口时无效减速的错误。Issue #3861
    • 修复了导致循环路线上的行人阻塞自身的错误。Issue #3888
    • 车辆 speedFactor 现在包含在保存的状态中。Issue #3881
    • 修复了当车道对于车辆来说太窄时的无效碰撞事件。Issue #3056
    • 修复了行人与车辆之间的碰撞。Issue #3964
    • 修复了选项 --random-depart-offset 会触发关于未排序路线文件的无效警告的错误。Issue #4076
    • 修复了使用选项 --collision.stoptime 时碰撞后的无效停车位置。Issue #4106
    • 修复了同一车道上静止并驶向不同边缘的车辆的路权规则。Issue #4071
    • 修复了来自同一车道的车辆在交叉口内部的崩溃问题。Issue #4100
    • 修复了触发车辆的无效 departDelay。Issue #4199
    • 修复了在内部交叉口后在内部边缘上调度停车点时的挂起问题。Issue #4254
    • ParkingAreaReroute 不再在目的地不在备选集合中时触发。Issue #4243
    • 修复了指定无效速度分布时的(近)无限循环。Issue #4282
    • 修复了使用子车道模型时在变化的车道宽度下的无效跟驰行为。Issue #4223
    • 修复了使用选项 --ignore-route-errors 模拟无效行人路线时的崩溃问题。Issue #4306
    • 选项 --carfollow.model 现在可以工作。
    • 跟驰模型 IDMIDMM 不再无法达到精确的停车位置。Issue #658
    • 在具有许多短边缘的网络中,战略性前瞻现在按预期工作。Issue #4349
    • 将交通灯切换到 "off" 定义现在会设置正确的路权规则。Issue #1484
    • 修复了黄灯时的无效减速。Issue #4450
  • sumo-gui
    • 绘制时现在会考虑铁路边缘的宽度(解释为轨距)。Issue #3748
    • 重新加载仿真时,窗口大小和位置现在保持不变。Issue #3641
    • 随机车辆和人员着色在 Windows 上现在更加随机。Issue #3740
    • 未插入的车辆(例如由于选项 --scale--max-depart-delay)不再在仿真参数对话框中计为 已到达。相反,它们被计入新的项目 已丢弃的车辆。Issue #3724
    • 修复了由于并发访问车辆数量而导致的崩溃。Issue #3804
    • 修复了在弯曲道路上绘制平滑角时的问题。Issue #3840
    • 修复了在左侧通行网络中使用子车道模型时的车辆位置问题。Issue #3923
    • 修复了使用 3D 视图时的崩溃和可视化问题。Issue #4037, Issue #4039
    • 修复了行人在乘坐车辆通过交叉口时看起来跳跃的故障。Issue #3673
    • 乘坐人员的跟踪现在以人员为中心,而不是其车辆的前端。Issue #4209
    • ChargingStation 再次可见(0.32.0 中的回归问题)。Issue #4183
    • 修复了左侧通行仿真中无效的车辆转向灯问题。Issue #4258
    • 在调用 traci.trafficlight.setRedYellowGreenState 后,交通灯现在仍然可访问(右键单击、工具提示)。Issue #4426
    • 修复了零长度几何形状车道上的无效车辆角度。
  • MESO
    • 修复了在运行选项 --meso-junction-control.limited--meso-junction-control false 时在环形交叉口处的死锁问题。Issue #4074
  • netedit
    • 通过 duplicate 菜单选项分割边缘、删除单个边缘和车道或添加车道不再重置连接和交通灯方案。Issue #3742
    • 通过选项 --gui-settings-file 加载的视图区域和缩放不再被忽略
    • 修复了大型交叉口上的连接不响应点击或未被绘制的错误。Issue #3726
    • 修复了通过 undo 移除检查对象时的崩溃问题。Issue #3781
    • 修复了修改连接或 tls 索引时导致重新计算信号方案的各种错误。Issue #3742, Issue #3832
    • 修复了在添加和删除连接时可能导致创建无效网络的错误。Issue #3824, Issue #3813
    • 自定义连接形状在 delete+undo 后不再丢失。Issue #3822
    • 移动几何形状不再移除 z 数据。Issue #3723
    • 分割边缘不再引入不必要的自定义端点。Issue #3895
    • 修复了 POI 的 lanePosLat 解释与 sumo-gui 相反的问题。Issue #4002
    • 修复了为同一交叉口删除多个信号方案之一时的崩溃问题。Issue #4132
    • 添加了对公交站点访问(BusStops Access)的支持。Issue #4018
    • 分割边缘时,人行横道不再变为无效。Issue #4295
  • netconvert
    • 选项 --ramp.guess 不再在交通灯控制的节点处构建匝道。Issue #3848
    • 修复了导致混合交通交叉口处无效连接状态的错误。Issue #2944 Issue #3851
    • 修复了导致无效连接方向的错误。Issue #3852 Issue #3853
    • 修复了左侧通行网络中的无效交叉口逻辑。Issue #3854
    • 如果没有专用的左转车道,生成的信号方案将不再包含受保护的左转相位。Issue #4087
    • 在将节点分类为 rail_crossing 类型和合并铁路交叉口节点集群方面进行了各种修复。
    • 选项 --dismiss-vclasses 在加载 .net.xml 文件时现在可以工作。Issue #4230
    • 修复了使用选项 --junction.corner-detail 时的无效交叉口形状问题。Issue #4292
    • 修复了可能导致碰撞和死锁的无效混合交通交叉口逻辑。Issue #4198, Issue #4252
  • duarouter
    • 修复了混合交通路由上的崩溃问题。Issue #3883
  • polyconvert
    • 修复了导入标记为 deleted 的 OSM 数据对象时的错误。Issue #3786
  • TraCI
    • 修复了用新的步行阶段替换当前步行阶段时行人会 "跳跃" 的错误。Issue #3744
    • 修复了尝试使用 C++ 客户端访问空订阅结果列表时的崩溃问题。
    • 在调用 traci.vehicle.setDecel 后,车辆的 emergencyDecel 现在至少与 decel 一样高。Issue #3755
    • 修复了 Python 客户端中 traci.polygon.setShape 的错误。Issue #3762
    • 添加具有空边缘列表的路线现在会导致错误。Issue #3845
    • moveToXY 控制下行驶到道路网络之外的车辆现在会正确更新其速度和刹车灯。Issue #3837
    • 函数 vehicle.getLaneChangeMode 在状态受 vehicle.setLaneChangeMode 影响时,现在为原始变道状态返回正确的值。Issue #3810
    • 通过 traci 更改的跟驰相关车辆类型参数(例如 accel)在保存仿真状态时现在会正确保存。Issue #3522
    • 函数 simulation.findRoutesimulation.findIntermodalRoute 在尝试从禁止边缘路由时不再使 sumo 崩溃。Issue #4121
    • 修复了调用 simulation.findIntermodalRoute 时的无效结果。Issue #4145, Issue #4147, Issue #4148
    • 多车道 E2 检测器现在返回正确的长度。Issue #4356
    • 修复了 vehicle.couldChangeLane 在变道后立即返回 True 的错误,即使请求的目标车道不存在。Issue #4381
    • 修复了将 vehicle.slowDown 与弹道更新结合使用时的碰撞问题。Issue #4418
    • 修复了 Python 客户端中 traci.lane.getLinks 的错误,该错误总是为 isOpen、hasFoe 和 hasPrio 返回 true。
    • traci.person.setColor 已修复(之前是空操作)。

增强功能#

  • 所有应用程序

    • 选项和 xml 输入中的所有时间值现在都可以用 h:m:sd:h:m:s 格式指定(其中天、小时和分钟的值都是正整数,秒也可以是正浮点数)。

      Note

      这不适用于 Python 工具。

    • 添加了选项 --human-readable-time(缩写 -H),使所有时间值以 h:m:s(或 d:h:m:s)格式写入。
  • 仿真
    • Tripinfo 输出现在包含属性 stopTime,用于记录有意停车的时间。Issue #3693
    • 人行横道现在可以为两个方向设置不同的信号状态。Issue #3820
    • FCD 输出现在可以有选择地为部分车辆开启,并且可以配置报告周期。Issue #1910
    • FCD 输出现在可以通过选项 --fcd-output.filter-edges.input-file <FILE> 限制为从文件加载的部分网络边缘。文件格式是 netedit 保存的边缘选择格式。
    • 预期出发时间(属性 depart)和预期车辆 ID(属性 intended)现在被添加到公共交通乘车的 vehroute 输出中。Issue #3948
    • 停车点名称现在作为 XML 注释添加到公共交通乘车的 vehroute 输出中。Issue #3952
    • 添加了变道模型参数 lcTurnAlignmentDistance,用于在使用子车道模型的仿真中控制动态对齐,参见变道模型,Issue #4025
    • 实现了 SSM 设备,允许输出安全相关量。Issue #2669, Issue #4119
    • '平滑' 紧急制动。Issue #4116
    • 添加了驾驶员状态设备的初始版本,用于模拟不完美的驾驶。
    • 添加了控制转换模型的初始版本。
    • 选项 --ignore-route-errors 现在也允许插入具有不安全车头时距的车辆。Issue #4118
    • 添加了基于 [Milanés et al. "Cooperative Adaptive Cruise Control in Real Traffic Situations." IEEE Trans. Intelligent Transportation Systems 15.1 (2014): 296-305.] 的新跟驰模型 "ACC"。
    • 统计输出 现在还包括在仿真结束时无法插入的车辆的总延误,前提是设置了选项 --duration-log.statistics--tripinfo-output.write-unfinished。Issue #4174
    • 默认变道模型 LC2013 现在支持参数 lcAssertive。Issue #4194
    • Vehroute 输出 现在包含重新路由的原因。Issue #4204
    • <parkingAreaReroute 添加了可选属性 visible(默认 false)。这控制在到达 parkingArea 边缘之前是否已知占用情况,可用于在停车重新路由选择中模拟不完全知识。Issue #4244
    • 重新路由器现在支持属性 vTypes,该属性将其效果限制为来自给定车辆类型 ID 列表的车辆。Issue #4031
    • 车辆为紧急车辆形成走廊。Issue #1967
    • 添加了选项 --default.speeddev <FLOAT> 以控制所有未定义它的车辆类型的默认速度偏差。Issue #4421
    • 添加了车道/边缘属性 stopOffset,用于定义交通灯前特定 vClass 的停车位置。Issue #3754
  • sumo-gui
    • 添加了动态缩放交通需求的控制。Issue #1951
    • 添加了禁用在交叉口绘制自行车道标记的选项。
    • 所有与 laneChangeModel 相关的 vType 参数和所有与交叉口模型相关的 vType 参数现在都显示在 vType 参数对话框中。
    • 现在可以通过新的 gui-settings 属性 angle(在 <viewport> 中)或通过视口对话框旋转仿真视图。Issue #3841
    • 当以放大尺寸绘制交叉口形状并设置选项 show lane-to-lane connections 时,连接线现在会在交通灯交叉口处按比例放大。Issue #3796
    • 现在可以通过 仿真 菜单保存仿真状态。Issue #2513
    • 现在可以通过双击中止对象跟踪。
    • 现在可以通过右键菜单检查人员计划。Issue #3886
    • 对象名称渲染大小现在可以在恒定像素大小(缩小时全部可见)和恒定网络大小(缩小时不可见)之间切换。Issue #3931
    • Delay 值现在与仿真步长无关,并且始终表示每模拟秒的延迟。Issue #4176
    • 为不同类型的紧急车辆(救护车、警察和消防车)添加了 GUI 形状。Issue #1967
  • MESO
    • 现在支持人员和公共交通的仿真。Issue #3816
  • netedit

    • 添加了 禁止 模式,用于检查交叉口的路权(热键 'w')。感谢 Mirko Barthauer 的贡献。Issue #3850
    • 添加了虚拟属性以识别双向铁路边缘对。Issue #3720
    • 添加了修改双向铁路边缘对可视化效果的选项(spread superposed)。Issue #3720
    • 交通灯模式中添加了按钮 add states 以补充 cleanup states 的功能。Issue #3846
    • netedit 现在将具有不兼容权限的连接目标标记为 冲突,并且仅在 Ctrl + click 时创建它们。Issue #3823
    • 当通过 gui 设置启用时,人行横道的交通灯索引现在会被绘制。Issue #3814
    • 现在可以在 netedit 中创建 ParkingAreas 和 ParkingSpaces。Issue #3104
    • 向交通灯添加新相位时,新相位现在将根据所选的先前相位具有合理的后继状态(而不是副本)。Issue #4041
    • 在交叉口上下文菜单中添加了 'split' 功能。这可用于分解合并的交叉口。Issue #4046
    • 当合并交通灯(通过编辑交叉口属性 'tl')时,如果使用信号组(具有相同 linkIndex 值的多个连接),目标交通灯的连接索引现在会被保留。Issue #4094

      Caution

      用户必须检查编辑后的交叉口的信号状态

    • 矩形选择的宽度、高度和对角线大小现在显示在状态栏中。这可用于测量距离。
    • 现在可以加载、保存和编辑通用参数。Issue #3485
    • 重新组织了选项对话框(F10)中的选项。Issue #4420
    • 选项帮助现在显示在选项对话框的状态栏中。Issue #2900
    • 自定义边缘几何端点现在可以在移动模式中操作。Issue #3716
  • netconvert
    • 地理参考网络(例如来自 OSM)现在可以通过将它们一起加载来合并(-s net1.net.xml,net2.net.xml)。Issue #4085
    • 元素 <crossing> 现在支持属性 linkIndex2 以指定反向的自定义信号索引。Issue #3820
    • 定义双连接时,路权规则现在会考虑道路拓扑以区分上匝道和下匝道情况。Issue #3834
    • 现在支持导入格式版本高达 10 的 VISUM 网络。Issue #3898
    • 改进了选项 --junctions.join 的启发式方法。Issue #876
    • 改进了从 OSM 导入的混合交通交叉口的计算。Issue #4003
    • 改进了交叉口形状的计算。
    • 添加了选项 --proj.rotate <FLOAT> 用于旋转网络。
    • 添加了选项 --prefix <STRING>,可用于向写入的交叉口和边缘 ID 添加前缀。
    • 添加了选项 --tls.scramble.time --tls.crossing-clearance.time --tls.crossing-min.time 以控制人行横道相位的时序。Issue #4078
    • 添加了选项 --tls.minor-left.max-speed <FLOAT> 以确保不会为高速道路构建通过迎面交通的左转。Issue #4091
    • 现在从 OSM 导入人行道信息,适用于具有正 sidewalkWidth 属性的道路类型(例如,通过使用 typemap osmNetconvertPedestrians.typ.xml)。Issue #4096
    • 添加了选项 --osm.stop-output.footway-access-factor <FLOAT> 用于增加停车访问边缘的长度,使其超过直线距离。Issue #4143
    • 添加了选项 --junctions.limit-turn-speed <FLOAT>,该选项根据转弯半径设置通过交叉口时的速度上限。为了考虑不完美的道路几何形状,可以使用选项 --junctions.limit-turn-speed.min-angle 来避免对小转弯的速度限制。当道路速度与连接速度之间的差异超过可配置阈值(--junctions.limit-turn-speed.warn.straight, --junctions.limit-turn-speed.warn.turn)时,会发出警告。这些警告通常表明城市道路上的道路速度过高以及几何形状错误。Issue #1141
    • 现在从 OpenDRIVE 输入导入地理参考信息。Issue #4414
  • netgenerate
    • 简化了节点和边缘名称
      • 字母数字交叉口命名方案现在支持任意网格大小(使用像 XY23 这样的 ID)
      • 字母数字交叉口命名方案也扩展到蜘蛛网网络
      • 字母数字交叉口命名方案现在默认激活(启用旧方案的选项已从 grid.alphanumerical-ids 重命名为 --alphanumeric-ids)。
      • 使用字母数字交叉口 ID 时,边缘名称中省略了中间字符串 to,因为边缘 ID 本身已经允许明确确定其交叉口,无需它。
    • 添加了选项 --rand.random-lanenumber 以在随机网络中随机化车道数量,范围在 1 和 default.lanenumber 之间。
    • 添加了选项 --rand.random-priority 以在随机网络中随机化边缘优先级,范围在 1 和 default.priority 之间。
    • 添加了选项 --rand.grid 以将生成的交叉口放置在规则网格上。
    • 添加了选项 --prefix <STRING>,可用于向生成的交叉口和边缘 ID 添加前缀。
    • 现在可以通过使用选项(如 -g --grid.x-number 3 --grid.y-number 1 --grid.attach-length 100)生成走廊网络。
    • 添加了选项 --turn-lanes <INT>--turn-lanes.length <FLOAT> 以向生成的网络添加左转车道。Issue #3892
  • duarouter
    • 预期出发时间(属性 depart)和预期车辆 ID(属性 intended)现在被添加到公共交通乘车的路线输出中。Issue #3948
    • 停车点名称现在作为 XML 注释添加到公共交通乘车的路线输出中。Issue #3952
  • polyconvert
    • 选项 --osm.use-name 现在也适用于 POI。Issue #4246
  • TraCI
    • Libsumo 现在可以代替 TraCI 客户端库使用,通过直接链接到 sumo 来提高 TraCI 仿真的执行速度,适用于所有 SWIG 支持的语言。libsumo 的图形仿真尚不支持。
    • 函数 vehicle.add 现在支持使用空字符串 ("") 作为路线 ID,以在任意有效的边缘上插入车辆。这使得使用 moveToXY 远程控制车辆而无需定义初始路线变得更加容易。Issue #3722
    • 添加了函数 simulation.getCollidingVehiclesNumbersimulation.getCollidingVehiclesIDList 以跟踪碰撞。Issue #3099
    • 添加了函数 simulation.getEmergencyStoppingVehiclesNumbersimulation.getEmergencyStoppingVehiclesIDList 以跟踪紧急停车。Issue #4312
    • 添加了函数 edge.getLaneNumber 以检索边缘的车道数量。Issue #3630
    • 添加了函数 vehicle.getAcceleration 以检索上一步的加速度。Issue #4112
    • TraCI 现在允许更新车辆的最佳车道(vehicle.updateBestLanes)。Issue #4146
    • 添加了函数 gui.hasView 以确定是否存在图形功能。Issue #4014
    • 添加了函数 lane.getFoes确定入边车道之间的路权和冲突关系
    • 函数 simulation.getMinExpectedNumber() 现在包括仍在仿真中活动的人员。Issue #3707
    • 向 Python 客户端添加了函数 traci.getLabel,以帮助处理多个连接。
    • 添加具有断开的 2 边缘路线的车辆时,它将被视为 <trip> 并自动重新路由。Issue #4307
    • 添加了函数 vehicle.getRoutingModevehicle.setRoutingMode。当将路由模式设置为 traci.constants.ROUTING_MODE_AGGREGATED 时,使用平滑的行程时间代替当前行程时间。Issue #3383
  • 工具
    • 添加了脚本 plot_trajectories.py,允许绘制给定 --fcd-output 文件中所有轨迹的各种时间、距离、速度和加速度组合。
    • 添加了脚本 averageRuns.py,用于使用不同的随机种子多次运行场景并计算行程统计。
    • webWizard 现在可以正确构建左侧通行区域。Issue #3928
    • generateTLSE3Detectors.py 添加了附加选项,使其适用于生成各种类型的交叉口相关输出。Issue #1622
    • createVehTypeDistribution.py 现在也允许生成车辆参数分布。Issue #4171
    • 添加了函数 simpla.createGap()。Issue #4172
    • sumolib 现在支持 lane.getWidth()。Issue #3842

其他#

  • 其他
    • 空格字符 ' ' 在 xml 选项值中不再允许用于分隔文件名。必须使用逗号 ','。现在支持路径中包含空格的文件。Issue #3817
  • 仿真
    • <vTypeProbe> 现已弃用,改用 FCD 输出过滤。
    • <vaporizer> 现已弃用,改用校准器。
    • 人员步行的默认到达位置现在是目标边缘的中间。这减少了因向前或向后方向到达而产生的不对称性。Issue #3843
    • tripinfo 输出属性 waitSteps(计算车辆速度低于 0.1m/s 阈值的仿真步数)已被属性 waitingTime(以秒为单位测量相同的时间)取代。这给出了与 --step-length 仿真参数无关的结果。Issue #3749
    • 选项 --device.rerouting.pre-period 的默认值从 1 更改为 60 以加速仿真。Issue #3865
    • 默认速度偏差已更改为 0.1。当定义具有属性 vClass 的新 <vType> 时,这也会影响默认速度偏差:
      • truck, trailer, coach, delivery: 0.05
      • tram, rail, rail_electric, rail_urban, emergency: 0
      • 其他所有:0.1

Note

可以通过设置选项 --default.speeddev 0 来恢复以前的行为。

  • sumo-gui
    • 人员的默认颜色现在是 '蓝色',以便更好地与车辆区分开。
  • netconvert
    • 车道之间不再有 0.1m 的偏移量。这意味着边缘的总视觉宽度现在是所有车道宽度的总和。这也修复了可视化和仿真之间的不一致,因为车辆总是忽略此偏移。道路标记现在绘制在车道顶部而不是它们之间。这会导致旧网络中出现小的视觉间隙(可以通过调用 netconvert -s old.net.xml -o new.net.xml 修复)。Issue #3972
    • 选项 --default.junctions.radius 的默认值从 1.5 增加到 4,以提高转弯角度的真实感。
    • 选项 --default.junctions.corner-detail 的默认值从 0 增加到 5,以提高大型交叉口的视觉真实感。
    • 选项 --ramps.guess 现在默认启用。
    • 车辆在交叉口转弯时的速度现在通过新的默认选项 --limit-turn-speed 5.5 进行限制。要获得旧行为,可以将此值设置为 -1。
  • TraCI
    • TraCI 版本现在为 18
    • 嵌入式 Python 现已弃用,改用 Libsumo
    • TraCI 现在一致地将时间表示为双精度浮点数(秒)。这会影响所有客户端实现。为方便起见,下面列出了受影响的 Python 调用。仅当方法以 粗体 打印时才需要修改脚本:
      • traci.simulationStep
      • traci.edge.getTravelTime
      • traci.edge.getEffort
      • traci.edge.adaptTravelTime
      • traci.edge.setEffort
      • traci.person.add
      • traci.vehicle.getAdaptedTravelTime
      • traci.vehicle.getEffort
      • traci.vehicle.adaptTravelTime
      • traci.vehicle.setEffort
      • traci.vehicle.slowDown
      • traci.vehicle.changeLane
      • traci.vehicle.setStop
      • traci.simulation.getCurrentTime 仍以 ms 作为 int 返回,但已弃用,改用 traci.simulation.getTime
      • traci.simulation.findRoute
      • traci.simulation.findIntermodalRoute
      • traci.simulation.getDeltaT
      • traci.trafficlight.getNextSwitch
      • traci.trafficlight.getPhaseDuration
      • traci.trafficlight.getCompleteRedYellowGreenDefinition
      • traci.trafficlight.setPhaseDuration
      • traci.trafficlight.setCompleteRedYellowGreenDefinition
    • TraCI 边界类型已被包含 2 个位置的位置列表取代。
    • TraCI 浮点类型已被移除。
    • 所有返回单个字节的协议函数现在都返回整数(lane.getLinkNumber, polygon.getFilled, vehicle.isRouteValid, vehicle.getStopState)。
    • 在 C++ 客户端中,函数 vehicle.getEdges 已重命名为 getRoute,以与其他客户端保持一致。
    • TraCI 服务器中的错误检查顺序已更改,因此未知对象错误会显示在未知变量/命令错误之前。
    • Python 客户端
      • 函数 vehicle.add 已被函数 addFull 取代。旧的 "add" 仍然存在,可以通过猴子补丁模块重新激活(traci.vehicle.add=traci.vehicle.addLegacy)。
      • 以前在单个域中可用的常量已移至 traci.constants。
      • 现在为所有 getIDList 和几个其他调用返回元组而不是列表。
      • 函数 getSubscriptionResults 现在需要订阅对象的 ID 作为参数。要以映射形式检索所有结果,可以使用函数 getAllSubscriptionResults