【问题标题】:How to change speed of vehicle based on the road it is on如何根据车辆所在的道路改变车辆的速度
【发布时间】:2018-10-21 21:06:55
【问题描述】:

我在道路交通库上构建了一个模型,并且我在高速公路上有汽车可以驶出出口。由于实际高速公路上的速度是 70 mph,而出口道路上的速度是 40 mph,我想将出口上的汽车的速度从 70 mph 降低到 40 mph。

设置

我有一个基于自定义代理 Carcars 群体。

carSourceinitialSpeedpreferredSpeed 为 70mph。 carSource 与二进制 selectOutput 配对,有 40% 的概率选择出口,然后是两个 moveTo 节点,一个用于出口,另一个用于直行高速公路。

我假设我们可以通过将onEnter 操作指定为car.setPreferredSpeed(18); 来更改moveTo 节点(到出口)中汽车代理的速度(因为40mph 是每秒18 米)。但是,这似乎不会影响出口处汽车的速度(当我在模拟中观察它时)。此外,在模型中花费的时间也不会改变。

关于如何改变moveTo出口道路的代理速度有什么建议吗?

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    您已正确开发模型。但是使用道路交通库,您应该考虑以下几点:

    • 在道路交通库中,汽车的速度逐渐变化,并根据汽车的当前速度、首选速度、最大和最小加速度以及道路配置和交通状况。因此,当您将汽车的首选速度设置为 40 MPH 时,根据其减速率(默认为 4.2 mps2)和当前速度(可能为 70 MPH),需要一些时间来降低速度,而且速度不会很快发生。为了感知汽车的减速,您可以执行以下操作之一: a) 增加 carSorce 中出现汽车的道路长度,以便汽车在到达出口前有更多时间减速。 b) 增加汽车的减速度。

    • 您可以使用setPreferredSpeed(40, SpeedUnits.MPH),而无需将速度单位更改为 MPS

    P.S.:为了确保你的建模没有问题,作为测试,在moveToonEnter部分将汽车的首选速度设置为0,并检查它们是否在一段时间后停止。

    【讨论】:

      猜你喜欢
      • 2021-11-05
      • 1970-01-01
      • 2023-02-16
      • 1970-01-01
      • 1970-01-01
      • 2012-11-26
      • 2021-01-22
      • 1970-01-01
      • 2017-05-20
      相关资源
      最近更新 更多