M2VIP 2002 - Semantic Scholar

6 downloads 0 Views 354KB Size Report
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, ...
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.