Professional Documents
Culture Documents
Article information:
Access to this document was granted through an Emerald subscription provided by emerald-srm:594641 []
For Authors
If you would like to write for this, or any other Emerald publication, then please use our Emerald for Authors service
information about how to choose which publication to write for and submission guidelines are available for all. Please visit
www.emeraldinsight.com/authors for more information.
Research article
Department of Information and Communications Engineering, Facultad de Informatica, University of Murcia, Murcia, Spain
Abstract
Purpose The paper aims to describe the design and development of an automated guided vehicle (AGV) that incorporates artificial intelligence
techniques to increase its autonomy and flexibility. The aim is developing a flexible AGV that operates as a flexible material handling system (MHS) in
dynamic industrial environments.
Design/methodology/approach Introduces the entire on-board control system including hardware and software designs. The sensory system
consists of a laser navigation system for localisation and a security laser scanner for sensing the environment. The software architecture is instantiated
in a CPU that is connected to low level controllers through a CAN bus. Simplicity, flexibility, robustness and safety were concerned in the design process.
Findings The developed prototype is able to operate in partially structured and dynamic environments, is easily configured using an approximated
description of the workplace and is able to adapt when slight floor layout modifications. This development shows that current technology permits
introducing intelligent vehicles in complex manufacturing systems.
Practical implications The prototype is successfully tested in a real factory, operating as a flexible MHS, transporting pallets between production
and storage lines.
Originality/value A novel flexible AGV is designed and developed to operate as a flexible MHS in dynamic industrial environments. The system
satisfies the safety and robustness requirements of industrial applications. The flexible MHS results especially suitable for manufacturing systems that
suffers from cyclic and seasonal variations and for flexible manufacturing systems where the possibility of choosing alternative routes is a must.
Keywords Robotics, Artificial intelligence, Automation, Materials handling
Paper type Research paper
1. Introduction
Material handling problem consists of how to transport raw
materials, partially manufactured products and goods between
different locations of manufacturing systems, warehouses, etc.
When the transport is automated, the solution is provided by
material handling systems (MHS), which can operate
continuously or under demand. Depending on the kind of
products to handle and the transport to perform, there are
different solutions in the market. For instance, we can mention
belt, roller and vertical conveyors, elevators, material handling
robots and automated guided vehicles (AGVs). Belt conveyor is
an economical way to convey most any type of product and can be
used in horizontal, incline and grasping operations. Roller
conveyor is popular to transport general packing or solid
products in horizontal applications. Depending on the type of
operation and weight of the material, vertical conveyors, elevators
and manipulators can be used to perform vertical transport
operations. AGVs are especially suitable for applications where
space is at a premium and flexibility is critical. Besides, these
The current issue and full text archive of this journal is available at
www.emeraldinsight.com/0143-991X.htm
459
3. Hardware
The hardware development consists of the modification of a
commercial OMG 808 FS fork-lift truck, which is a nonholonomic platform of tricycle type. This commercial vehicle is
intended to transport loads of less than 800 kg up to a height of
3 m. The platform is equipped with three electrical motors for
traction, steering and lifting, which are controlled using the
speed controllers of ZAPI Company that incorporates the
commercial platform. The odometry is obtained using an
absolute wheel encoder for the steering and an incremental
wheel encoder for counting, using the pulses of the sensor and
the wheel diameter, the distance run. For safety reasons, an
absolute encoder is used to ensure that the lifting motor locates
the fork in the proper position, mainly because it can collide
with some structure when docking/undocking manoeuvres.
Besides, a pallet switch is installed between the forks in order to
check if the pallet has been loaded. Some operation lights are
used for monitoring the vehicles state and for debugging
purposes. There are also optical and sound warning signals, in
particular a strobe light and a buzzer, which are activated when
special operations, such as AGV operating backwards for
docking and undocking manoeuvres. The platform is equipped
with a SICK PLS security laser scanner, which provides local
information about the environment surrounding the robot, and
a SICK NAV200 laser navigation system, which provides the
basis of the location in the environment. The laser scanner also
acts as a safety device, and when it detects an object inside a
predefined security area it switches off the traction motor by way
of relays. For emergency stops, it includes two safety switches.
The switch from manual to automatic mode is also performed
using one switch. When the manual mode is activated, the
platform is driven using a joystick. The modified platform and
some details of the devices incorporated are shown in Figure 1.
The platform includes an industrial computer based on a
single-board computer for embedded systems, in particular a
Transmetas Crusoe microprocessor with 128 Mb of RAM and
a 64 Mb disk-on-chip solid state disk. The operating system is
Linux configured for fitting into the available disk space and it
also includes a Java Virtual Machine for running all the control
software. The Crusoe board includes an IEEE 802.11b
PCMCIA card for wireless communications, a PC-104 board
with a dual CAN-bus interface, and two RS232 serial ports for
communicating with sensors. The control electronics design
consists of two custom ATMEL microcontroller boards for
electronic signalling and motor control, which are connected to
the main CPU using a CAN-bus standard operating at 1 Mbps.
2. Related works
Most of the key issues to increase the flexibility and autonomy
of vehicles have been broadly addressed in different scenarios
by autonomous systems community, developing systems that
are able to operate in dynamic and uncertain environments.
For example, we can mention the development of autonomous
interactive tour-guide robots (Burgard et al., 1999) that are
able to navigate in dense populated museums while interacting
with humans, the development of autonomous robots for
goods, post or medicines delivery, cleaning or housekeeping
(Graf et al., 2004) and the development of autonomous robots for
exploration of unknown environments (Roy and Dudek, 2001).
Nevertheless, there are not many successful examples of
fully working autonomous robots in industrial applications.
The transport of containers for harbour logistics in outdoors
is addressed by Durrant-Whyte et al. (2007) using AGVs
navigating through fixed guide-path networks. The a priori
knowledge of workplace is used by Berman et al. (2003) in
indoors for automatic calculation, following a shortest path
criterion, of guide-path network, which remains fixed while
the vehicle operates. This system is able to detect unexpected
or non-modelled obstacles bypassing the occupied parts
460
Sick NAV200
laser navigation system
Structure of sick NAV200
Joystick
Operation lights
Strobe light
4.1 Architecture
The control architecture is an instance of the modularised and
layered ThinkingCap II framework (Martnez-Barbera and
Herrero-Perez, 2010b), which consists of a reference cognitive
architecture that serves as a guide for making the functional
decomposition of a robotics system, a software architecture
that allows a uniform and reusable way of organising software
components for robotics applications, and a communication
infrastructure that allows software modules to communicate
in a common way, independently of whether they are local or
remote. Figure 3 shows an instance of the architecture where
functionalities are grouped into modules, e.g. position
filtering and obstacle modelling functionalities are grouped
into the perception module, and then modules are organised
by layers, which are detailed below.
The lower layer is only composed of the Virtual Robot,
which provides the interface to the actual hardware. Basically,
it receives high-level commands, control actions and translate
them to possible displacements of the vehicle.
The middle layer is composed of perception and controller
modules. In the perception module, there are two important
processes: the local obstacle modeller and the position filter.
The first one computes and maintains a local model of the
obstacles detected by the laser scanner. When a new scan is
available its information is stored on a circular buffer for a
predefined number of cycles. At each control cycle this buffer
is translated and rotated in robot centric coordinates
depending on its own motion. The resulting buffer is used
to detect dangerous zones and to help in obstacle avoidance.
The position filter integrates laser navigation estimations with
odometry information using an extended Kalman filter
(EKF). The controller module consists of a single process,
which decides the set of behaviours executed depending on
the current subtask. Typically, more than a single behaviour
can be executed concurrently, e.g. obstacle avoidance and
path tracking, and thus this module fuses the resulting control
actions of the active behaviours. The most important
behaviours are obstacle avoidance, path tracking and docking.
The higher layer is composed of planner and navigation
modules. The planner module consists of a single process,
which receives a task from the AGV warehouse planner and
generates a plan taking into account the current position of the
vehicle and the topological map built with the approximate
description of the workplace. The plan is stored as a finite state
machine, where each state is a given subtask. If any of the
subtasks cannot be accomplished, the current task is halted and
the operator is informed. For the navigation module, there are
two important processes: map building and path planning. The
grid-based maps are updated when sensing information, laser
scanner scan, is available. The path planner runs continuously
but asynchronously to other modules and obtains the optimal
path from the AGV location to a subgoal position. The path can
be generated using different techniques depending on the kind
of manoeuvre that the vehicle is performing.
Safety switches
Joystick
connection
Pallet switch
Sick PLS
security laser scanner
4. Software
This section reports the techniques that the AGV incorporates
for increasing its autonomy and flexibility. The techniques are
organised following a software architecture designed for
mobile robotics applications. The key points of the
development are workplace representation, path planning,
guidance system and obstacle avoidance. The workplace
representation facilitates the start-up and the adaptation when
floor layout modifications. The path planning approach
Figure 2 Scheme of hardware elements of the platform
NAV200
laser
Main
CPU
Buzzer
Lights
PLS
laser
Pallet
switch
CAN bus
Steering
lifting
controller
Traction
controller
Mode
switch
Safety
relays
Safety
switches
Joystick
ZAPI power
electronics
Traction
encoder
Traction
moter
Lifting
motor
EPS power
electronics
Lifting
encoder
Streeing
motor
Streeing
encoder
Brake
461
Subgoal
Task
planning
Navigation
Path
planning
Navigation
map
Map
building
Path
Topological
map
Task
Subtasks
Fuzzy
grid
map
AGV
planner
Finite
state
machine
Goal
completion
Subtask
Controller
Perception
Behaviour
selection
Position (9 Hz)
Occupancy (3 Hz)
Obstacle
buffer
Buffer (9 Hz)
Local
obstacle
modelling
Position
filtering
Path
tracker
Obstacle
avoider
Laser
landmarks (1 Hz)
Dock
driver
Control
action (9 Hz)
Virtual robot
Odometry (9 Hz)
even at low speeds due to the location estimation rate. This has
been solved using a localisation filter for fusing laser navigation
estimations at 1 Hz and odometry at 9 Hz for operating with
latter update rate. While localisation is crucial, mapping is not
so relevant for a safe operation because any errors in the map are
accounted by the obstacle avoidance module, which operates
using the laser scanner readings at acquisition rate.
Figure 4 (a) Workplace description of a factory composed of three zones, (b) Zone A, (c) Zone B and (d) Zone C
WtP5
ZONE C
Cold-storage
chamber
ZONE B
ZONE A
Door-BC
Door-AB2
WtP4
WtP3
WtP2
WtP1
Recharging
points
Door-AB1
Storage system
Workstation 4
Workstation 3
Workstation 2
Workstation 1
(a)
BA7
ZONE A
BB8
DPSS11
DPSS12
WtP2
Recharging
points
WtP1
DPSS14
BA1
BA8
WPR3
Workstation 2
WPWS21
WPWS11
DPWS21
WPWS22
WPR4
Workstation 1
WPSS12
WPSS13
WtP3
WtP4
WPSS14
BB1
WPSS21
DPR1
DPSS22
DPR2
DPSS23
DPR3
DPSS24
BB7
WPSS22
DPR4
WPSS23
Workstation 4
WPSS24
Workstation 3
DPWS42
WPWS41
DPWS11
BB6
BB5
BB4
BB2
WPWS32
WPWS42
Storage system
BA2
WPWS12
DPWS22
BA6
ZONE B
DPSS21
WPR1
WPR2
BA9
DPSS13
BB9
WPSS11
DPWS41
DPWS32
WPWS31
BB3
DPWS31
DPWS12
BA5
BA4
BA3
(b)
(c)
BC4
DPCS184 DPCS183 DPCS182 DPCS181
WPCS18
WPCS17
BC3
ZONE C
WPCS28
WPCS27
WPCS26
WtP5
DPCS164 DPCS163 DPCS162 DPCS161
WPCS16
WPCS15
WPCS25
WPCS14
WPCS24
WPCS13
WPCS23
WPCS12
WPCS11
WPCS22
WPCS21
BC1
Cold-storage
chamber
BC2
(d)
the AGVs location to the local target, look-ahead, that the vehicle
should follow. This vector is obtained intersecting the route
to follow, represented by a set of way-points linked by
line-segments, and a circle of radius jdj centred in the AGVs
frame {Xv, Yv}. Figure (5) shows the two-way points, wpi-1 and
wpi, of the route to follow and the look-ahead vector calculated to
track such a route. The aim is moving the AGV from its current
location to the coordinates (xla, yla, ula) shown in Figure (5),
which axis xla is parallel to the line-segment linking two
waypoints, and hence, tangent to the trajectory to follow.
The screw St to translate the vehicle from its current
location (x, y) to the look-ahead position (xla, yla) is located in
the centre of a circle that passes through both poses, and it is
tangent to the vehicle heading, i.e. the Xv axis of the AGV
coordinate system. However, this screw does not describe a
pure translation but it represents the displacement from
the robots location to the target with a rotation around the
location of the screw St. Thus, the screw Sr is located in
the origin of the AGV coordinate system in order to define a
pure rotation, which is used to reach the bearing target u la.
These two screws are weighted with factors kt and kr to
control their influence on the resulting screw Sd. The
relationship between both weight factors is defined by k kt/
kr, which permits calculating the coordinates (xSd, ySd) of
resulting screw Sd in the global coordinate system {X, Y}:
yla 2 y
xla 2 x
xS d x 2 k
yS d y k
1
ula 2 u
ula 2 u
wpi
Xla
la
Target
Route
Yla
Pla
dxv
dyv
Collision
Xv
St
Safe
distance
Yv
Intermediate
target
Obstacles
P
AGV location
Virtual measures
Laser measures
Way-points
wpi-1
465
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
5. Experimental validation
The system is validated experimentally in the real scenario
shown in Figure 4. The experiments consist of two-fold; first, a
battery of docking experiments is presented for tuning the path
tracker, and second, a case-study is presented to show the whole
system operating as a flexible MHS. The first experiment aims
to show that the system satisfies the requirements for
performing precise operations with industrial grade of
accuracy, repeatability and reliability. While the second
experiment shows the flexibility and robustness of the system
performing safe operations in industrial environments.
466
83.2
62.7
80.4
51.9
51.4
59.6
22.9
10.6
12.1
6.4
10.1
20.1
5.2 Case-study
This experiment consists of sending the AGV to pickup a pallet of
manufactured goods. When the AGV is navigating from the
location where it was waiting for tasks, an unexpected obstacle is
found in the path to the way-point for initializing the docking
manoeuvre. Figure 7 shows the whole sequence of the
experiment; the AGV is initially (a) waiting for orders and
when the command is received it navigates to the way-point for
performing the docking operation, an unexpected obstacle is
then found and (b) avoidance behaviour is activated, the (c) AGV
avoids the worker and (d) continues navigating to the way-point.
Once (e) the way-point is reached, the (f)-(g) AGV performs the
docking manoeuvre backwards and (h) remains waiting for new
orders when it finishes the operation.
Figure 8(a) shows the trajectory described by the AGV
when navigating to the way-point and performing the docking
6. Conclusion
This paper has presented the design and development of an
AGV that incorporates artificial intelligent techniques to
increase the autonomy and flexibility of current commercial
AGVs. The development is focused on flexibility and
adaptability considering the simplicity and safe necessities of
industrial applications. The prototype has shown the
feasibility and adequacy of the incorporation of modern
service robotics techniques in order to produce a much higher
BA7
ZONE A
Recharging
points
WtP1
WtP2
BA1
BA8
WPR1
DPR1
WPR2
DPR2
WPR3
DPR3
WPR4
Workstation 2
BA9
DPR4
WPWS21
BA2
WPWS11
DPWS21
DPWS11
WPWS12
WPWS22
Workstation 1
DPWS12
DPWS22
BA6
BA4
BA5
BA3
(a)
5
10
15
20
25
0.07
0.07
0.06
0.06
0.05
0.05
0.04
0.04
0.03
0.03
0.02
0.02
0.01
0
0
10
15
20
10
15
20
25
0.01
25
Time (seconds)
10
15
Time (seconds)
(b)
(c)
Notes: (a) Trajectory of the AGV; (b) the position; (c) heading errors when docking
467
20
25
References
Arkin, R. and Murphy, R.R. (1990), Autonomous navigation
in a manufacturing environment, IEEE Transactions on
Robotics and Automation, Vol. 6 No. 4, pp. 445-54.
Berman, S., Edan, Y. and Jamshidi, M. (2003), Navigation
of decentralized autonomous automatic guided vehicles in
material handling, IEEE Transactions on Robotics and
Automation, Vol. 19 No. 4, pp. 743-9.
Burgard, W., Cremers, A.B., Fox, D., Ha hnel, D.,
Lakemeyer, G., Schulz, D., Steiner, W. and Thrun, S. (1999),
Experiences with an interactive museum tour-guide robot,
Artificial Intelligence, Vol. 114 Nos 1/2, pp. 3-55.
Durrant-Whyte, H., Pagac, D., Rogers, B., Stevens, M. and
Nelmes, G. (2007), An autonomous straddle carrier for
movement of shipping containers, IEEE Robotics &
Automation Magazine, Vol. 14 No. 3, pp. 14-23.
Graf, B., Hans, M. and Schraft, R.D. (2004), Mobile robot
assistants, IEEE Robotics & Automation Magazine, Vol. 11
No. 2, pp. 67-77.
Kelly, A., Nagy, B., Stager, D. and Unnikrishnan, U. (2007),
An infrastructure-free automated guided vehicle based on
computer vision, IEEE Robotics & Automation Magazine,
Vol. 14 No. 3, pp. 24-35.
Kuipers, B. and Byun, Y. (1991), A robot exploration and
mapping strategy based on a semantic hierarchy of spatial
representations, Journal of Robotics and Autonomous
Systems, Vol. 8 Nos 1/2, pp. 47-63.
Corresponding author
David Herrero-Perez can be contacted at: dherrero@um.es
468