A New Beacon-based System for the Localization of Moving Objects Eduardo Zalama Casanova*, Salvador Dominguez Quijada§, Jaime Gómez García-Bermejo*, José R. Perán González* ETSII, Dep. of Automatic Control, University of Valladolid, Spain Centre for the Automatisation, Robotics and Technology Information (CARTIF) Spain. *
§
[email protected]
Abstract In this paper a new system for the 2D localisation of moving objects and mobile robots is presented. A rotating laser on board the moving object sweeps the surrounding space, reaching a set of known-position beacons. Each time the light reaches a beacon, it emits a radiofrecuency identity code. The corresponding (known) beacon position, along with the actual laser angle allow the position and orientation of the object to be calculated though triangulation. The system supplies 15 localisations per second to an accuracy of 1 cm and 0.1º, which is suitable for vehicle or goods localisation in automated storehouses, or robot navigation, for example.
Keywords: Moving object localisation, vehicle localisation, triangulation. too sensitive to highly reflective surfaces in the
1.-Introduction
environment (such as windows, mirrors, polished surfaces, etc). On the other hand, the system is not
One of the main problems in mobile robot navigation
able to identify the different beacons. Therefore, it is
is the determination of the robot position. A common
necessary to maintain a position estimate of the
solution is to determine this position through dead
robot, especially whenever the operation area is
reckoning
large, which means that detecting all the reflectors at
suffers
[2,5,6]. from
Unfortunately,
incremental
dead
reckoning
errors,
due
to
the same time
is not possible. This problem
is
miscalibrations and wheel slippage. Therefore, other
overcome by the Conac system in the following way
systems
required.
[7]. The system uses a rotary laser and a set of
Localisation systems that do not require a special
beacons that are activated by the laser beam. A
preparation of the environment, based on computer
stationary computer calculates the robot position and
based
on
external
sensors are
are
sends this position to the robot through a wireless
computationally expensive and not too robust. So,
modem. The main drawback of this solution is that a
they are being used in research centres but are
special wiring of all the beacons is required, in order
vision,
range
finders
or
other
sensors,
service
to synchronise them. Furthermore the position has to
applications. Location through marks or beacons is
be transmitted to the robot, which restricts the size of
usually preferred for these real applications [1,4,8].
the operation area.
The general principle is as follows: sets of marks or
In the present paper a low-cost system
beacons
the
absolute positioning of mobile robots (and other
environment, and are detected by an optical system.
moving objects) is presented. The system combines
The robot position is then obtained from a simple
laser and radio frequency technologies to determine
triangulation
largely
uncommon
are
placed
in
in
industrial
known
or
positions
of
for
the
telemeters
the position and orientation of the robot through a
[9,10] are employed for obtaining the distance to a
triangulation algorithm. The system is made up of
set of reflectors placed on the walls. This solution
the following elements: an infrared laser, a DC
leads to good precision in robot location but has two
motor
important problems. On the one hand, the system is
photosensitive beacons and a pulse-decoder box.
algorithm.
Usually,
laser
train
reduction-encoder,
a
set
of
The laser, motor, and a pulse-decoder box are onboard
the
mobile
robot.
The
system
works
as
follows: the motor rotates the laser in a horizontal plane, so that the laser beam reaches a set of beacons placed along the walls. Each beacon is equipped with an infrared-sensitive photocell. Upon receiving a light pulse, a beacon issues its characteristic RF code. The decoder box receives this RF code and associates it with the laser angle obtained from the encoder. This information is transmitted to the onboard computer via RS232. The computer can then calculate the position (and orientation) of the robot, by a triangulation procedure.
Fig. 1. An emitter beacon. The photocell is placed by the upper side of the beacon, and a visor protects the photocell from spurious light sources.
2.-Hardware Description In this section the hardware elements of the proposed localisation system are described
data reception. This microcontroller also controls motor
2.1 Active Photosensitive Beacon
speed
by
means
of
a
Pulse
With
Modulation (PWM) technique. Furthermore the laser is switched off during the beacon code
The beacon emits an identity code every time a sharp
reception in order to avoid interference from
change of the incident light occurs, as a consequence of the incidence of the laser beam on a photocell.
•
close-seen beacons. Power supply and amplification. The module is
Figure 1 shows the developed beacon. The main
LM805CT dcv regulator equipped, and power to
elements of the circuit are:
the motor and the laser is obtained form a power
• •
stage LM805CT 5v dcv regulator. Sensitivity photocell
• • •
circuit and
a
made
up
of
comparator
a
that
TSL250
allows
the
PIC16C84
microcontroller,
which
sends
an
on
Mosfet
IRF-540N
and
NPN
BC547 transistors. AM-RRS3-433
433Mhz
radiofrequency
reception module, which receives information
adjustment of the photocell sensitivity.
•
from the beacons. Serial
communication
module,
based
on
the
identity code to the RF module when a light
MAX232CWE
change occurs.
adaptation to the serial RS232C link to the on-
AM-RT4-433 RF, 433Mhz transmission module.
board computer.
chip
which
performs
signal
8 bit switch dip to code the different beacons. 7 bits are employed for coding the beacon number,
•
•
based
2.3 Laser Rotating System
while one bit is employed for parity control. Two
leds
indicating
power
on,
and
beacon
This system activates the beacons by means of a rotating, angle-encoded laser beam. The system is
transmitting respectively.
located at the end of a mast at a height of about 2.5
2.2 Pulse-decoder box
meters so that people in the environment do not mask the laser beam. The system is made up of the
This
system
controls
the
motor
speed,
counts
following elements:
encoder pulses and receives data from the beacons. All this information is transmitted to the on-board
•
host computer through an RS232C serial link.
Infrared laser. A vertical 12º-stripe generation optic is employed to deal with small errors in the vertical location of the beacons as well as with
The main elements of this module are:
•
•
irregularities of the floor flatness. DC motor-gear train reductor-encoder to rotate
PIC16F876 microcontroller, which collects data
the laser in a horizontal plane (vertical rotation
transmitted by the beacons, checks parity and
axis). The gear train has a 10:1 reduction, and
determines the angle of the rotating laser at the
the optical encoder delivers 500 pulses/lap; then
5000 encoder pulses are obtained in a complete laser rotation. This gives a resolution figure of 0.007 degrees/pulse. 3.- Communication protocols
Two communication protocols are involved: at beacons to pulse-decoder box communication, and at pulse-decoder box to on-board computer communication. 3.1 Beacon to pulse-decoder box communication protocol
Communication is performed through RF because beacons are placed in the environment (walls) and the pulse-decoder box is on-board the robot. The following information is sent by a beacon every time its photocell is reached by the laser:
BEACON CODE PARITY END TRANSMISSION (1 long bit) (7 short bits) (1 s.b.) (2 pulses)
allows the instant in which the beacon was detected to be determined. 4.- Position Estimation
An initial calibration process with known-position beacons is required for robot localisation. Figure 3 shows a scheme of the localisation process using three beacons. These beacons are represented by small circles (P1,P2,P3), and the robot position is labeled by R. The robot position is determined through the following steps: 1.- Determine the radius of the circle which passes through points P1 and P2.
ra =
HEAD
Details are given in figure 2. When the pulsedecoder box receives a head long-bit, the laser is switched off, while the angular position is registered from the encoder and the parity is checked. The laser is turned on again at the two end-of-transmission pulses reception.
d12 2 sen(α )
ca x
= p1x − ra * sen(δ − α )
ca y
= p1 y − ra * cos(δ − α )
2.- Determine the circle centre coordinates ca .
1200 ms
416 ms
1616 ms
3.2 Pulse-decoder box to on-board computer communication protocol
Communication between pulse-decoder box and the on-board computer is carried out through an RS232C serial link. A bi-directional communication is performed: • Speed motor command (1 byte). This command is sent from the on-board computer to the pulsedecoder box to select the motor speed. • Beacon command. This command is sent from the pulse-decoder box to the on-board computer, in the following way:
HEAD
BEACON CODE
ANGLE
TIME
(1 byte)
(1 byte)
(2 bytes)
(2 bytes)
The head field is constant valued FFh, the beacon code allows the computer to univocally identify the beacon, the angle is the laser angle corresponding to the given beacon and the time (microcontroller time)
1616 ms
a) Short bit
b) Short bit (0)
1200 ms
416 ms
2416 ms
2416 ms
c) Long bit (1)
d) Long bit (0)
416 ms
416 ms 1616 ms
e) End of transmission
Figure 2. Beacon-pulse-decoder box: pulse codification for transmission.
Y 3.- Apply similar equations to obtain the radius and circle
centre
beacons
coordinates
which
passes
P2, P3 and R. Obtain cbx, cby and rb. d
4.- Calculate distance
through
P3
d23 rb
between the two circle
centres. When this distance is under a certain value
cb
(ej 1m) the robot position cannot determined, since the three beacons and the robot are just on the same
d12 γ
h
ra
ϕ β
α
δ
ca
P1
d2r
circumference. 5.- Calculate
P2
R
X
d2r from the following equations
ra
2
= h 2 + (d − d 2r ) 2
rb
2
= h 2 + d 2r 2
Figure 3. Robot localisation process using three beacons. At least three beacons are required to determine the
6.- Determine
γ
position and orientation of the robot. So, beacons should be distributed through the environment in
γ = a cos(
d 2r rb
such a way that three (or more) beacons could be
)
activated from every robot location. It should be noted that beacon location is known and that the
7.- Then, determine the robot position
activated beacon is univocally determined, so that robot location can be determined without requiring any further information (such as the instant at which
R1x = ca x + ra * cos(γ + ϕ )
a beacon becomes no longer visible).
R1 y = ca y + ra * sen(γ + ϕ ) v1 =
( R1x
− p 2 x ) + ( R1 y − p 2 y ) 2
The program that determines the position of the 2
robot has two operation modes: execution mode and supervision mode. In the execution mode, the system
R 2 x = ca x + ra * cos(ϕ − γ )
provides the position of the robot (in
R 2 y = ca y + ra * sen(ϕ − γ ) v1 =
(R2 x
− p2 x ) + ( R2 y − p 2 y ) 2
coordinates
cartesian
(x,y), in millimetres), and the orientation
of the robot (in decidegrees). The algorithm also 2
v1>v2 the robot position R is R1, otherwise the robot position is R2
If
8.- Determine robot orientation using:
evaluates the confidence of the results obtained from different subsets of beacons (when several subsets are possible), based on angles between beacons, and keep
the
results
corresponding
to
the
highest
confidence. Figure 4 shows the positioning error for different values of angles measured to the beacons (α and
β in
figure 3). It can be shown that the error is increased
θ = µ −ε µ is the orientation of the straight line which passes trough P2 and robot position R, and ε is the where
angle measured by the incremental encoder of beacon
P2.
when the angles are close to 0º and 180º. Thus, only angle measures between 40º and 140º are considered for localisation.
A system for the localisation of a mobile robot has been presented. The main characteristics of the system are the following: •
•
Figure 4. Positioning error (in m). Minimum error is obtained when angle to beacons is 90º.
Another important feature is that the motor speed is self-regulated by the system: the speed decreases when the number of detected beacons is under a given threshold, and (gradually) increases to a nominal speed otherwise. This allows the system to deal with situations such as close beacons, large incident angles of the light etc. Supervision mode is the other working mode of the system. In this mode, the triangulation process can be monitored by an operator, through statistics obtained from the collected data. Furthermore, in this mode, the system can accomplish a self-calibration process of the beacon location. This process consists in determining the position of an unknown-position beacon, from the location of the robot through time obtained from several known-position beacons. So, only a few known-position beacons are required, thus simplifying the beacon set-up. The system performs up to 15 location measures per second, with a precision figure of 1cm and 0.1 degree. This is suitable for locating mobile robots travelling at moderate speeds (without requiring the use of Kalman filters [3]). The system is currently being employed for the location of a mobile robot in a Science Museum in Valladolid (Spain), which will be open to the public in a few months. The same system could also be employed for locating other moving artifacts, in outdoor and indoor environments, for pointing, guiding and motion control purposes.
5.- Conclusions
•
•
• •
•
•
It is a simple and low cost system. Common PIC microcontrollers are employed. The calculation of the position is carried out in an on-board computer, which also performs navigation tasks. Beacons are univocally identified, which allows the absolute position of the robot to be obtained without requiring the maintenance of a position estimate. Furthermore, location in environments with multiple rooms is possible. The system is not affected by highly reflective surfaces in the environment (while these surfaces strongly affect other reflective localisation systems.) The system performs up to 15 localisation measures every second, which is appropriate for locating vehicles travelling at moderate speeds (without requiring the use of the Kalman filter). Precision is about 1 cm and 0.1 degree, which is suitable for most mobile robot applications. The system can be easily mounted on a vertical mast, due to its small weight and size, so that people and objects in the environment do not constrain the visibility of the beacons. Beacon redundancy allows the computation of more confident values, and allows localisation when several beacons are occluded by walls, columns, etc. Localisation can be performed in large operation areas with a small number of beacons. For example, localisation can be efficiently performed in an area of 450m2 with only three beacons.
Acknowledgment This work is supported by the Comisión de Ciencia y Tecnología project 1FD97-1580, and the Junta de Castilla y León “Programa de apoyo a proyectos de investigación 2002) References 1. Betke, M and Gurvits, L., 1994, “Mobile Robot Localization Using Landmarks.” 1994 International Conference on Intelligent Robots and Systems (IROS’94). Munich, Germany, Sept. 12-16, pp.135-142.
2. Borenstein, J. and Feng, L., 1994, “UMBmark — A Method for Measuring, Comparing, and Correcting Dead-reckoning Errors in Mobile Robots.” Technical Report, The University of Michigan UM-MEAM-94-22, Dec. 3. Brown, R. G. and P. Y. C. Hwang. 1992. Introduction to Random Signals and Applied Kalman Filtering, Second Edition, John Wiley & Sons, Inc. 4. Cohen, C. and Koss, F., 1992, “A Comprehensive Study of Three Object Triangulation.” Proceedings of the 1993 SPIE Conference on Mobile Robots, Boston, MA, Nov. 18-20, pp. 95-106. 5. Cox, I.J., 1991, “Blanche - An Experiment in Guidance and Navigation of an Autonomous. Mobile Robot.” IEEE Transactions Robotics and Automation, 7(3), pp. 193-204. 6. Crowley, J.L. and Reignier, P., 1992, “Asynchronous Control of Rotation and Translation for a Robot Vehicle.” Robotics and Autonomous Systems, Vol. 10, pp. 243-251. 7. MacLeode.N., Chiarella M.., 1993, “Navigation and Control Breakthrough for Automated Mobility.” Proceedings, SPIE Vol. 2058, Mobile Robots VIII, pp. 57-68. 8. McGillem, C. and Rappaport, T., 1988, “Infrared Location System for Navigation of Autonomous Vehicles.” Proceedings of IEEE International Conference on Robotics and Automation, Philadelphia, PA, April 24-29, pp. 1236-1238. 9. SIMAN - Siman Sensors & Intelligent Machines Ltd., MTI-Misgav, D.N. Misgav 20179,Israel, +972-4-906888. 10. TRC - Transitions Research Corp., “Beacon Navigation System,” Product Literature, Shelter Rock Lane, Danbury, CT 06810, 203-798-8988.