车辆速度受多种因素影响。这些因素如下所述。每个因素都会设定一个车辆速度的上限。在任何给定情况下,实际速度是所有影响因素中的最小值。
maxSpeed#
<vType>属性 maxSpeed
模拟车辆行驶的最大速度。这可以被视为引擎的最大速度。
desiredMaxSpeed#
<vType>属性 desiredMaxSpeed
模拟该类型车辆驾驶员期望使用的(平均)最大速度。单个车辆的实际期望最大速度是通过将其类型的 maxDesiredSpeed 与该车辆的个体 speedFactor 相乘计算得出的。
个体期望最大速度作为除 maxSpeed 和道路速度限制之外的另一个速度上限。
此属性的主要用途是模拟不受法定道路速度限制的车辆(即行人和自行车)的速度分布。相比之下,普通汽车通常受速度限制的约束,因此它们的速度分布是通过将其个体 speedFactor 与 speedLimit 相乘来建模的。因此,不同的vClasses 具有不同的 desiredMaxSpeed 默认值:
pedestrian: 1.39 (5km/h)bicycle: 5.56 (20km/h)- 所有其他类别: 2778 (10000km/h)
Caution
在 1.14.1 版本之前,此属性不存在,有时使用 maxSpeed 来模拟期望速度。这导致所有自行车的默认最大速度恒定。
边/车道速度和 speedFactor#
speed 属性通常在边中定义,但也可能在同一边的不同车道之间有所不同。它模拟法定速度限制。
当接近速度限制低于当前速度的边时,车辆将减速,以便在到达新边时保持在新的限制内。
每个车辆可以分配一个个体速度乘数 (speedFactor),这使其能够超过此限制。自 1.0.0 版本以来,车辆将具有随机的 speedFactor,偏差为 0.1,均值为 1.0,这意味着默认情况下车辆群体中会有不同的期望速度。
当车辆自由行驶(不受其他车辆约束)时,它们将加速直到达到速度:
min(maxSpeed, speedFactor * desiredMaxSpeed, speedFactor * speedLimit)
Note
可以通过设置选项 --default.speeddev 0 来实现旧版行为。
自 0.24.0 版本以来,还可以为每条边定义特定于 vClass 的速度限制。
跟驰模型#
车辆的跟驰模型 定义了其相对于前方车辆的速度。默认模型总是选择最大速度,该速度在能够及时停车以避免碰撞的意义上是安全的。
加速和减速#
所有模型都受其加速和减速约束。 默认情况下,它们的加速不会超过 accel 值。默认模型规划其操作以保持在 decel 值(每秒)以内,但其他模型可能会以不同方式解释此值。所有模型的制动强度永远不会超过 emergencyDecel 值(默认情况下与 decel 值相同,但可以独立设置)。
Note
这只是一个约定,可用的模型都遵守,但自定义模型可能会忽略。
Dawdling (晃动)#
一些跟驰模型支持 sigma 属性,该属性模拟驾驶员的不完美性。对于大于 0 的值,使用默认跟驰模型的驾驶员将比安全速度慢一个随机量(在 [0, accel] 之间)。
交叉口#
接近没有通行权的交叉口的车辆必须减速。如果交叉口被其他拥有通行权的车辆使用,则可能需要停车,直到找到安全的时间窗口。该时间窗口基于与跟驰模型相同的安全假设。对于默认的 Krauss 模型,这意味着每辆车即使在其前车急刹车至完全停止时也必须能够安全停车。
即使一辆车拥有通行权,由于不耐烦的驾驶员驶过交叉口,它也可能需要减速。交叉口的通行权规则由节点类型属性和交通灯定义。
如果一辆车尚未进入交叉口,在大多数情况下,它会减速以响应任何已经进入交叉口的其他车辆,除非在交叉口内有一个无障碍的等待位置(内部交叉口)可以移动。如果两辆冲突的车辆同时在交叉口内,则会根据它们进入的时间、速度、通行权规则和任何交通灯的状态建立优先顺序。此优先顺序决定了哪辆车必须减速,哪辆车可以不受阻碍地行驶。
默认情况下,从次要道路接近的车辆会减速,直到距离交叉口 4.5 米(即使附近没有优先车辆)。之后,如果交通中存在安全间隙,它可能会开始再次加速。此距离模拟了能见度,可以为每个具有 'visibility' 属性的单个连接进行配置。
接近 'zipper' 类型节点的车辆会根据其位置和速度自动确定车辆顺序。为了平稳地跟随其确定的前导车辆,它们可能需要减速。默认情况下,拉链合并行为在节点前方 100 米处开始,此距离也可以使用 'visibility' 属性进行配置。
通过交叉口的车辆也可能受到取决于转弯角度的降低的速度限制。
变道#
车辆可能会决定减速以执行变道操作。为了帮助其他车辆变道,它们也可能减速。如果车辆所在的车道没有连接到车辆路径的下一条边,车辆将减速并停止。
停止点#
当接近stop 定义的位置时,车辆将减速。
路径点#
当接近waypoint 定义的位置时,车辆可能会减速,并且在路径点区域内可能会降低其速度。
这仅发生在配置的路径点速度低于车辆原本使用的速度时。
如果路径点配置了 until 属性,车辆甚至可能会停止。
加速/减速约束#
车辆在每个时间步只能改变其一定的速度量。这由
<vType>-属性 accel 和 decel 定义。
departSpeed / arrivalSpeed#
车辆使用其定义的 departSpeed 进入网络。
当接近其路径终点时,它们将调整速度以匹配其定义的 arrivalSpeed。
可变限速标志#
可变限速标志 用于在定义的时间间隔内修改边的速度限制。
校准器#
校准器 用于在定义的时间间隔内调整边上的流量,但也可用于修改边的速度限制。
设备#
车辆设备 是一种定制车辆行为或创建额外输出的方式。以下设备会影响车辆速度:
- glosa : 在交通灯附近减速和加速以平滑速度
- driverstate : 基于对跟驰间隙和速度差的感知错误模型进行随机速度更改
TraCI#
可以使用TraCI 命令强制车辆调整其速度。当使用减速命令时,不应用对速度的随机影响。通过使用速度模式命令,可以有选择地禁用各种与安全相关的影响。
