本文将演示如何在Pathfinder模型中使用队列的基础知识。这将涵盖队列的创建、所有基本队列组件、队列特定参数的修改以及队列组的创建和使用。

 

在非疏散乘员模型中,模拟乘员在等待某事时如何穿过线路很有用。这是一个常见的场景,示例包括活动外的票务/检查点、超市内的结账线等。在Pathfinder的早期版本中,模拟此类场景的理想方法是创建带有单向门的单独房间和一个复杂行为系统来表示队列。从Pathfinder 2021.2开始,由于有了新的Queues对象,此建模过程变得更加容易。

 

1. 一个简单的单队列

1.1 创建队列

将介绍如何创建单个队列以通过Simple_Queues模型中的检查点汇集Occupants。到结束时,用户应该了解Pathfinder中队列的基本结构,以及如何创建队列以及如何通过队列移动Occupants。

 

1.1.1 创建队列对象

1. 打开Simple_Queues.pth模型。
2. 将视图切换到自上而下的2D视图。
3. 通过单击模型>添加队列或右键单击导航视图中的队列条目并单击上下文菜单中的添加队列来创建队列对象。

 

Navigation View中的Queues条目下现在应该有一个新的Queue对象。这个新的队列对象也应该有一个警告,如图1所示。显示此警告是因为队列对象本身不足以定义乘客移动。

 

队列由一系列队列路径和服务点组成。路径定义了乘客如何在队列中排队和等待,而服务点定义了乘客在穿过队列后将与什么进行交互。每个Queue可以有多个Paths和Service Points,但是每个Queue起码需要一个,否则将显示图 1中提到的警告。

 

 

 

图 1. 未正确定义队列时显示的警告。

 

1.1.2 创建队列路径

定义此队列的下一步是创建路径。创建路径:

1. 在导航视图中选择队列对象
2. 在3D窗口上方的队列属性面板中,单击添加元素下拉列表中的箭头,然后选择队列路径。
3. 在Path Creation Property Panel中,选择Draw from Path Exit,然后在顶部的Queuing区域绘制一条路径,如图2所示。右键单击将创建绘制的路径,或者您可以单击属性面板中的“创建”按钮。

 

 

图 2. 单个队列路径的创建。

 

4. 重复上述步骤以在6个排队位置中的每一个中创建路径。

 

现在应该有6个路径与队列对象关联。每个路径都有一些与之关联的参数,在图3中突出显示。 乘员间距决定了乘员在路径中站在一起的距离。 Force Follow Path,如果选中,将强制乘客从头到尾沿着整条路径行走,无论该路径是否没有其他乘客。如果未选中它并且等待Occupants的队列没有一直走到Path的尽头,新加入队列的Occupants将直接移动到等候队列的末尾,而不是沿着整个Path走。

 

 

图 3. 突出显示 - Pathfinder中队列路径的参数。

 

对于本文:

5. 选择模型中的所有6条路径。
6. 在属性面板中选中Force Follow Path旁边的框。

 

创建路径后,下一步是定义Occupants到达线路末端时的行为。

 

1.1.3. 创建服务点
现在已经创建了Paths,现在是时候定义Occupants在他们穿过Path后如何移动到服务员亭去拿票了。这是通过创建服务点来完成的。创建服务点:

1. 在导航视图中选择队列。
2. 单击“添加元素”下拉列表中的箭头,然后选择“队列服务”。
3. 在模型中单击以在the first Path前面创建一个服务点。

 

 

图 4. 创建单个服务点。

 

4. 重复上述步骤,在所有6条路径前创建一个服务点。

 

现在,通过6条路径中的任意一条路径移动的乘客在到达其路径的末端并且服务点未被乘客将移动到服务点。当他们到达服务点时,他们将等待一段设定的时间。此等待时间由属性面板中的服务时间参数控制。对于本文,将Service Time设置为其默认值5.0s。

 

此时,队列已定义,发送给它的Occupants将通过其中一条路径移动并在其中一个服务点得到服务。下一步是实际通过Queue发送Occupants。

 

1.2. 通过队列移动乘客
1.2.1. 创建乘员行为

在队列中移动乘客是通过行为系统完成的,特别是通过新的Goto Queues运行。要通过此队列发送Occupants:

1. 在Navigation View中,选择Goto Any Exit行为。
2. 将此行为重命名为Queue Behavior。
3. 单击Add Action下拉列表旁边的箭头,然后选择Goto Queues。
4. 在更新属性面板中,单击Queue旁边的链接,然后选择刚刚创建的新Queue。请注意,在此示例中,只选择了一个Queue。如果选择了多个队列,则在继续下一个行为操作之前,Occupant将只选择并移动其中一个队列。

 

 

