摩擦力

引言#

感谢 Thomas Weber 等人,SUMO 自 1.14.0 版本起通过网络注释和摩擦力设备支持在街道上模拟摩擦力。这会迫使车辆在湿滑路面上行驶时降低其最大速度。

车辆装备#

要将摩擦力设备附加到车辆,可以使用 friction 作为设备名称应用标准设备装备程序

例如,可以在以下最小示例中装备单个车辆:

    <vehicle id="v0" route="route0" depart="0">
        <param key="has.friction.device" value="true"/>
    </vehicle>

网络修改#

摩擦力设备将与车道摩擦力属性配合使用,该属性默认为 1,可以直接在网络中修改,也可以使用 traci/libsumo 动态修改。

车辆行为#

配备摩擦力设备的车辆将通过向车道的摩擦系数添加随机噪声来确定感知摩擦力,然后通过应用以下因子计算车道的新最大速度:

factor = -0.3491 * fric * fric + 0.8922 * fric + 0.4493

参数#

以下参数影响摩擦力设备的运行。

  • device.friction.stdDev: 添加高斯噪声时的标准差(默认 1)
  • device.friction.offset: 应用于所有摩擦力值的常量偏移量(默认 0)

所有设备参数都可以通过 sumo 选项、vType 参数或车辆参数设置。

TraCI#

摩擦力修改#

车道支持 setFriction 和 getFriction 函数。

参数检索#

车辆允许使用参数 API 检索 frictionCoefficient(带噪声的感知摩擦力)、rawFriction(当前车道的摩擦力值)、stdDevoffset,例如 vehicle.getParameter(id, "device.friction.offset")