Professional Documents
Culture Documents
net/publication/4056103
CITATIONS READS
49 1,263
3 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Carlos Couto on 15 May 2014.
1. If there are less than three visible beacons available, then sin λ12 ⋅ (L12 ⋅ sin λ 31 − L31 ⋅ sin γ )
return a warning message and stop. 11. τ = tan −1
L
31 ⋅ sin λ12 ⋅ cos γ − L12 ⋅ cos λ12 ⋅ sin λ 31
2. λ12 = λ 2 − λ1
3. If λ1 > λ 2 then λ12 = 360º + (λ 2 − λ1 ) λ < 180º
12. If 12 then τ = τ + 180º
4. λ31 = λ1 − λ3 τ < 0º
5. If λ3 > λ1 then λ31 = 360º + (λ1 − λ3 )
λ > 180º
6. Compute L12 from known positions of beacons 1 and 2. 13. If 12 then τ = τ − 180º
τ > 0º
7. Compute L31 from known positions of beacons 1 and 3.
8. Let φ be an oriented angle such that -180º < φ ≤ 180º. Its L ⋅ si n (τ + λ12 )
origin side is the image of the positive x semi-axis that 14. If si n λ12 > si n λ31 then L1 = 12
si n λ12
results from the translation associated with the vector
which origin is (0, 0) and ends on beacon 1. The extrem- L ⋅ si n (τ + σ − λ 31 )
15. else L1 = 31
ity side is the part of the straight line defined by beacons si n λ 31
1 and 2 which origin is beacon 1 and does not go by bea-
16. x R = x1 − L1 ⋅ cos(φ + τ )
con 2.
9. Let σ be an oriented angle such that -180º < σ ≤ 180º. Its 17. y R = y1 − L1 ⋅ sin (φ + τ )
origin side is the straight line segment that joins beacons 18. θR = φ + τ − λ1
1 and 3. The extremity side is the part of the straight line
defined by beacons 1 and 2 which origin is beacon 1 and 19. If θR ≤ −180º then θR = θ R + 360º
does not go by beacon 2. 20. If θR > 180º then θR = θ R − 360º
L31 L1
sin (360º −λ ) = sin (λ − τ − σ )
τ Zone III:
31 31
(3)
τ L12 = L1
sin λ12 sin (180º −τ − λ12 )
L31 L1
sin (360º −λ ) = sin (λ − (τ + σ ) − 360º )
31 31
Zone IV: (4)
L12 L1
Fig. 5. Division of the plane according to λ12 =
sin (360º −λ12 ) sin (− 180 º + τ + λ12 )
Zone II Zone III Zone II Zone I
-180º<σ<0º
0º<σ<180º
Zone I Zone IV Zone III Zone IV
Fig. 6. Divisions of the plane according to λ12, λ31, σ and the relative positions of the beacons
Since, by definition, then the robot is over the line segment that joins beacons 1
and 3 and expression (7) can be used to compute L1.
γ = σ − λ 31 , (5) The value returned by function tan-1 is in the range of
-90º to 90º. So, algorithm lines 12 and 13 are required to
solving (1), (2), (3) and (4) to find τ and L1, the same re- compute values of τ falling outside that interval. Similarly,
sult is obtained in each zone: algorithm lines 19 and 20 ensure that -180º<θ ≤180º. They
may be omitted if θ is allowed to fall outside this interval.
sin λ12 ⋅ (L12 ⋅ sin λ 31 − L31 ⋅ sin γ )
τ = tan −1 (6)
L
31 ⋅ sin λ12 ⋅ cos γ − L12 ⋅ cos λ12 ⋅ sin λ 31 A. Specific Restrictions of the Generalized Geometric
Triangulation Algorithm
L ⋅ sin (τ + λ12 )
L1 = 12 (valid if sinλ12 ≠ 0 ) (7) The Generalized Geometric Triangulation algorithm suf-
sin λ12
fers from the restrictions that are common to all three-object
L ⋅ sin (τ + σ − λ 31 ) triangulation algorithms. However, the specific restrictions
L1 = 31 (valid if sin λ 31 ≠ 0 ) (8)
si n λ 31 of the Geometric Triangulation algorithm do not further ap-
For beacon configurations with σ=0º or σ=180º, if ply. In fact, the modified algorithm has the following fea-
λ12=180º or λ31=180º then the robot is only able to “see” tures:
two beacons and L1 cannot be computed. For other configu- 1. The three beacons may be randomly labeled 1, 2,
and 3 (there is no need for consecutive labeling in
rations, to enable localization if λ12=180º or λ31=180º, in
counterclockwise fashion);
the computation of L1 the algorithm chooses (lines 14 and
2. The three beacons may be placed anywhere in the
15), from expressions (7) and (8), the one with larger de-
plane (as long as two beacons do not share the same
nominator.
position);
For all beacon configurations except those with σ=0º or
3. Both the angle between beacons 1 and 2 (λ12) and
σ=180º, if λ12=180º then the robot is over the line segment
the angle between beacons 3 and 1 (λ31) may be
that joins beacons 1 and 2 and
equal or greater than 180º;
L31⋅ si n (σ − λ31 ) 4. The algorithm works consistently inside, outside or
L1 = (9) over the triangle formed by the three beacons (ex-
si n λ31
cept where any restriction common to all three-
Since τ=0º, to compute L1 it is possible to use expression object triangulation algorithms apply).
(8) instead of expression (9). Similarly, for all beacon con- The Generalized Geometric Triangulation algorithm
figurations except those with σ=0º or σ=180º, if λ31=180º works over the whole navigation plane, except for the few
lines plotted in Fig. 7.
Position Error Orientation Error
y y
1 1
3 3
2 2
Fig. 7. Robot is unable to localize itself on these lines of the navigation
plane
x x
B. Simulation Results x1 = 75 x2 = 55 x3 = 25 σ = -128.5º
y1 = 75 y2 = 25 y3 = 60 φ = 68,2º
In order to validate the improved features of the General-
Fig. 9. Simulation results for beacons labeled in clockwise fashion
ized Geometric Triangulation algorithm, two tests were
made in a simulation environment. The code was written in Results displayed in Fig. 8 and Fig. 9 agree with the
Java 2 and compiled with the Java Development Kit (ver- analysis made in Section 4. The Generalized Geometric
sion 1.3) on a personal computer equipped with a Pentium Triangulation algorithm works for both counterclockwise
III processor and running Windows 2000 Professional. and clockwise beacon labeling and the areas unsuitable for
Computations were performed using IEEE 754 Double robot localization are almost reduced to the few lines shown
floating-point format (64 bits). Graphics were plotted with in Fig. 7. The dark straight stripes are formed by points of
Matlab (version 5.2). the square where the robot is unable to “see” three beacons.
In the first test, three beacons placed in known positions Every time this happens during the simulations, the action
of a Cartesian plane are labeled 1, 2 and 3 in counterclock- taken by the algorithm consists of returning a position error
wise fashion. Beacon positions and resulting values of σ arbitrarily set to 20 and an orientation error arbitrarily set to
and φ are shown in Fig. 8. The robot is initially placed at the 30º. Instead of being half straight lines, these stripes widen
origin of the referential system. Its heading is arbitrarily set as the distance from the beacons increases. This is due to
to 0º. Angles λ1, λ2 and λ3 are computed, rounded to inte- the errors contained in angles λ1, λ2 and λ3. It also can be
gers (to simulate the outputs of an instrument unable to seen that significant localization errors occur when the ro-
measure angle increments below 1º) and used as inputs of bot is over or close to the circumference defined by the
the Generalized Geometric Triangulation algorithm. This three beacons. If angles λ1, λ2 and λ3 did not contain errors
algorithm then computes both position and orientation of and computations were performed with an infinite number
the robot. The distance between computed position and ac- of significant digits, a 0/0 indetermination in the computa-
tual position of the robot is the position error. The absolute tion of τ would occur when the robot is over the circumfer-
difference between computed orientation and actual orienta- ence but there would be no localization errors in its sur-
tion of the robot is the orientation error. The whole proce- roundings.
dure is repeated for robot positions covering a 100 x 100
square. Position and orientation errors obtained in each po- C. Comparison with other triangulation algorithms
sition are displayed using a grayscale such that a point be-
Table 1 summarizes some disadvantages of other trian-
comes darker as the error verified in that position increases.
gulation algorithms when compared to the Generalized
The second test is similar to the first one and the beacons
Geometric Triangulation Algorithm.
are placed in the same positions of the Cartesian plane.
However, they are labeled 1, 2 and 3 in clockwise fashion. Table 1. Disadvantages of other triangulation algorithms
Beacon positions and resulting values of σ and φ are shown
Requires Requires
in Fig. 9. beacon position
ordering or and
special Needs to orienta-
beacon solve Has Does not tion
Position Error Orientation Error
y y
configura- equation multiple compute initial
tions systems solutions orientation estimates
Iterative Search x
1 1
Newton-Raphson
2 2 Iterative Method x x
Two Circle Intersection x x
3 3 Three Circle Intersection x x
Geometric Circle
Intersection x
x x Position Estimator x
x1 = 75 x2 = 25 x3 = 55 σ = 128.5º Imperial College B.N.S. x x
y1 = 75 y2 = 60 y3 = 25 φ = 16.7º
Geometric Triangulation x
Fig. 8. Simulation results for beacons labeled in counterclockwise fashion
V. CONCLUSIONS VI. REFERENCES
All three-object triangulation algorithms for absolute [1] McKerrow, P. J., Introduction to Robotics. Addison-Wesley Publish-
ing Company, Inc.. 1991.
self-localization of mobile robots navigating on a plane are [2] Leonard, John J. and Durrant-White, Hugh F., Directed Sonar Sens-
subject to the following restrictions: ing for Mobile Robot Navigation. Kluwer Academic Publishers,
1. At least three distinguishable beacons must be 1992.
“seen” by the robot; [3] Borenstein, J., Everett, H. R. and Feng, L., Where am I? Sensors and
Methods for Mobile Robot Positioning, Technical Report, The Uni-
2. Localization fails when the robot is over the versity of Michigan, 1996.
circumference defined by the three beacons. [4] NDC Automation Inc., Advantage Lazerway™ - Laser Guidance vs.
The Geometric Triangulation algorithm uses three dis- Inertial Guidance, Technology Brief, USA (980129), 1998.
[5] Mentor AGVS, AGV Laser Guidance. 1999.
tinguishable beacons and, in addition to the restrictions that http://www.mentoragvs.com/laser.html
are common to all three-object triangulation algorithms, has [6] Cohen, Charles and Koss, Frank V., “A Comprehensive Study of
three important limitations: Three Object Triangulation”, Mobile Robots VII, SPIE Vol. 1831,
1992.
1. The beacons must be labeled consecutively (1, 2, 3) [7] Everett, H.R., Sensors for Mobile Robots, A K Peters, June 1995.
in counterclockwise fashion; [8] Fuentes, O. et al., Mobile Robotics 1994, Technical Report 588, The
2. The angle between beacons 1 and 2 (λ12) and the University of Rochester Computer Science Department, Rochester,
New York 14627, June 1995.
angle between beacons 1 and 3 (λ31) must be less [9] Stella, E. et al., “An Autonomous System for Indoor Structured En-
than 180º. If this is not true, then the beacon labels vironment”, Intelligent Autonomous Systems, U. Rembold et al.
must be shifted counterclockwise once or twice, un- (Eds.), IOS Press, 1995.
[10] Betke, Margrit and Gurvits, Leonid, “Mobile Robot Localization
til the requirement is met;
Using Landmarks”, IEEE Transactions on Robotics and Automa-
3. It works consistently only when the robot is within tion, Vol. 13, Nº 2, April 1997.
the triangle formed by the three beacons. [11] Turennout, P. van and Honderd, G., “Navigation of a Mobile Ro-
The Generalized Geometric Triangulation algorithm has bot”, Robotic Systems – Advanced Techniques and Applications,
Tzafestas, S. G. (ed.), p. 415-422. Kluwer Academic Publishers,
been presented. It suffers from the restrictions that are 1992.
common to all three-object triangulation algorithms but is [12] Frappier, G.. Lemarquand, P. and Van den Bogaert, T., “Navigation
free from the specific limitations of the Geometric Triangu- and Perception Approach of PANORAMA Project”, Robotic Sys-
tems – Advanced Techniques and Applications, Tzafestas, S. G.
lation algorithm. Improvements are mainly achieved (ed.), p. 391-398. Kluwer Academic Publishers, 1992.
through a careful definition of the angles used by the new [13] Borenstein, J., “Internal Correction of Dead-reckoning Errors With
algorithm, which has the following features: the Smart Encoder Trailer”, International Conference on Intelligent
Robots and Systems (IROS’94) – Advanced Robotic Systems and the
1. The three beacons may be randomly labeled 1, 2, Real World, Munich, Germany, September 12-16, 1994, pp 127-
and 3 (there is no need for consecutive labeling in 134.
counterclockwise fashion); [14] Borenstein, J. and Feng, L., “UMBmark - A Method for Measuring,
2. The three beacons may be placed anywhere in the Comparing, and Correcting Dead-reckoning Errors in Mobile Ro-
bots”, Technical Report, The University of Michigan UM-MEAM-
plane (as long as two beacons do not share the same 94-22, December 1994.
position); [15] Crowley, James L., “Mathematical Foundations of Navigation and
3. Both the angle between beacons 1 and 2 (λ12) and Perception For an Autonomous Mobile Robot”, Worshop on
Reasoning With Uncertainty in Robotics, University of Amsterdam,
the angle between beacons 3 and 1 (λ31) may be The Netherlands. 4 to 6 December 1995.
equal or greater than 180º; [16] Borenstein, Johann and Feng, Liquiang, “Measurement and Correc-
4. The algorithm works consistently inside, outside or tion of Systematic Odometry Errors in Mobile Robots”, IEEE Trans-
actions on Robotics and Automation, Vol. 12, No 5, October 1996.
over the triangle formed by the three beacons (ex-
cept where any restriction common to all three- [17] Borenstein, J., Everett, H. R., Feng, L. and Wehe, D., “Mobile Robot
object triangulation algorithms apply). Positioning - Sensors and Techniques”, Journal of Robotic Systems,
Special Issue on Mobile Robots. Vol. 14, No. 4, pp. 231 – 249,
Results of two tests made in a simulation environment 1997.
agree with the previously made analysis: the Generalized [18] Soares, Manuel G. and Restivo, Francisco J., “Precisão em Navega-
Geometric Triangulation algorithm works for both counter- ção Contínua Terrestre e Marítima com DGPS e GPSI”, 3º Encontro
Nacional do Colégio de Engenharia Electrotécnica, Porto (Expo-
clockwise and clockwise beacon labeling. Though the an-
nor), 5 e 6 de Junho de 1997.
gles used as inputs of the algorithm contain errors, the areas [19] Shoval, S., Zeitoun, I. and Lenz, E., “Implementation of a Kalman
of the plane unsuitable for robot localization are almost re- Filter in Positioning for Autonomous Vehicles, and its Sensitivity to
duced to a few lines. Significant localization errors occur the Process Parameters (abstract)”, Int. J. Adv. Manuf. Tecno., Vol.
13 (10), pp. 738-746, 1997.
when the robot is over or close to the circumference defined [20] Araújo, Paulo Ventura, Curso de Geometria, Gradiva, 1998.
by the three beacons. This suggests the need of providing
the algorithm with a way of detecting these situations and
also to develop a localization strategy that includes alterna-
tives to simple three-object triangulation.