【anylogic】官方地铁入口教程学习记录(行人库)

官方教程

https://anylogic.help/tutorials

官方学习资源(含下载安装)

AnyLogic仿真软件学习资源集锦

具体操作教程

找anylogic仿真的论文方式

IEEE上搜索anylogic

官网整理:https://www.anylogic.cn/resources/articles/

常用操作对应按键

  • 移动仿真的图:按住右键
  • 连接组件:双击后连接
  • 路径停止绘制:双击,点击同时按住ctrl可以画弯的路径
  • 仿真图显示每个组件的信息:单击
  • 仿真3d图,按住alt可以调整视角

地铁入口教程

教程链接

https://anylogic.help/tutorials/pedestrian/1-simulating-simple-pedestrian-flow.html

阶段1

"新模型被创建。它已经有一个智能体类型名为 Main, 实验名为 Simulation experiment。智能体是 AnyLogic 模型的主要构建块。在我们的例子中,
Main 智能体将作为定义模型所有逻辑的场所:在这里,我们将放置入口大厅的图纸,并定义描述行人流程的流程图。"

创建模型

创建时间单位为分钟,要选择成模型单位时间是分钟,

若创建时没有设置成,后续修改:

在项目视图中,选择模型(最顶端的项目)。

在模型的属性中,从模型时间单位下拉列表中选择所需的时间单位。

https://anylogic.help/anylogic/experiments/model-time.html

添加图纸

没有自动跳出文件窗口,参照:

https://anylogic.help/anylogic/presentation/image.html

可以在属性页面添加。

  1. 为图纸画墙:按住左键移动可以画弯曲的线,并控制弯曲的弧度,在墙的属性可以修改颜色和宽度
  2. 添加目标线

定义流程图

  • PedSource 块生成行人。它通常用作行人流的起点。在我们的例子中,它模拟了乘客的到达。
  • PedGoTo 将行人从当前位置移动到新的位置。我们添加这个块来模拟乘客如何从入口处移动到地铁列车。
  • PedSink 块处理入站行人。它通常用作行人流的终点。
  • 请参阅《行人图书馆参考指南》, 了解所有行人图书馆块的详细信息。(https://anylogic.help/library-reference-guides/pedestrian-library/blocks.html)
将组件关联上目标线(明确目标线的作用)
  • 选择 inflowSource 块。在 "属性" 视图中,定义乘客将出现的位置。从 "目标线" 下拉列表中选择 "entryLine"(之前在入口处绘制的目标线的名称)。
  • 修改 goToTrains 的属性。为乘客指定目的地。进入大楼后,行人将前往您在此指定的目的地。

阶段2

现在我们希望乘客在进入地铁站台之前通过售票口。所以让我们在走廊尽头增加一个售票口

图标不一致,更换成安装8.7版本保持一致,中文显示更好。

绘制服务

带队服务 ------ 用于定义行人在队列中等待直到服务可用的服务。

带区域的服务 ------ 用于定义带电子队列的服务。在这种情况下,行人不排队,而是在相邻区域等待。

有两种类型的服务:

  • 线性服务定义了一条线,行人应该沿着这条线移动。行人服务在线的起点,然后移动到终点,最后离开服务。检票闸机自然是线性服务。
  • 点式服务定义了一个点,在这个点上,行人应该在服务延迟时间内停留。行人到达服务点后,开始在那里等待指定的延迟时间

出现问题

问题:Unreachable target: (740.00, 280.00) on level 'name: level' for pedestrian 'id: 1' located at: (220.00, 270.91) on level 'name: groundDefault'!

解决:将线服务的属性的层由level改成groundDefault,要保持其他的组件的层一致(在工程)

阶段3:行人密度图

拖入密度图:位置和大小->层属性也要保持一致,不然显示不出来

阶段4:增加自动售票机

注意:设置线服务属性时,售票机是点服务,闸机是线服务

任务:一些乘客直接送到售票口,另一些乘客则送到售票机那里接受服务,

用pedselectoutput实现,PedSelectOutput 块是 Pedestrian Library 的一个决策块

无法显示3d人(非教程内容)

3d人无法显示,3d地板有一个厚度,人高度不够在外面就看不见,矩形墙的填充类型设置为无填充就好了

统计队列长度的数据集样本数超过了300(事件里定时了每分钟采集一次长度),时间折线图只显示150个点,在时间折线图的数据更新里选择不自动更新数据就正常了

统计排队人数、服务和排队时间(非教程内容)

参考

官方教程(pedservice):https://anylogic.help/library-reference-guides/pedestrian-library/pedservice.html#pedservice

视频教程:https://www.bilibili.com/video/BV1UK421s7o3/?vd_source=775316543df455e17016d86856ed432d

根据观察queuesize是统计单条队列,size是统计这个服务的数量

绘制直方图

数据集要选直方图数据而不是数据集,绘制直方图时才能正确转换格式,注意这两种数据集的图标是不一样的,论文里是有区别的

相关推荐
YJlio15 小时前
Windows Sysinternals 文件工具学习笔记(12.11):综合实战——从磁盘告警到文件替换的一条龙排障
windows·笔记·学习
旖旎夜光17 小时前
Linux(4)(下)
linux·学习
敲敲了个代码20 小时前
从硬编码到 Schema 推断:前端表单开发的工程化转型
前端·javascript·vue.js·学习·面试·职场和发展·前端框架
我命由我123451 天前
SVG - SVG 引入(SVG 概述、SVG 基本使用、SVG 使用 CSS、SVG 使用 JavaScript、SVG 实例实操)
开发语言·前端·javascript·css·学习·ecmascript·学习方法
Fern_blog1 天前
鸿蒙学习之路
学习
小智RE0-走在路上1 天前
Python学习笔记(11) --数据可视化
笔记·python·学习
Asus.Blogs1 天前
SSE + Resty + Goroutine + Channel 完整学习笔记
笔记·学习·golang
charlie1145141911 天前
Git团队协作完全入门指南(上)
笔记·git·学习·教程·工程
迷茫的启明星1 天前
Git命令学习
git·学习