有没有办法记录运输车何时(以及多久)到达彼此一定距离内?

Is there a way to record when (and how often) Transporters get within a certain distance of each other?

我有一个使用卡车和叉车作为代理(运输车类型)的 AnyLogic 仿真模型,除其他外,我想每次识别其中一个与另一个在一定距离内(例如 5 米以内)。我将把这个计数记录为模型主 space 中的一个变量。我正在使用路径引导导航。 我看到了一种方法“agentsInRange”,它可能可以解决这个问题,但我不确定从哪里调用它。我假设我应该能够使用“到障碍物的最小距离”(TransporterFleet)和“碰撞检测超时”(TransporterControl)的 AL 功能? 提前致谢!

由于似乎没有 pre-built 函数,所以最简单的方法是:

  1. 向您的传输代理类型添加一个 int 变量 counter
  2. 向您的传输器类型添加一个事件 checkCollision 大约每秒触发一次
  3. 在事件中,遍历所有运输车并计算距离小于 X 米的数量(使用 distanceTo(otherTransporter) 并编写您自己的自定义代码)
  4. 将该数字添加到 counter

请注意,这在计算上可能非常低效,因为它相当 brute-force。但可能已经足够好了:)