AGV Control Software Expansion
Report 2004.TL.6897, Transport Engineering and Logistics.
This project is an expansion of the control software being developed for
the AGV laboratory of the Transport Engineering and Logistics department.
Plans for the software include three layers: the Logistic Layer, the
Traffic Layer, and the Mechatronic Layer. Within this project a Traffic
Layer was created, which is called the Director. The Director makes use of
the concept of semaphores, with the semaphores being managed by the
FloorManager program. Flags, triggers and actions are introduced to handle
semaphores and other tasks. This project also expands on the existing
AGVmanager program, which houses the Mechatronic Layer. This report
discusses the new concepts introduced as well as giving a detailed
explanation of the code written for this project.
A path is made up of a series of segments, which an AGV is instructed to
drive along. A flag is a marker occurring at a certain point along a
segment. A flag has one or more triggers, which are located relative to
the flag. When an AGV passes the location of a trigger, it fires and the
associated action is performed. Different types of triggers and actions
create a variety of functionality.
The Director is a prototype of the Traffic Layer. The Director is the
central manager of all the AGVs, instructing them which paths to execute
and how to do so safely. The Director sends a message to an AGV regarding
a path to be executed and its associated flags. Once the path is executed,
the AGV notifies the Director and then the Director gives the AGV a new
assignment. The Director program is divided into the design phase and the
drive phase, which can be made into two separate programs in the future.
The two phases occur chronologically in series when the program is being
used. First during the design phase, the user is prompted to create a
custom infrastructure or make use of predefined paths. Second during the
drive phase, once an AGV has completed a path and communicated that to the
Director, the Director prompts the user to choose the AGVs next path, and
then the Director instructs the AGV to execute the selected path.
In order to allow the necessary two-way communication between AGVs and the
Director, both AGVmanager and Director programs have communication
interfaces that allow them to build and read messages, according to a
When running the AGV control system (ie the Director, FloorManager and
multiple instances of the AGVmanager), the user may create custom paths or
use the predefined paths. Using the predefined paths demonstrates proof of
concept for the project. AGVs receive all path information, including how
to handle semaphores from the Director, and the AGVs execute their paths
safely. Previously path and semaphore information was hard-coded in the
Reports on Transport Engineering and Logistics (in Dutch)
, TU Delft