Escalator Group

Escalator group is the animation shape for a group of parallel escalators in pedestrian simulation models. You draw escalators in the graphical editor, and configure them (setting the number of escalators, escalator steps movement speed, step depth and inclination angle) in the shape's properties. To simulate how pedestrians are transported by escalators, you insert Pedestrian Library block PedEscalator in the flowchart. There you specify whether this block should transport the pedestrians up, or down.

Demo model: Escalator

Escalator group at model runtime, in 3D animation

Escalator design

Blocking and turning escalators on/off

At model runtime, you can dynamically block and turn on/off the escalator(s) using the functions of the element.

When you block an escalator, the gate before the escalator gets closed, and no more pedestrians are allowed to enter this escalator.

When you turn off an escalator, the escalator power supply stops, so the escalator steps are not moving anymore, but pedestrians can move on their own.

Drawing an escalator group

 To draw an escalator group

  1. Drag the  Escalator Group element from the  Space Markup section of the Pedestrian Library palette onto the graphical editor. Typically pedestrian simulation models include a layout plan of the simulated facility (e.g. building) with all the important areas and services marked on it. Place the shape on top of the escalators placeholder in the layout. If the layout image and the escalator shape form a mes, you can temporarily place it near the placeholder until you finely adjust all the shape component sizes.
  1. Open the Properties of the escalator group shape. Specify how many escalators are in this group, in the Number of escalators field. In our example, we have two parallel escalators.
  1. You will see that the group consists of two escalators now:
  1. If the escalator transports pedestrians to the other level that is drawn in your model as another ground, you should specify the name of this ground in the escalator's Upper ground parameter.
  2. Now you should resize the escalator group shape in the graphical editor. Make the shape exactly match the escalators borders in the layout. First, Zoom In the graphical editor and turn the grid alignment off by pressing off the Enable/Disable Grid  toolbar button to simplify resizing the shape components that are shown rather small on the diagram in its default zoom. 
  3. Select the shape with a click, and you will see the markers you may use for adjusting the width of escalator components. Please note that doing one more click on some escalator in a group. you select this particular escalator. Next click selects the whole ground composed of multiple pedestrian space markup elements. To be able to resize the escalator group components, you should see the group selected, as on the figure below:
  1.  Let's make the first escalator match the escalator on the layout exactly. First, adjust its exterior handrail to the handrail position on the layout.
  1. Next, drag the internal handle as shown in the figure below to adjust the width of the escalator. You will see thtat both escalators will have the same width:
  1. Now you have to change the width of the internal balustrade:
  1. Adjust the width of external balustrades: 
  1. Finally move the shape on top of the placeholder in the layout, and adjust the length of the escalators and of landing platforms with the hadles highlighted below:
  1. Now set the escalator steps movement direction. To change direction of some particular escalator, select it with a mouse click, and in the Properties, set Direction: Up, or Down

Properties

General

Name – The name of the shape. The name is used to refer to this shape from PedEscalator block properties, and access the escalator group from code.

Ignore – If selected, the shape is excluded from the model.

Visible on upper level – If selected, the shape is also visible on the upper level where this agent lives.

Lock – If selected, the shape is locked. Locked shape does not react to mouse clicks - it is impossible to select it in the graphical editor until you unlock it. 

Visible – Here you specify whether the shape is visible on animation at model runtime, or not. Using the control, choose yes or no.

Ground – The lower ground. Pedestrians are on this ground when they enter the escalator.

Upper ground – The upper ground. Pedestrians get on this ground when they leave the escalator.

Number of escalators – The number of escalators in this escalator group.

Speed – Escalator steps movement speed. 

Step depth – The depth of the escalator step.

Define slope as – Here you can choose how you want to define the escalator inclination: as angle, or specifying the escalator rise (in this case the angle will be calculated automatically, taking escalator rise and length into account). 

Angle – [Visible and applies if the option Define slope asangle is selected] The angle of inclination of an escalator to the horizontal floor level (typically is 30 degrees).

Rise – [Visible and applies if the option Define slope asrise is selected] The height of the escalator that will be used to calculate the angle of escalator inclination. 


