Sumo 模型细节_VehicleSpeed

在仿真中,对车速的影响是多方面的。每一种影响都为车速设定了上限。在任何给定情况下的实际速度是所有影响的最小速度。

maxSpeed

<vType>-attribute maxSpeed 可以被认为是发动机的最大速度或驾驶员在任何情况下所期望的最大速度

edge/lane speed and speedFactor

速度属性通常为 edge 定义,但同一edge 的 lane 也可能不同。它模拟了道路限速。
当以低于当前限速的速度接近边缘时,车辆会减速,以便在到达新的边缘时保持在新的限速范围内。
每辆车都可以被分配一个单独的速度倍增器(速度系数),然后让它超过这个限制。车辆有一个随机速度因子,其偏差为0.1,平均值为1.0,这意味着在默认情况下,车辆群体中将有不同的期望速度。
当车辆自由行驶时(不受其他车辆的限制),它们会加速直到达到速度

min(maxSpeed, speedFactor * speedLimit)

Car Following Model

汽车跟随模型定义了它的速度与前面的车辆的关系。默认模式总是选择最大速度,这是安全的意义上能够及时停止,以避免碰撞。

Acceleration and Deceleration

所有模型在加速和减速时都受到约束。默认情况下,它们的加速不会比加速值更强。默认模型会计划它的操作,以便保持在 decel值(每秒)内,但其他模型可能会以不同的方式解释这个值。所有的型号都不会比 emergencyDecel 的值刹车更困难(该值默认为与decel相同的值,但可以独立设置)。

Dawdling

大多数汽车跟随模型都支持 sigma 属性,它可以反映驾驶员的缺陷。对于高于 0 的值,使用默认汽车跟随模型的司机将以随机数量(在[0,accel]之间)低于安全速度行驶。

Intersections

没有通行权的车辆接近十字路口时必须减速。如果该交叉口被其他有先行权的车辆使用,可能需要停车直到找到安全时间窗。这个时间窗是基于与汽车跟随模型相同的安全假设。对于默认的 Krauss 模型来说,这意味着即使前车很难完全刹车,每辆车也必须能够安全停车。
即使车辆有优先通行权,它也可能需要减速。交叉路口的通行权规则由节点类型-属性和交通灯定义。
交叉口的可见性可以通过相应连接的可见性属性来控制。在默认情况下,从一条次要道路接近的车辆会减速,直到距离十字路口4.5米(即使附近没有优先行驶的车辆)。之后,如果在交通中出现安全间隔,它可能会再次开始加速。

Lane Changing

车辆可能会决定减速以执行变道机动。他们也可能会减速以帮助其他车辆换道。如果车辆所在的车道与车辆路线上的下一个边缘没有连接,车辆将减速并停止。

Stops

车辆将在接近“stop-definition”的位置时减速。

Acceleration / Deceleration constraints

车辆每次只能改变一定的速度。这是由 -attributes acceldecel 定义的

departSpeed / arrivalSpeed

车辆通过设定的离车速度进入网络。当接近它们路线的终点时,它们会调整自己的速度以匹配它们定义的到达速度

Variable Speed Signs

变速标志用于在规定的时间间隔内修改边缘的速度限制。

Calibrators

校准器是用来适应流在一个确定的时间间隔的边缘,但也可以用来修改速度限制的边缘。

TraCI

车辆可以使用 TraCI 命令强制调整速度。当使用减速命令时,不会对速度施加随机影响。通过使用 speed mode 命令,可以选择性地禁用各种与安全相关的影响。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
跟驰模型是指车辆在道路上的行驶跟随模型SUMO是一种用于仿真交通流的软件,MATLAB也可以用于仿真跟驰模型。 下面是一个MATLAB仿真跟驰模型的示例代码: ```matlab % 定义模型参数 v0 = 30; % 自由流速度 s0 = 2; % 最小安全距离 T = 1; % 安全时间间隔 a = 1.5; % 最大加速度 b = 1.5; % 最大减速度 % 定义初始状态 v(1) = 20; % 初始速度 s(1) = 10; % 初始距离 t(1) = 0; % 初始时间 % 定义目标距离 L = 100; % 进行模拟 while s(end) < L % 计算速度和距离变化 dv = a * (1 - (v(end)/v0)^4 - ((s0+T*v(end))/(s(end)-s(1)))^2); v(end+1) = v(end) + dv; ds = v(end) * T; s(end+1) = s(end) + ds; t(end+1) = t(end) + T; end % 绘制速度和距离随时间变化的图像 subplot(2,1,1) plot(t, v) xlabel('Time (s)') ylabel('Speed (m/s)') title('Speed vs. Time') subplot(2,1,2) plot(t, s) xlabel('Time (s)') ylabel('Distance (m)') title('Distance vs. Time') ``` 上述代码中,首先定义了跟驰模型的参数,包括自由流速度、最小安全距离、安全时间间隔、最大加速度和最大减速度。然后定义了初始状态,包括初始速度、初始距离和初始时间。接着定义了目标距离为100米,并进行模拟,计算速度和距离的变化,并将结果绘制成图像,分别显示速度随时间变化和距离随时间变化的趋势。 如果想要进行SUMO仿真,则需要先安装SUMO软件,并使用SUMO工具箱进行模拟。SUMO工具箱提供了各种API和工具,可以方便地进行交通流仿真。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LouHerGetUp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值