人口运输车上的摄像头

Camera on transporter of population

我想在代理型AGV的运输车上装一个摄像头。由于有多个 AGV 运输车,我不能简单地将它放在代理上,因为它会出错。 所以我尝试随机 select 人口的一个 AGV,根据 AGV agent 的 busy 参数。但是当我尝试这样做时,它给出了下一个错误:AGV 无法解析为变量。

AGV 是我模型中的一种代理类型,我创建了一个运输车队,将 AGV 作为代理类型(我也不知道这是否是正确的方法)。

我试过按以下方式编写代码:

我不太确定我做错了什么,但我也找不到任何将相机放在 AGV 或容器或其他东西上的简单示例,只有非常复杂的示例或只有一个代理的示例(例如飞机)。

后来补充:

提前致谢, 亚伦

只需将相机放入您的 AGV 代理类型即可。确保您的 TransporterFleet 正在将新的运输车添加到自定义的 AGV 代理群体 (myPop) 中,请参见下文:

在您的模型中,您现在可以使用 my3DWindow.setCamera(((AGV)randomFrom(myPop)).myCamera);

更改相机

在您的代码中,您需要为 randomWhere 函数提供人口

要将新生成的运输机添加到人口中,只需将其设置在运输机车队中即可

跟踪任何特工最简单的选择是在特工内部安装摄像头

然后在您的代码中,您只需将 3DWindow 相机设置为所选 AGV 的相机(您将 true 添加到最后一个参数,以便 3D window 跟随相机位置)

另请查看此模型中的代码,其中 AnyLogic 详细实现了跟随相机逻辑

https://cloud.anylogic.com/model/3291f1d6-d388-4d18-9060-29fad93d651d?mode=SETTINGS

也在 AnyLogic 的示例模型中