Delft University of Technology
Faculty Mechanical, Maritime and Materials Engineering
Transport Technology



D.D. Erwin AGV Control Software Expansion
Computer program, 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 communication protocol.

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 AGVmanager program.


Reports on Transport Engineering and Logistics (in Dutch)
Modified: 2005.06.21; logistics@3mE.tudelft.nl , TU Delft / 3mE / TT / LT.