【问题标题】:How to specify car destination behind some event (e.g Button Press) in AnyLogic如何在 AnyLogic 中指定某些事件(例如按钮按下)背后的汽车目的地
【发布时间】:2019-09-20 05:55:38
【问题描述】:

我正在尝试通过按下按钮开始紧急疏散,将所有汽车引导至道路网络中最近的出口。但是 AnyLogic 给出的错误是

离散事件执行期间的异常 root.carMoveToSEECS_P1: 未指定目的地道路

AnyLogic道路交通库的carMoveTo块中动态改变目的地道路的方法是什么。

我尝试设置 CarMoveTo 的 moveto 和 destination 变量。但这似乎不起作用。

carMoveToSEECS_P1.set_movesTo(carMoveToGate1.movesTo);
carMoveToSEECS_P1.set_destination(carMoveToGate1.destination);

【问题讨论】:

    标签: java simulation anylogic


    【解决方案1】:

    通过添加一个决定块并循环返回,将您的“carMoveTo”分成几个步骤。您可以有一个用于紧急疏散的全局变量。 carMoveTo 将在出口前将汽车移动到单独的停止线。如果紧急布尔值为真,那么您将通过 carMoveTo 块将汽车的目的地设置为下一个出口。否则,汽车将沿其路线前往下一个停靠点。

    关键是要建立一个变量结构,它知道汽车路线上的所有停车线。如果道路网络很复杂,您可以运行一个预处理器,让每辆车往返于每个源目的地,并建立一个代表中间评估点的停车线列表。

    【讨论】:

    • 我们不能只编写代码来更改疏散按钮后面的 carMoveTo 块的目的地,然后像最初的那样将其路由到新目的地吗?
    • 如果它不在 API 文档中,我会假设不是。有大量的幕后逻辑来管理路由和避免冲突。我想在飞行中改变目的地可能会导致一些问题。您可以随时寻求支持。
    猜你喜欢
    • 2023-04-05
    • 2020-04-24
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-13
    • 2012-06-04
    • 2019-01-15
    相关资源
    最近更新 更多