【发布时间】:2021-09-05 05:56:53
【问题描述】:
我正在使用流程建模库创建一些路径。等待“开”信号亮时,货车应依次停车。 目前,卡车正在彼此“内部”等待。
如何让卡车不仅识别stopnode,还识别到达他前面的卡车的hitbox?
提前致谢
克里斯
【问题讨论】:
标签: anylogic
我正在使用流程建模库创建一些路径。等待“开”信号亮时,货车应依次停车。 目前,卡车正在彼此“内部”等待。
如何让卡车不仅识别stopnode,还识别到达他前面的卡车的hitbox?
提前致谢
克里斯
【问题讨论】:
标签: anylogic
简单的解决方案是将您的卡车代理从材料处理库中变成运输者。它们具有内置的防撞功能。
但是,这会降低大型模型的速度,因此您可能只想在需要避免碰撞时才转换它们,然后再次转换回“简单”卡车代理。
否则,您需要自己构建额外的停止节点并手动编码空间排队。可能但不是直截了当
【讨论】:
卡车在等待“开”信号时应连续停车。 目前,卡车正在彼此“内部”等待。 [...] 如何告诉卡车不仅识别停止节点,而且识别停止节点 到达他面前的卡车的碰撞箱?
AnyLogic 允许代理在队列块中沿路径(从动画角度)排队。所以不要让它们移动到停止节点(我假设你正在明确地这样做):让它们(从进程的角度来看)进入一个队列,该队列通过从停止节点'向后的路径进行动画处理'。 (这是队列块的“代理位置”设置。)如何将它们保持在队列中并在需要时释放它们取决于模型的性质;例如,
在队列后面使用一个 Hold 块(如果一次释放它们是有意义的)
使用“悬空”队列块,您可以通过编程方式将代理拉出(例如,通过其removeFirst 函数),然后通过 Enter 块将它们添加到流程中的其他位置。
使用一个 Seize 块(它有一个内置队列,您可以设置其位置),所占用的资源代表您需要继续的“令牌”。
NB:从流程的角度来看,它们位于一个队列中,而队列恰好被动画化为沿路径排队。这与模拟排队的“空间现实”并不完全相同:请参阅this question。
【讨论】: