Automated Guided Vehicle System

The AGV system described below was originally developed by a company called Flexible Manufacturing Systems (FMS) in California for an international pharmaceutical company. However FMS was unable to make the system work, mainly due to software problems, and eventually went out of business.

The pharmaceutical company then called Helix Systems, Inc. to see if the project could be salvaged. After a virtual rewrite of the entire software over a period of several years (and some minor hardware changes), the system was made to work reliably and as intended.

The system consists of two AGVs designed to move trays of vaccine vials in a sterile production facility. The main purpose is to reduce human handling of the material and thus the risk of biological contamination.

The veichles are electrically powered carts that can move over preset paths. The paths are not permanently laid down on the floor like conventional AGV systems, but reside in a data base, and are, thus, readily changeable. The vehicles guide themselves via inertial navigation, with periodic fixes based on laser scanning of special mirrors mounted in fixed locations.

The system is controlled by an external computer, which talks to the vehicles over infrared data links. This system also controls various plant equipment; opening and closing doors, starting and stopping conveyor belts, etc.

The system software consists of many modules written in several different languages running on varied types of hardware. Summary of the modules:

Robot One of the most challenging technical aspects of this system was the design of the routing and traffic handling software for the system. The requirements were for two vehicles to be operating simultaneously in a rather restricted area (approximately 30 ft. by 180 ft.) carrying product at random between 6 different pickup points and 10 discharge points.

The routing problem was to get a vehicle from source to destination in the least possible time considering the paths available and the predicted path of the other vehicle.

The traffic control problem was to assure that two vehicles never occupied the same spot at the same time or were on the same line segment at the same time. Vehicles were not always where they were predicted to be when routes were assigned (for example a vehicle could unexpectedly stop for a while if an obstacle was detected in its path).

Of course deadlocks (when both vehicles were trying to get to the same point at the same time) had to be avoided whenever possible, and if they occured there had to be a deadlock breaking mechanism.

All of these problems (and many others not mentioned) were solved and the customer was extremely pleased with the result after implementation.