人口运输机上的摄像头
Posted
技术标签:
【中文标题】人口运输机上的摄像头【英文标题】:Camera on transporter of population 【发布时间】:2022-01-06 05:22:24 【问题描述】:我想在代理型 AGV 的运输车上安装摄像头。由于有多个 AGV 运输车,我不能简单地将其放在代理上,因为它会出错。 所以我尝试根据AGV代理的busy参数,随机选择人群中的一个AGV。但是当我尝试这样做时,它会给出下一个错误:AGV 无法解析为变量。
AGV 在我的模型中是一种代理类型,我创建了一个运输车队,其代理类型为 AGV(我也不知道这是否是正确的方法)。
我尝试用以下方式对其进行编码:
我不太确定自己做错了什么,但我也找不到任何将摄像头放在 AGV 或容器或其他东西上的简单示例,只有非常复杂的示例或只有一个代理的示例(例如一架飞机)。
后来补充:
提前致谢, 阿隆
【问题讨论】:
【参考方案1】:只需将摄像头放入您的 AGV 代理类型即可。确保您的 TransporterFleet 正在向自定义的 AGV 代理群 (myPop
) 添加新的运输机,见下文:
在您的模型中,您现在可以使用 my3DWindow.setCamera(((AGV)randomFrom(myPop)).myCamera);
更改相机
【讨论】:
谢谢@Benjamin!我去看看! 我试过你的方法,也是在一个不太复杂的模型中。我已经创建了代理类型 AGV 的人口,并在代理类型中放置了一个摄像头,它现在可以正常工作,唯一的问题是在观看 window3d 时它现在只显示灰色可视化,没有显示 AGV 或其他东西,应该我更改相机设置?我在第一篇文章中添加了原始相机设置的图片,还添加了灰色相机屏幕。 根据 JB 的回复,如果您需要的话,您需要将摄像头放置在“肩上”看起来您的 AGV 动画。如果回复有帮助,请点赞,帮助其他有类似问题的人以后更容易找到它,请参阅***.com/help/why-vote 谢谢@benjamin 我知道,但由于我是*** 的新手,我不允许投票,我以后一定会这样做!【参考方案2】:在您的代码中,您需要为 randomWhere 函数提供人口
要将新生成的运输机添加到人口中,只需将其设置在运输机队中
跟踪任何特工的最简单选择是在特工内部安装摄像头
然后在您的代码中,您只需将 3DWindow 摄像头设置为所选 AGV 的摄像头(您将 true 添加到最后一个参数,以便 3D 窗口跟随摄像头位置)
还可以查看此模型中的代码,其中 AnyLogic 详细实现了跟随摄像头逻辑
https://cloud.anylogic.com/model/3291f1d6-d388-4d18-9060-29fad93d651d?mode=SETTINGS
同样在 AnyLogic 内的示例模型中
【讨论】:
谢谢!我去看看。 我也试过你的方法@Jaco-Ben,同样的问题存在,当我切换到相机时,我只看到一个灰色的可视化。 我的假设是您已经涵盖了这部分,因为它不在问题中 - 请参阅我的更新答案 我真的试过这个,但奇怪的是相机似乎在移动,但肯定不是跟随我的 AGV 而是其他东西,它显示了更远的可视化.. 是否可以上传您的简单例如,这样我就可以逐步检查我设置错误的设置,因为我的模型中的某些内容似乎不正确.. 已经感谢 @jaco-ben 看看这里cloud.anylogic.com/model/…,还可以查看我提供给另一个示例的链接,您可能需要根据需要倾斜相机位或旋转。以上是关于人口运输机上的摄像头的主要内容,如果未能解决你的问题,请参考以下文章