图 5. Goto队列行为运作的创建。


现在,任意被分配了队列行为的乘客将通过其中一条路径移动并在移动到出口之前在其中一个服务点得到服务。

 

1.3. 检查结果
模型现已完成!单击路径ui图标运行sim “运行模拟”图标以运行模拟。在“结果”窗口中,单击播放按钮以查看Occupants如何在模型中移动。

 

 

图 6. 仿真结果(4 倍速)。

 

正如您在图6中所见,乘员穿过路径,等待服务点可用,移动到服务点,与展台服务员“互动” 5.0s,然后移动到出口。

在此模拟中,大多数乘员将从路径移动到该路径正前方的服务点,但是这种特殊配置可能会导致一些不良行为,即乘员似乎要穿越其他路径才能到达服务点。这在图6中显示,其中the last Occupant(突出显示)从顶部路径切到另一条线中的服务点。下面将介绍队列组,除其他外,它解决了这个问题。

 

2. 队列组

2.1. 创建队列组
将介绍队列组的创建。队列组只是队列的集合,但是它们允许进一步自定义乘客与队列的交互。

 

2.1.1. 创建队列组
创建队列组:

1. 右键单击导航视图中的队列条目。
2. 在上下文菜单中选择新建组节点。
3. 在“创建组节点”对话框中,单击“确定”

 

 

图 7. 队列组的创建。

 

2.1.2. 添加队列到队列组
在此队列组内创建新队列与在第1.1中创建新队列相同。如果您有现有的队列,您可以通过将它们拖到导航视图中的组中来将它们移动到该队列组中。对于本文,在队列组中创建5个新队列,将一个路径和服务点拖到每个队列中,然后将剩余的队列移动到队列组中。去做这个:

1. 右键单击队列组并单击添加队列以在队列组中创建一个新队列。
2. 重复步骤1,再重复4次,直到Queue Group中共有5个Queue。

 

 

图 8. 在队列组内创建队列。

 

3. 在独立队列中,选择路径及其相关服务点。
4. 将路径和服务点拖到队列组中的其中一个队列中。

 

 

图 9. 将队列组件从一个队列移动到另一个队列。

 

5. 对剩余的4个路径/服务点对重复步骤3和4。

 

 

图 10. 大多数路径和服务点移动后的队列组。

 

6. 一旦模型类似于图10,将原始队列移动到队列组中。

 

注意:
请注意,3D视图中的每个队列(路径/服务点对)现在都有不同的颜色。这有助于使模型中的队列在视觉上截然不同。要更改此颜色,请在Navigation View中选择Queue ,然后使用Color旁边的选择器选择一种颜色。这也可以在队列组级别完成。

 

2.2. 通过队列组移动乘客
2.2.1. 创建乘员行为
在Queue Group中移动Occupant类似于在单个Queue中移动他们。通过队列组移动乘客:

1. 选择在第1.2.1节中创建的Goto Queue运作。
2. 单击属性面板中队列旁边的链接。

请注意,原始队列仍处于选中状态,但它现在位于队列组内,如图11所示。

 

 

图 11. 队列行为的队列选择对话框。
 

3. 在“选择”对话框中,单击“clean up”。
4. 单击队列组旁边的复选框。
5. 单击确定。

 

现在,Occupants将穿过队列组中的任意队列。然而,与之前的Queue不同,Occupants将通过Path移动并且只前往其关联的 Service Point。这有助于防止在将Occupants发送到一组队列中的任意一个时出现图6中观察到的交叉行为。

 

2.3. 第3节:检查结果
现在已配置队列组。单击路径ui图标运行sim “运行模拟”图标以运行模拟。在“结果”窗口中,单击播放按钮以查看 Occupants如何在模型中移动。

 

 

图 12. 使用队列组的模拟结果。


对于Queue Group,现在更正了观察到的the last Occupant的交叉行为。

 

队列是Pathfinder中用于非疏散运动模拟的强功能,现在应该熟悉如何创建队列、队列组、路径和服务点,并且熟悉如何使用新的Goto Queue Behavior运作将Occupants发送到队列和队列组。

 

PyroSim中文网了解更多软件详情:https://www.pyrosimchina.com/
请关注人员疏散能力模拟分析软件、烟气流动模拟分析软件更多的信息!

如何在Pathfinder模型中使用队列

2023-04-04

热点新闻排行榜

微信看新闻

扫描二维码,

关注PyroSim中文网