【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是统计这个服务的数量

绘制直方图

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

相关推荐
西岸行者2 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意2 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码2 天前
嵌入式学习路线
学习
毛小茛2 天前
计算机系统概论——校验码
学习
babe小鑫2 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms2 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下2 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。2 天前
2026.2.25监控学习
学习
im_AMBER2 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J2 天前
从“Hello World“ 开始 C++
c语言·c++·学习