Modeling multi-floor Automated Guided Vehicle Movement in FlexSim

Automated Guided Vehicle

Automated Guided Vehicle (AGV) systems are in extensive use in today’s industries. Industrialists understand their importance for material handling to grow rapidly.

About Automated Guided Vehicle

Forklift AGV with Stabilizer Pad, Egemin Automation Inc

An AGV is a portable robot that follows tracks in the floor, or magnetic tapes, or lasers for navigation. Nearly every industry employs AGVs. Some of these industries include pulp, paper, metals, newspaper, and general manufacturing.

AGV’s aren’t used only in Industries and warehouses for transporting material. They can certainly be used to transport other materials such as food, linen, medicine or other materials in hospitals or other settings as well.

The advantages of such a vehicle include an Increase in flexibility regarding material movement equipment, Better space utilization, Improvement in factory floor safety, Reduction in overall operating cost, and an Easier interface with other automated systems.

Modeling For AGVs in multi-floor scenarios:

loading of an Automated Guided Vehicle

In most cases, AGV’s usage is restricted to single floors. Nowadays with improvement in AGVs and multi-floor facilities becoming popular, AGV usage is increasingly being seen in such scenarios.

In multi-floor scenarios, AGVs typically work as follows:

  • After receiving the work instruction from the source, the AGV will pick up the material from the ‘pick-up point’ and will start moving towards the elevator.
  • The AGV will board the elevator only when the door is open and ready to load. The AGV will interface with the elevator to share the destination floor details. On reaching the destination floor, the AGV will move out of the elevator.
  • Subsequently, the AGV will follow its usual navigation method to reach the ‘drop-off point’ in the destination floor and unload the material. After unloading the AGV will return along the same path to reach the source location for further loading.

Challenges involved in building a multi-floor traveling AGV in Flexsim:

  • Modeling and building the AGV traveling to multiple floors in the z-direction.
  • Visually modeling the AGV inside the elevator moving from one floor to another floor.

To build AGV movement across floors, you will need, 

  • Source1 – Creates flow item object
  • Sink1 – Destroys the object created in the model
  • AGV network- Allows the AGV to move in a preferred path.
  • AGV -To transport the material.
  • Elevator- Transports the AGV to multiple floors.
  • The ControlPoint 1 – Pick-up point for the AGV
  • Similarly, ControlPoint 4 – Drop-off point for the AGV
  • Together ControlPoint 2 and ControlPoint 5 – Points to redirect the AGV route
  • Likewise, ControlPoint 3 and ControlPoint 6 – Refers to the Elevator position points

Steps to build:

  1. From a fixed resource library create Source1 and Sink1 using drag and drop option
  2. From Task executer’s library create an AGV and an elevator using drag and drop option.
  3. Create an AGV path and place a control point for location reference from AGV library. The path can be straight or curved. Additionally, you can also join two different paths using the ‘Join Path’ option in the AGV library.
  4. Connect Source1 with Sink1 using connection ‘A’ to denote the destination.
  5. Link the AGV to Source1 with ‘S’ connection and check the ‘use transport’ option in Source1.
  6. Connect the AGV to ControlPoint 1 using ‘A’ connection and choose ‘Traveler AGV‘.
  7. Create ‘A’ connection from Source1 to ControlPoint 1 and choose ‘Location‘. This will act as the Pick-Up location for the AGV.
  8. Create ‘A’ connection from Sink1 to ControlPoint 4 and choose ‘Location‘. This will act as the Drop-Off location for the AGV.
  9. Build a multi-level AGV network to denote multiple floors. This should include an area where AGVs travel to use elevators.
  10. Build a two-way vertical inter-floor path that connects each floor’s elevator area to every other floor.
  11. On each floor, place the following control points.

    Control points for AGV Modelling

    • Create ‘A’ connection from ControlPoint 2 and ControlPoint 5 to Elevator and choose ‘ElevatorRedirectCP‘. This control point will listen for AGVs passing over it and redirect them to an elevator if they need to move to another floor.
    • Create ‘A’ connection from ControlPoint 3 and ControlPoint 6 to Elevator and choose “ElevatorFloorCP”. Place this on each floor at the point where the AGV will be waiting for the elevator.
  12. Set label called ‘floorZ‘ in ControlPoint 2 and ControlPoint 3. This label value denotes the height at which each floor is placed. The elevator uses this to determine the exit floor for the AGV while moving in the z-direction.
  13. Open the AGV Elevator template from Flexsim process flow. Attach the elevator from the 3D-model to process flow so that the process flow controls the elevator function. This can be done by clicking the plus symbol under “Attach Object” in process flow template and choosing the elevator.

    Process flow template

    Process flow template consists of three blocks called Redirection Monitoring, AGV Redirection and Elevator Control. These three process flow blocks will coordinate the activities that are done in the 3D model.

    Redirection Monitoring Block

    This block creates a token for each floor’s redirect control point and listens for the control point’s pre-arrival event. Furthermore, it checks if the AGV needs to be redirected to an elevator. Consequently, if this is so, it starts the AGV redirection process for that AGV.

    AGV Redirection Block

    This block will coordinate the following actions with the elevator

    • Waits for the elevator to arrive at the floor
    • Travels onto the elevator
    • Signals to the elevator that AGV has entered
    • Waits for the elevator to arrive at the destination floor
    • The elevator then reassigns itself to the destination control point
    • Finally, resumes the AGV’s original task sequence.

    Elevator Control Block

    The following actions take place in this block

    • Makes the elevator available for acquiring by the AGV.
    • Travels to the AGV’s origin floor control point.
    • Opens the elevator door.
    • Signals to the AGV that it is ready for entry.
    • Waits for the AGV to enter.
    • Loads the AGV.
    • Travels to the destination floor control point.
    • Opens the elevator door.
    • Unloads the AGV from the elevator and connects it to the AGV network in the destination floor.
    • Signals to the AGV that it is at the destination floor.
    • Waits for the destination floor control point to be deallocated
  14. Finally, run the model and the AGV will travel between floors using the elevator.


This is just an introduction to the FlexSim modeling for Automated Guided Vehicle. There is certainly more you can look forward to and familiarize as AGVs are becoming popular.

For more information on FlexSim Automated Guided Vehicles check out this blog or contact us regarding Bestir’s FlexSim Services.

Leave a Reply

Your email address will not be published. Required fields are marked *