Advanced

Show in - Here you can choose whether you want the shape to be shown both In 2D and 3D animation, or in 2D only, or in 3D only.

Show name – If selected, the shape name is displayed on the graphical diagram.


Escalator movement direction

The space markup shape Escalator Group consists of the given number of Escalator shape(s).

The direction of escalator movement (up or down) can be permanently set in the properties of each particular escalator. Moreover, movement direction can be controlled dynamically at model runtime using the functions of an individual escalator. Typically this is controlled according to the predominant flow of the crowd, by personnel, or automatically.

To know the direction of the escalator, select it in the graphical editor with a mouse click.

 To change the direction of the escalator
  1. Click the escalator group shape.
  2. Select an individual escalator shape inside belonging to this group with a mouse click.
  3. In the Properties, set Direction: Up, or Down. You will see that the arrow changed its direction.

Functions

Blocking/unblocking escalator(s)
When you block an escalator, the gate before the escalator gets closed, and no more pedestrians are allowed to enter this escalator.

block() - Blocks all escalators in this group. 

block(int index) - Blocks the escalator with the specified index.
Parameter: int index - the index of the escalator in the escalator group.

unblock() - Unblocks all escalators in this group. 

unblock(int index) - Unblocks the escalator with the specified index.
Parameter: int index - the index of the escalator in the escalator group.

boolean isBlocked(int index) - Checks whether the escalator with the specified index is blocked, or not. If the escalator is blocked, the function returns true, otherwise it returns false.
Parameter: int index - the index of the escalator in the escalator group.


Turning escalator(s) on/off
When you turn off an escalator, the escalator power supply stops, so the escalator steps are not moving anymore, but pedestrians can move on their own.

turnOff() - Turns off all escalators in this group. 

turnOff(int index)Turns off the escalator with the specified index.
Parameter: int index - the index of the escalator in the escalator group.

turnOn()Turns on all escalators in this group. 

turnOn(int index) - Turns on the escalator with the specified index.

boolean isRunning(int index) - Checks whether the escalator with the specified index is running, or not. If the escalator is running, the function returns true, otherwise it returns false.
Parameter: int index - the index of the escalator in the escalator group.


Getting/Setting escalator speed

getSpeed(int index) - Returns the speed of the escalator (in meters per second).
Parameter: int index - the index of the escalator in the escalator group.

getSpeed(int index, SpeedUnits units)Returns the speed of the escalator (in the units passed via the units argument) with the specified index.
Parameters:
int index - the index of the escalator in the escalator group.
SpeedUnits units
- one of the AnyLogic speed constants.

setSpeed(int index, double speed) - Sets the speed (in meters per second) of the escalator with the specified index.
Parameters:
int index - the index of the escalator in the escalator group.
double speed - the escalator's speed.

setSpeed(int index, double speed, SpeedUnits units) - Returns the speed of the escalator (in the units passed via the units argument).
Parameters:
int index - the index of the escalator in the escalator group.
double speed - the escalator's speed.
SpeedUnits units - one of the AnyLogic speed constants.


Movement direction

getMovementDirection(int index) - Returns the current movement direction for the escalator with the specified index. The possible return values are: EscalatorMovementDirection.UP and EscalatorMovementDirection.DOWN
Parameter: int index - the index of the escalator in the escalator group.

setMovementDirection(EscalatorMovementDirection movementDirection)Sets new movement direction for all escalators in the group.
Parameter: 
movementDirection - the escalator's movement direction constant, which can take one of the following values: EscalatorMovementDirection.UP or EscalatorMovementDirection.DOWN

setMovementDirection(int index, EscalatorMovementDirection movementDirection)Sets new movement direction for the escalator with the specified index
Parameters:
int index
- the index of the escalator in the escalator group.
movementDirection - the escalator's movement direction constant, which can take one of the following values: EscalatorMovementDirection.UP or EscalatorMovementDirection.DOWN



Related topics

Markup for pedestrian simulation

 Ground

 API reference: EscalatorGroup class