Design and implementation of Automated Guided Vehicles system to provide inventory control, automatic storage and transport of paper.
The customer is one of the leading providers of Automated Guided Vehicles
(AGVs). These AGV's are controlled by a central software system which
controls the movement of up to 20 vehicles in a factory or plant. The AGVs
typically will pick up a large load from inventory and take that load to a
specific location in the plant.
Customer Business Needs
The software for each installation was developed by different outside
software contractors. None of the software developed met the needs of the
customer to provide the algorithm necessary to move and control the AGV's
to move within the system at the optimal route. Other problems with the
previous software included problems interfacing with other software
systems and lack of documentation.
The customer used an outdated automated Guided Vehicles system to provide
inventory control, automatic storage and transport of paper insert pallets
& automatic transport of paper rolls to the printing press.
The customer chose SolveITLabs to implement their new software because of
the experience and skill level of our software engineers in creating
complex algorithm to solve this type of problem.
Other reasons for
choosing our services for the new development was our design provided the
- Flexibility - This new version made it easier to implement small changes for the customers clients, this reduced the support time required in house.
- New Modules - The new software made it much easier to add new modules and features such as an interface to clients other existing systems.
- GUI - The software provided a much more modern and graphical interface for the operator. Operator can view a dynamic display of the factory operation and click on various objects for more information.
- Simulator - Part of the new software includes a software module that simulated factory installation and operation which allowed the software to be better tested before installation at a client's site. After the software is installed at a client it is used by Customer engineers to test changes to installations before installing the changes at a client site.
- Demo Version -A demo version allowed the customer to promote the software on their web site and help train new users.
SolveITLabs designed and integrated the following modules:
- System Core
This module provides communication to the database, AGV registers, station
labels, pick and drop points as defined by the specific image of a
manufacturing company in memory (factory layout), communication error
handling among different modules, unsynchronized event notification for
some modules in the system, and handling of error conditions in the
- Control Location module
This module is responsible for selection of the optimal AGV path depending
on the manufacture schema (factory layout) and existence of other
requirements for a specific implementation and time. This module will
resolve schedule conflicts. This module receives notifications
asynchronously from radio module (via core module) about current locations
and moving of AGV, field sources, etc.
- Radio Interface Module
Module responsible for communication with radio subsystem. This module is
responsible for support of constant stream of information to be sent and
received using the radio interfaces. Will notify the core system module
when completing tasks for sending messages. It will be programmed to scan
the condition of the main modules of the system automatically (if has no
first priority tasks for execution). This module is responsible for
reducing waiting time and all radio interface activity.
- External Interface Module
Communication Module that will handle external field sources such as
optical sensors and pushbuttons.
This module receives information from these external sources and sends it
to the core module to determine the priority and generate the task needed
to be performed.
- Operator Display Module
This module is responsible for displaying of factory layout image (picture
or graph) with the location of the AGVs, pick and drop location with
symbols. It receives commands (from menu, mouse and command line) and
sends them for execution to the core module. This module will also show on
the display AGV status, fields sources conditions, stations, etc.
- Administration Modules
This module(s) handles the security subsystem. Based on user privileges
he/she will be able to access and manage system information and resources.
This will allow Client engineers, customer's administrators and operators
to have varying levels of ability to modify or access the system. Back up
to a second computer and maintenance of a system log will also be provided
by an administration module.
- Create/Edit Factory Module
This module will be used to set up each new factory layout. This module
would also be used to make future modifications to an existing system.
This software system would be used by Client or SolveITLabs technical
- System Simulator
The primary use of this module is to test the system without the actual
hardware such as AGVs, radio and sensors. This module will be used during
final testing and debugging at SolveITLabs development center. Use of this
module will reduce the amount of time needed for on site testing.
The primary benefit of the new software was to provide a stable, robust
platform that allowed the Customer and their clients to optimize the
management of the AGV to allow fewer vehicles to perform more work. The
movement algorithm we developed provided a major increase in the ability
to move material faster within the plants with fewer problems. This
allowed the client to show a ROI (Return on Investment) which justified
their purchase of the new software. Other benefits included the ability to
interface to other computer systems, and manage the data and requirements
of the client's AGV systems.
Technologies used: Microsoft Message Queue 2.0, .NET 1.1, Windows
Server 2003, MS SQL 2005, Win32 API, RS-232, XML