You are on page 1of 11

* Corresponding author. Tel.

: #358-9-5489-8780; fax: #358-9-


5489-8782.
E-mail address: hannu.makela@navitec." (H. MaK kelaK ).
Control Engineering Practice 9 (2001) 573}583
Development of a navigation and control system for an autonomous
outdoor vehicle in a steel plant
Hannu MaK kelaK *, Thomas von Numers
Navitec Systems Oy, Nikkarinkuja 5, 02600 Espoo, Finland
Received 5 May 2000; accepted 20 December 2000
Abstract
This paper describes the navigation and control system for an autonomous guided outdoor vehicle (AGV) which is used to
transport heavy steel slabs in a steel plant area. The vehicle has unconventional kinematics. It has six axles all pair wise steerable by
three bogie structures. The weight of the machine is 17,000kg and its load may weigh up to 95,000kg. The navigation is based on
a fusion of dead reckoning and transponder positioning. The transponders are passive and are buried in the ground every 5}10 m
along the routes of the AGV. A wireless communication has been built to connect the vehicle control system and a remote control
station. This article concentrates mainly on describing the navigation system including the kinematics and position control as well as
the safety system and the remote control system. 2001 Elsevier science td. All rights reserved.
Keywords: Autonomous vehicle; Gyroscopes; Kinematics; Navigation system; Position control; Position measurement; Transponder
1. Introduction
Inductive wire guidance has been the traditional navi-
gation means for an autonomous guided outdoor ve-
hicles (AGVs) in factories. The major drawback of this
navigation method is that all changes in the routes re-
quire moving or adding a wire to the desired path.
Several other methods have been developed during the
last two decades to simplify the change of the production
layout and the routes in the factory.
In more advanced methods positioning is typically
based on active or passive arti"cial beacons or natural
landmarks. Knowing the distance or direction to at least
three known beacons makes it possible to calculate the
position. For example (Tsumura, Fujiwara, & Hashi-
moto, 1984) have introduced a positioning concept based
on re#ective beacons. Commercial navigation systems
based on this idea have been available for several years
(NDC, 2001; Everett, 1995). The positioning may also
rely on sonic waves (Kauppi, SeppaK , & Koskinen, 1992)
or radio beacons. Also a millimeter-wave radar has been
used to detect arti"cial beacons (Durrant-Whyte, 1996).
Durrant-Whyte describes an experimental AGV system
with resembling kinematics. The AGV has a steerable
wheel at each of its corners. The paper gives the kin-
ematic equations of the AGV and describes the position-
ing system. In that case the dead reckoning has been
supported by a position measurement system based on
radar technology. The merit of this method is the immun-
ity of positioning to environmental disturbances. As in
this article the fusion of di!erent types of position
measurements takes place using a Kalman "lter.
Another method of using passive arti"cial beacons is
to bury RF tags in the ground and detect them with
special hardware. This method, where the vehicle navi-
gates between the beacons relying on dead reckoning is
often called free ranging on grid (FROG). At each beacon
the drift of dead reckoning may be corrected (Van Brus-
sel, Van Helsdingen, & Machiels, 1988). Here, the merit
of this method is the immunity of positioning to environ-
mental disturbances and also the availability of proven
commercial products.
Natural landmarks have also aroused interest. For
example, James Crowley, one of the pioneers of mobile
robotics, studied world modeling and navigation in an
unknown environment (Crowley, 1985). The modeling
and navigation are based on distance measurement using
ultrasonics.
0967-0661/01/$- see front matter 2001 Elsevier Science Ltd. All rights reserved.
PII: S 0 9 6 7 - 0 6 6 1 ( 0 1 ) 0 0 0 1 4 - 4
Fig. 1. The AGV.
Fig. 2. The AGV driven under a cassette and lifting the cassette.
For outdoor navigation the GPS has been the choice
for some years. With current technology one can get
a position within a few centimeters of accuracy at the rate
of at least 5 Hz. The major drawback of the real time
kinematic GPS positioning is the relatively long startup
time of the kinematic mode and especially the sensitivity
of the system to occlusions. Positioning, for example, in
a forest or close to buildings may be impossible.
This paper describes the navigation and control sys-
tem of a heavy outdoor vehicle, later called AGV (see
Fig. 1). The system consists of three main parts. The
remote control system is used to give new missions to the
AGV, to monitor the operation of the AGV and to store
the log data of the operation. The control system on
board the AGV is both physically and conceptually
divided into two parts. The navigation system is respon-
sible for path handling, positioning, position control,
obstacle avoidance and radio communication. The
lowest level part of the control hierarchy is the motion
control module which is the interface to the actuators
and most of the sensors. The motion control module
contains some safety features and the steering angle and
speed controllers. The AGV may be driven not only
automatically but also manually. In the manual mode it
operates on the &#y-by-wire'-principle using the motion
control module to read the joysticks and drive the
machine.
The machine operates 24 h/day. For an outdoor ap-
plication with very high requirements of reliability and
availability one should choose such methods and compo-
nents for navigation and control that are of proven
technology and commercially available. Since the routes
of the AGV may vary every now and then, the changes of
routes must be quick and thus the traditional wire guid-
ance was out of the question. In addition, the drawbacks
of the GPS mentioned before made this option impos-
sible. A laser based positioning system, which would have
been commercially available, was considered to be too
susceptible to the environmental conditions (rain, snow,
dust, long bearing to the re#ectors). The "nal choice was
a combination of a dead reckoning and beacon detection
system. The dead reckoning here is based on measuring
the direction of the vehicle body with a "ber optic gyro
and the distance travelled with two odometers attached
to two of the front wheels. The beacon system consists of
an antenna on board the AGV, a position calculation
unit and passive transponders buried into the ground
along the routes every 5}10 m. When the antenna passes
over a beacon the position calculation unit gives the
transversal deviation of the beacon fromthe center line of
the antenna. Thus, the position of the AGV relative to the
beacon can be used to correct the drift of the dead
reckoning position estimate. Although the intermediate
distance of the beacons is relatively short the AGV has
not to cross all of them. Small variations into the routes
are possible as long as there is a beacon to be detected
every 30 m.
2. The application
The AGV has been built for carrying heavy steel slabs
(up to 95,000 kg) inside the steel plant area. The items are
lifted by cranes onto cassettes that are then carried by
the AGV to the next site in the process. Until now the
cassettes have been transported by manually driven ter-
minal tractors, which pull or push a translifter carrying
the cassette. Both the manual translifter and the AGV are
driven under the cassette to be transported. The con-
struction of the machine is such that its body is lifted
hydraulically about 30 cm to lift the cassette, which nor-
mally stands with its legs on the ground (see Fig. 2). The
sideways margin between the AGV's frame and the cas-
sette is about $4 cm.
The current route network of the AGV is according to
Fig. 3. The distance from loading site to unloading site is
about 500 m. There are six places available for the cas-
settes to be loaded. The AGV can take any of them in
a given sequence. The operator of the crane loads the
cassettes with steel slabs. He has a terminal by which he
informs the remote control system which cassette has
been "lled. The operator also gives the destination area
for the cassette. He tells the AGV to take the load to
either of the two areas. It is up to the remote control
system to decide to which of the free places in the given
574 H. Ma( kela( , T. von Numers / Control Engineering Practice 9 (2001) 573}583
Fig. 3. The route network of the AGV.
Fig. 4. AGV structure, top view.
area the cassette is taken. The remote control system also
gives the AGV an order to take on an empty cassette
before returning to the loading site. If no work task is
available the AGV moves to the waiting site near the
loading area. If fueling, service or repair is needed, the
AGV is able to drive automatically to the service site.
3. Vehicle kinematics
The kinematic equations of the AGV must be known
in order to calculate proper control actions for its steer-
ing to keep the machine on the path. A point called
navigation point is selected on the vehicle body. The
navigation point is actually the point that is controlled to
move along the reference path. In principle, the position
of the navigation point may be chosen freely but there are
some factors, which should be taken into account. The
mechanical structure of the AGV is such that the position
of the navigation point has an e!ect on the stability of the
position control and also on the dead reckoning posi-
tioning. The navigation point was chosen to be in the
middle of the rear axles at the center line of the vehicle
body since this point guarantees a stable position control
for both reversing and driving forwards. Also, the kin-
ematic equations for this point are relatively simple. The
navigation point is constant and does not depend on the
driving direction.
The kinematics of the AGV is very unconventional.
The AGV has two front axles with four wheels and four
rear axles with eight wheels (see Fig. 4). The number of
wheels is high and the wheels are wide because the
pressure of a wheel against the ground should be within
reasonable limits even with the maximum load. All the
front wheels are equipped with a hydraulic traction mo-
tor. The axles are attached to a common bogie, which
may be rotated relative to the body of the AGV. The
AGV is steered by turning the bogie along with the two
front axles, not by turning the separate wheels. Since the
length of the vehicle body is more than 15 m, its steerabil-
ity is quite poor. The maximumsteering angle of the front
wheels is 453 but still the turning radius (r in Fig. 4) would
be more than 17 m when turning only the front wheels.
The rear wheels are also steerable to reduce the steering
radius and especially to prevent the rear wheels from
sliding sideways when turning. Both two pairs of rear
axles are attached to turning plates, which may be turned
independently. Due to the restrictions of the mechanical
construction the rear axles may only be turned 153. This
reduces the minimum turning radius to 14 m.
The dead reckoning positioning based solely on gyro
and odometers would require that the AGV moves in the
direction of its frame. However, the steering system en-
ables the AGV to move sideways when turning the rear
axles in the same direction. Since the gyro does not
measure the direction of motion but the direction of the
vehicle body the dead reckoning positioning does not
detect the sideways motion. For this reason and also for
steering angle control, all the steerable axles are equipped
with sensors measuring the steering angle. The dead
reckoning equations take this motion into account.
The selected steering system is not easy to model
accurately. However, the main objectives of the mechan-
ical design have been the simplicity and reliability. In
addition, the same steering system is of proven techno-
logy since it is in use in the corresponding manual ma-
chines. The kinematics may be simpli"ed by replacing the
four rear axles by two and by replacing the two front
axles with one. Each of the imaginary axles is in the
middle of the two axles which they represent (see Fig. 5a).
For each turning radius, the angles for the wheel axles
are calculated as follows:
c
PCD
"
1
r
PCD
, (1)
H. Ma( kela( , T. von Numers / Control Engineering Practice 9 (2001) 573}583 575
Fig. 5. (a) Simpli"ed kinematics, (b) sideways motion calculation.
"arctan(c
PCD
r
`
), (2)
"arctan(c
PCD
r

), (3)
where r
PCD
is the reference turning radius, c
PCD
is reference
curvature of the path, r

, r
`
are distances of the rear and
front axles to the navigation point, and , are streering
angles of the front and middle axles.
In an ideal case the magnitude of the turning angle of
the middle axle would be the same as that for the rear
axle but with the opposite sign ("!). In practice, the
steering controllers for the axles are not ideal and the
angle does not necessarily correspond to the front angle
. In this case the navigation point is shifted from its
nominal position and the angle can be calculated as
follows:
r
P
"
(l
DK
sin(/4#))cos
sin(!)
, (4)
r
KB
"r
P
tan, (5)
r
PCB
"r
KB
!(r

#r
`
), (6)
"arctan

r
PCB
r


, (7)
where r
`
is the distance of the middle axle to the navi-
gation point, is streering angle of the middle axle, r
P
is
real curvature relative to the shifted navigation point,
r
KB
is real middle axle distance (from shifted navigation
point), r
PCB
is real rear axle distance (from shifted navi-
gation point), and l
DK
is distance between front and
middle axles.
The sideways motion of the AGV body, which cannot
be detected by the gyro, is calculated as follows: (see
Fig. 5b):
s
RP?LQ
"s sin, (8)
s
JMLE
"s cos , (9)
sm
RP?LQ
"
s
JMLE
(tan#tan)
2
, (10)
h
L
"arctan

s
RP?L
s
JMLE

, (11)
s
L
"(s`
RP?L
#s`
JMLE
, (12)
where s
RP?LQ
is the transversal motion of the middle point
of the front axle, s
JMLE
the longitudinal motion of the
middle point of the front axle, sm
RP?LQ
the transversal
motion of the middle point of the middle axle, h
L
the
corrective term for the direction of motion of the navi-
gation point, and s
L
the real motion increment of the
navigation point.
Thus, the result of Eqs. (11) and (12) gives the speed
vector for the navigation point to be used in the dead
reckoning calculations.
4. Vehicle position measuring system
The basis of the navigation system is dead reckoning.
It calculates the position and heading of the vehicle
relative to the starting point by integrating the speed
vector. The speed vector is obtained by measuring the
576 H. Ma( kela( , T. von Numers / Control Engineering Practice 9 (2001) 573}583
distance travelled and the direction of motion. As de-
scribed in the previous chapter the steering angles must
also be measured to calculate the sideways motion which
cannot be detected by the gyro.
The distance travelled by the vehicle is measured using
optical encoders attached to two of the front wheels of
the AGV. The measurement is simple and reliable. The
error is usually quite small, typically less than 0.5% of the
distance. To achieve this the tire wear must be compen-
sated using the known position of the transponders. The
encoders are attached to the wheels on the same axle and
the distance travelled in the direction of the wheels is the
mean of the values given by the encoders. In practice, the
measurement is less accurate in curves than when driving
straight. The accuracy in curves depends especially on
the friction of the ground. This is due to the mechanical
structure of the steering system of the front wheels which
forces the tires to slide sideways when turning.
The orientation of the body of the AGV is measured by
a "ber optic gyro. Its drift is about 303/h after an initia-
lization time of 10 s. The gyro yields only the angular
rotation rate which has to be integrated to obtain the
orientation. To "x the orientation to the co-ordinate
system in use one has to initialize the heading and the
position. This is achieved by an external beacon
system.
In addition to position and heading initialization, the
external beacons are also used to correct the accumu-
lated error of the dead reckoning. The principle is that
the position of the vehicle is measured relative to a "xed
known point which gives a new accurate position. The
measurement of the direction of motion can be corrected
when the vehicle has travelled through two beacons,
since the measured direction of motion can be compared
to the vector from beacon 1 to beacon 2. This procedure
takes place in the initialization phase where the AGV is
manually driven through two beacons.
In outdoor conditions the beacons must endure harsh
environmental stress. They must be passive, small, inex-
pensive, service free and robust. There exists at least one
type of beacon ful"lling these needs: passive LC trans-
ponders, which will be activated and detected using an
antenna on board the AGV.
The transponder detection system chosen for the AGV
can detect transponders at a height of 0.4 m maximum,
while the nominal reading height is 0.2 m. A transponder
being passed is activated by an electromagnetic "eld
generated by the transponder antenna on board the
AGV. The transponder then emits a counter "eld which
is detected by the antenna. Identity information is in-
cluded in the signal of the transponders. A separate
position calculation unit calculates the sideways devi-
ation of the transponder at the moment the center line of
the antenna passes the transponder. The transponder
system is interfaced to the navigation computer via a ser-
ial line.
The accuracy of the beacon detection system is in
practice about 2 cm both in the sideways direction and in
the direction of motion. The measurement is combined
with the position estimate of the dead reckoning using
the following equations (Rintanen, MaK kelaK , Koskinen,
Puputti, & Ojala, 1996):
xL
R
(t)"f (xL(t), u(t))#K(t), (13)
yL(t)"g(xL(t)). (14)
The state vector

"
x
("
x"y
("
x (15)
y
x
"
y
"
consists of two separate dead-reckoning displacement
and heading estimators. The "rst (x
("
y
("
) is based on
the cumulative heading change provided by the gyro.
The purpose of this estimate is to compensate for the
gyro drift. The second estimate (x y) is based on the
drift- and o!set-compensated heading #
"
.
"
is the
sum of the vehicle initial heading and gyro drift and
would be constant during the motion for an ideal gyro.
(x
"
y
"
) are the sums of the vehicle initial position and
dead-reckoning drift. (x
"
y
"
) would be constant for an
ideal dead-reckoning navigator. The input-, output- and
innovation-vectors are
u"[ ]', (16)
y"[X > ]', (17)
"[
"
x
"
y
"
]', (18)
where is the turning rate measured by the gyro, is the
speed of the vehicle, [X > ] is the estimated posture of
the vehicle and
"
x
"
y
"
are the measured errors of
initial heading and position. The system equations are
g(x)"

#x
`
x
`
#x
`
x
'
#x
`

, (19)
u

0
u
`
cos x

u
`
sinx
(20) f(x, u)"
u
`
cos(x

#x
`
)
,
u
`
sin(x

#x
`
)
0
0
H. Ma( kela( , T. von Numers / Control Engineering Practice 9 (2001) 573}583 577
Fig. 6. (a) Test route, (b) compensated dead reckoning drift, (c) compensated gyro drift.
K"

0 0 0
k
(
0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 k
V
0
0 0 k
W

. (21)
The innovations (t) are calculated from the beacon
measurements obtained at irregular intervals. The in-
novation signal is conveniently described as a sequence
of Dirac -functions:
(t)"
,

G
(t
G
)
G
, (22)
where
G
is a discrete innovation. The gains k
(
, k
V
, k
W
must lie between 0
2
1. In this case the gain matrix was
not updated (Maybeck, 1979) during the run of the AGV.
Instead, the steady state values were used. They were
obtained experimentally by comparing the variance of
the dead reckoning error to the error of the beacon
detector. The value of the gains k
V
and k
W
was "nally
determined to 0.85 and the value of k
(
to 0.3. High value
indicates more con"dence on the beacon position
measurement, low gain means more con"dence on the
kinematic model of the AGV. The innovations are ob-
tained as
x
"G
"x
@G
!x(
`
(t
G
)!x(
`
(t
G
), (23)
y
"G
"y
@G
!x(
'
(t
G
)!x(
`
(t
G
), (24)

"G
"!!x(
`
(t
G
)!2round

!!x(
`
(t
G
)
2
, (25)
where x
@G
and y
@G
are the position measurements obtained
from the beacon detector, is the direction de"ned by
two beacons (x
@G
, y
@G
), (x
@G
, y
@G
) and is de"ned by their
counterpoints on the (x(
`
, x(
"
)-trajectory.
Figs. 6a}c illustrate an autonomous driving of 725 m.
The ground was dry asphalt with a high friction
578 H. Ma( kela( , T. von Numers / Control Engineering Practice 9 (2001) 573}583
Fig. 7. Sideways motion of the navigation point.
coe$cient. Fig. 6a shows the test route where the trans-
ponders are marked with x. The installation accuracy of
the beacons was better than $1 cm. Fig. 6b illustrates
the compensated dead reckoning drift (x(
`
, x(
`
) and Fig. 6c
the compensated gyro drift. The compensation is cal-
culated at each detected beacon according to the Eqs.
(13)}(25). The position drift remains in the range of
$1 m and the heading error in the range of $1.53.
Thus, the drift of dead reckoning is less than 0.2% of the
distance travelled, being even smaller than what was
expected.
5. Position control system
5.1. The route builder
Since there are several possible routes from any cas-
sette position at the loading site to any position at the
unloading site it would be impractical to store all the
alternative routes separately. Instead all crossing points
and end points of the route network are depicted as
nodes, each node having a distinctive identi"cation num-
ber. A route segment is a sequence of x- and y-points from
one node to another. Thus, any practical route may be
obtained by combining proper segments.
All the route segments to be driven are stored into the
memory of the VCS. A segment contains not only the
co-ordinates of each point but also the reference speed at
these points. After "nishing a task the next target node
for the vehicle is given by the remote control station via
radio. Since the navigation system knows the current
position of the AGV it can build a route to the given
destination by connecting appropriate route segments
using a special search algorithm. If there were several
alternative routes available the search algorithm would
take the shortest one. The algorithm is based on the idea
introduced by Dijkstra (1959).
5.2. The position controller
Originally the position controller had two modes of
driving the AGV. The docking mode was used only when
driving under a cassette. The normal mode was used at
other times. The sideways accuracy requirement for the
docking mode is about $4 cm based on the dimensions
of the cassettes and the AGV. Elsewhere the accuracy
requirement is such that the transponder antenna must
detect the next transponder with some safety margin. In
practice, the position control accuracy including the
position uncertainty must be within $10 cm. The di!er-
ence between the modes was that the sideways motion of
the vehicle body was allowed in docking mode while not
in normal mode. Sideways motion means a more e$cient
way of moving the navigation point sideways by turning
the rear wheels partly independently of the front wheels
(see Fig. 7). In this case the navigation point of the AGV
does not move in the direction of the frame as was
explained in Section 3.
The position control of the normal mode calculated
the reference curvature for a "xed navigation point. The
"nal reference curvature was based on the reference cur-
vature of the trajectory, the current position error and
the heading error. The idea was to correct the heading
error and position error by steering the front wheels only.
The steering angle of the front wheels was calculated
based on the reference curvature and the angles of the
rear wheels were calculated such that all the axles had the
same center point of turning (see Fig. 4). Practical tests
proved that the normal mode did not work well. Because
of the length of the vehicle body, only slight sideways
position errors caused remarkably large steering maneu-
vers of the front wheels. Since the transponder antenna is
in the middle of the frame of the AGV, the wide sideways
motion of the front part caused some transponders to be
missed. Due to these di$culties the normal mode of
position control was abandoned and the sideways cor-
rection using the rear wheels independently from the
front wheels was allowed.
The position controller initially developed for docking
under a cassette was taken into use for all parts of the
routes. The control method resembles the one described
in Durrant-Whyte (1996). Durrant-Whyte corrects the
position error by sideway motion of the AGV, i.e. turning
the rear and front wheels the same amount to the same
direction and the heading error by turning the rear and
front wheels the same amount to the opposite direction.
Also in this case the position controller actually consists
of two separate controllers, the position controller and
the heading controller. The heading error is de"ned ac-
cording to Fig. 8. To correct the current heading error,
a fraction of the error is added to the current curvature
which is based on the shape of the trajectory:
c
PCD
"c
RP
#K
F
e
F
. (26)
H. Ma( kela( , T. von Numers / Control Engineering Practice 9 (2001) 573}583 579
Fig. 10. Sensors for driving under a cassette.
Fig. 8. De"nition of the heading error. Fig. 9. De"nition of the current position error.
Eqs. (1)}(7) are now used to calculate the proper angles
for steering. The reference angle is used as such to
correct the heading error but an additional position
correction term is added to the steering angle of the rear
axles:
"#K
@
e
Q
, (27)
"#K
A
e
Q
, (28)
where e
Q
is the position error in the sideways direction
and is calculated as follows (see Fig. 9):
A"!sinh
P
, (29)
B"cos h
P
, (30)
C"!Ax
P
!By
P
, (31)
e
Q
"Ax#By#C. (32)
5.3. Driving under a cassette
Since the sideways error margin is very small when
driving under a cassette the dead reckoning accuracy was
not su$cient to guarantee that the AGV would never hit
the cassette. Some extra sensors were needed to detect the
position of a cassette relative to the AGV (see Fig. 10).
These sensors were
E a laser scanner at the rear of the AGV,
E inductive switches at the rear corners of the frame of
the AGV,
E ultrasonic distance sensors in the middle of the frame,
E an inductive switch at the front of the frame.
The sensors are used as follows. When the AGV ap-
proaches a cassette the rear laser scanner, which is used
also for safety purposes, is put into a mode where it sends
180 distance measurements, one for every degree. Since
the approximate position of the cassette and the AGV are
known, an object in an interesting area is interpreted as
a potential leg of the cassette. If two legs are seen at
a certain distance from each other and in proper orienta-
tion relative to the AGV it is believed to be a cassette and
a sideways correction is calculated. The correction takes
place with the rear wheels of the AGV and is such that
the rear part of the frame of the AGV is centered relative
to the cassette. The position control relative to the cas-
sette is started at a distance of 3 mfrom the cassette and is
stopped when the frame of the AGV goes under the
cassette. The laser scanner gives the fan of distances at
the rate of 5 Hz and the sideways correction is calculated
at the same rate. The orientation of the cassette relative
to the AGV is also calculated based on the position of the
legs of the cassette and the heading of the AGV is aligned
accordingly by turning the front wheels.
Using the laser scanner the rear part of the AGV drives
reliably under a cassette. Also, the orientation of the
AGV frame is corrected relatively well according to the
orientation of the cassette. The ultrasonic distance sen-
sors in the middle of the AGV are used to center the
frame according to the cassette. The correction for
centering the frame is done by turning the front wheels.
There are also inductive switches at the rear corners. If
the frame is too close to the cassette when driving under
it, the rear wheels are turned to center the rear part of the
frame based on the impulse of the switch. The amount of
580 H. Ma( kela( , T. von Numers / Control Engineering Practice 9 (2001) 573}583
Fig. 11. AGV control system.
correction was tuned experimentally since no distance
measurement is available for continuous control when
using the switches.
The inductive switch at the front part of the frame is
used to detect the cassette when the AGV has driven long
enough under the cassette. When the switch detects the
cassette the motion is stopped and the cassette may be
lifted for transportation. In some cases the cassette may
be left manually to its position which normally is not the
correct one. The AGV is able to drive under a cassette
which is less than 0.4 m aside from its nominal position in
the sideways direction and at most 0.5 m aside in the
driving direction.
5.4. Obstacle avoidance
The AGV is used in a closed plant area but its operat-
ing environment may not be isolated from other vehicles
or people. This is why the safety system for detecting
obstacles in the direction of the motion is vital. The
control system needs sensors to give the distance to
obstacles around the vehicle and the vehicle must be able
to reduce its speed and stop if an obstacle is detected too
close to the vehicle, especially in the direction of the
motion. There are four scanning laser distance sensors
for detection of obstacles in the front, rear and on both
sides of the vehicle. The side sensors will detect moving
obstacles such as people approaching the AGV from the
side. The scanners are such that they can be programmed
to give a signal if an obstacle is detected in a warning area
or in a separate safety area. The size and shape of these
areas are programmable and typically the warning area is
larger than the safety area. The side sensors are mounted
high up, such that their fan is downwards covering the
whole length of the AGV. In the case of the side sensors
the warning area is not in use but the AGV is stopped if
an obstacle is detected in the safety area. The safety relays
from the distance sensors are connected both to the
motion controller and to the navigation controller to
increase the overall reliability of stopping when needed.
The scanners in the front and rear are installed to
a movable frame so that their height is kept constant
independently of the height of the frame of the AGV. The
fan of these sensors is in a horizontal plane. They are
mounted to such a height that detecting an obstacle with
a minimum height of 20 cm is reliable. If an obstacle is
detected in a warning zone at a distance of 4 m the AGV
starts to decelerate. At the border of the safety area the
AGV stops until the obstacle has been removed. The
safety area extends to a distance of 2 m. Full braking
takes place if an obstacle comes into the safety area from
the side. A mechanical safety bumper at both ends of the
AGV is the last guard and will stop the vehicle if the
bumper contacts an object.
6. AGV control system
6.1. Navigation unit
The AGV control system consists of two parts com-
municating with each other using a standard serial link
(see Fig. 11). The navigation computer is based on stan-
dard PC-104 components. In addition to a CPU-board
H. Ma( kela( , T. von Numers / Control Engineering Practice 9 (2001) 573}583 581
Fig. 12. Remote control system.
(Pentium 133 MHz), it contains an extra serial interface
board as well as an analog and digital input/output
board and a DC/DC power board. The navigation-PC
interfaces with the four laser distance sensors, two ultra-
sonic distance sensors, three inductive switches, the
transponder system and the gyro. It also reads some
switches and buttons related to the operation modes and
the position initialization procedure. The communica-
tion system with the remote control systems is realized
using commercial wireless Ethernet components.
6.2. Motion control unit
The motion control module is realized using a PLC. It
takes care of the low level inputs and outputs as well as
the low level controls of the AGV. The overall design
philosophy is such that the AGV can be moved manually
even if the navigation unit is not operative. This requires
that the steering and speed controllers are implemented
in the PLC since these controllers are active also in the
manual mode. The motion control module interfaces to
more than 20 sensors and to 10 actuators including the
steering, throttle and hydraulic pump. The speed of the
AGVis controlled by the throttle which a!ects the rpm of
the diesel engine and by controlling the yield of the pump
which feeds the hydraulic traction motors. Hydraulic
cylinders are used as actuators for steering and the steer-
ing angle is measured by potentiometers. The position
controllers for steering as well as the speed controller are
of an ordinary PID type.
6.3. Remote control station
The remote control system is con"gured according to
Fig. 12. The core of the system is the remote control
station responsible for maintaining a cassette status
database, assigning tasks for the AGV and collecting
event logs for service and production performance fol-
low-up. Normally, there is no operator at the control
station. The everyday operators are the crane drivers
who access the system via two terminals connected to the
control station through Ethernet. The crane drivers in-
form the control station about system status changes as
they load and unload the cassettes for the AGV. When
a cassette is loaded the crane driver gives its destination
by the accuracy of the unloading area. The control sta-
tion then chooses the exact destination from the free
cassette positions in that unloading area. Accordingly,
the crane drivers inform the system when the cassettes
are unloaded. The control station then tells the AGV to
transport the empty cassette back to the loading site
when the position of the cassette "ts the transportation
sequence. The activities of the AGV also modify the
database. Each time the AGV picks or leaves a cassette
the database is updated automatically. Events relevant to
production follow-up or AGV service are logged.
If manual machines change the order of the cassettes
so that the control station database is out of date, the
database can easily be modi"ed through a special modi"-
cation window on the control station. The correct state for
each cassette position is simply clicked with the mouse.
7. Practical experiences
The building of the software was started by program-
ming the PLC. This was necessary since even driving the
AGV manually requires the PLC. The interface to the
sensors and actuators was tested "rst, then the steering
controller was tuned while the front part of the AGV was
lifted up. The hydraulics for steering required some cha-
nges to speed it up but even after these changes the
steering was not too responsive. The speed controller was
relatively simple to program since no gears were to be
used. Originally, the speed controller was of type P but
later an integrating term was added to make the control
more accurate.
The kinematics of the AGV proved to be very chal-
lenging. The real behavior of the AGV does not fully
obey the theoretical kinematic model when turning and
this slight discrepancy had to be modeled and taken into
account. When turning the front bogie the simpli"ed
model of Fig. 5a is not accurate enough. Actually the
steering had to be modeled as if the front axle of the
model would be linked to the frame of AGV, not directly
but with a short lever. This was due to the fact that when
turning, the front bogie did not turn around its center
point but the actual turning point was somewhat ahead.
582 H. Ma( kela( , T. von Numers / Control Engineering Practice 9 (2001) 573}583
Some of the sensors caused a lot of trouble. The gyro
chosen initially turned out to be unreliable. In some cases
its drift changed quite rapidly which caused the AGV to
drive out of its path. The problem was greatly alleviated
by making the drift compensation adaptive. When pas-
sing a transponder the drift of the gyro was recalculated
and the compensation was changed accordingly. Even
with this procedure the AGV sometimes ran out of the
path. Each time the control system detected this situation
and safely stopped the motion. However, the gyro had to
be changed to a better, and more expensive model.
The scanners also caused a lot of extra stops. Safety is
a critical issue here and the system was built up in such
a manner that every time any of the four scanners in-
formed of an obstacle in the safety area the AGV was
stopped. Initially the scanners were too sensitive. They
detected small amounts of iron #akes dropping fromsteel
slabs on board. Dust, rain and snow#akes also caused
extra stops. The scanners were programmable and there
was a parameter which de"nes how many consecutive
times the scanner must hit an object in the same direction
and distance before the object is determined as an ob-
stacle. Changing this parameter did not help before the
scanners were changed to a model where this feature was
correctly implemented. The scanners were then relatively
immune to the above mentioned disturbances. Since
there is a lot of other activity in the working area of the
AGV, moving objects (vehicles, people) occasionally
stopped the AGV. The control system had to be changed
so that the motion continues after a delay when the
obstacle has been removed from the safety area.
After all the above mentioned corrections the navi-
gation and control system have been working without
problems. The navigation accuracy is within the require-
ments and the AGV is able to take also manually trans-
ported cassettes even if they are $40 cm aside from their
nominal positions. So far the safety system has not
failed to detect an obstacle and to stop the AGV when
necessary.
8. Conclusions
This paper gives an overview of the control and navi-
gation system of an outdoor AGV. The major require-
ments for the system are reliable and accurate navigation,
a reliable safety system with collision avoidance and
navigation accuracy better than 4 cm. These require-
ments have to be met in a commercially realistic manner.
The navigation system is a combination of dead reckon-
ing and transponder positioning using commercial on-
the-shelf components and sensors. The machine is de-
signed to work in a nonisolated area requiring special
attention to the collision detection and safety system.
Developing the system has been very challenging with
many problems related to, for example, modeling the
kinematics of the AGV. Reaching the required level of
overall reliability has been di$cult mainly because of
several problems with the sensors. Here, the demand of
ultimate safety has somewhat counteracted the require-
ment of availability. In this paper the major problems
have been solved and the navigation and control system
runs according to the requirements. What still has to be
done is to make the user interface simpler and more
#exible to use.
References
Crowley, J. (1985). Navigation for an intelligent mobile robot. IEEE
Journal of Robotics and Automation, JRA1(1), 31}41.
Dijkstra, E. W. (1959). A note on two problems in connection with
graphs. Numerische Mathematik, 1, 269}271.
Durrant-Whyte, H. (1996). An autonomous guided vehicle for cargo
handling applications. International Journal of Robotics Research,
15(5), 407}440.
Everett, H. (1995). Sensors for mobile robots. Natic, MA: A K Peters,
Ltd.
Kauppi, I., SeppaK , H., & Koskinen, K. (1992). Sonic localization system
using pseudo random noise and cross-correlation technique. Pro-
ceedings of the second international conference on automation, ro-
botics and computer vision, ICARV+92 (vol. 3) (pp. RO-11.3.1-3.4).
Maybeck, P. (1979). Stochastic models, estimation and control (vol. 1).
New York: Academic Press.
NDC (2001). www-pages, address: www.ndc.se.
Rintanen, K., MaK kelaK , H., Koskinen, K., Puputti, J., & Ojala, M. (1996).
Development of an autonomous navigation system for an outdoor
vehicle. Control Engineering Practice, 4(4), 499}505.
Tsumura, T., Fujiwara, N., & Hashimoto, M. (1984). A new method of
position and heading measurement of ground vehicle by use of laser
and corner cubes. Proceedings of 34th IEEE vehicular technology.
1984 (pp. 271}276).
Van Brussel, H., Van Helsdingen, C., & Machiels, K. (1988). FROG,
free ranging on grid: New perspectives in automated transport.
Proceedings of the sixth international conference on automated guided
vehicle systems. Brussels, Belgium, October, 1988 (pp. 223}232).
H. Ma( kela( , T. von Numers / Control Engineering Practice 9 (2001) 573}583 583

You might also like