Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
1 62623 SLAM, J. Neira
3. The Data Association Problem
2 62623 SLAM, J. Neira
Outline 1. Introduction:
Why data association is important in SLAM, why it’s difficult
2. Data association in continuous SLAM
3. The loop closing problem
4. The global localization problem
5. Appendix
3 62623 SLAM, J. Neira
1. Introduction
4 62623 SLAM, J. Neira
» Red dots: environment features (columns) » Black line: robot trajectory » Black semicircle: sensor range
Example: SLAM in a cloister
5 62623 SLAM, J. Neira
Without loss of generality... • Enviroment to be mapped has more or less
uniform density of features
6 62623 SLAM, J. Neira
Without loss of generality... • Enviroment to be mapped has more or less
uniform density of features
7 62623 SLAM, J. Neira
Without loss of generality... • Onboard range and bearing sensor obtains m
measurements
8 62623 SLAM, J. Neira
Without loss of generality... • Vehicle performs an exploratory trajectory, re-
observing r features, and seeing s = m – r new features.
9 62623 SLAM, J. Neira
The basic EKF-SLAM algorithm • Environment information related to a set
of elements:
• represented by a stochastic map:
B xFn B
xF1 B
xF2 B
xR B
10 62623 SLAM, J. Neira
EKF-SLAM demo_laser
11 62623 SLAM, J. Neira
Map Features in 2D
Points:
Lines:
12 62623 SLAM, J. Neira
Sensor measurements • In polar coordinates: • In cartesian coordinates:
13 62623 SLAM, J. Neira
The basic EKF SLAM Algorithm
Sensor measurements
14 62623 SLAM, J. Neira
EKF-SLAM: Observations
Sensor model (white noise): Measurement equation:
Observations at instant k:
15 62623 SLAM, J. Neira
EKF-SLAM: add new features
Linearization:
Where:
16 62623 SLAM, J. Neira
EKF-SLAM: add new features
17 62623 SLAM, J. Neira
EKF-SLAM: add new features
18 62623 SLAM, J. Neira
EKF-SLAM: compute robot motion
19 62623 SLAM, J. Neira
Vehicle motion in 2D
Inversion:
Composition:
20 62623 SLAM, J. Neira
Odometry in 2D Jacobians:
21 62623 SLAM, J. Neira
EKF-SLAM: compute robot motion
Odometry model (white noise):
EKF prediction:
22 62623 SLAM, J. Neira
EKF-SLAM: compute robot motion
23 62623 SLAM, J. Neira
EKF-SLAM: Observations
24 62623 SLAM, J. Neira
EKF-SLAM: Observations
Sensor model (white noise): Measurement equation:
Observations at instant k:
Association Hypothesis (obs. i with map feature ji) :
25 62623 SLAM, J. Neira
EKF-SLAM: Data association
26 62623 SLAM, J. Neira
EKF-SLAM: Observations
Linearization:
27 62623 SLAM, J. Neira
Data association
Innovation:
Mahalanobis distance:
Hypothesis test:
28 62623 SLAM, J. Neira
EKF-SLAM: map update
State update:
Covariance update:
Filter gain:
29 62623 SLAM, J. Neira
EKF-SLAM: map update
30 62623 SLAM, J. Neira
The Data Association Problem
• n map features:
• m sensor measurements:
• Data association should return a hypothesis that associates each observation Ei with a feature Fji
• Non matched observations:
31 62623 SLAM, J. Neira
The Correspondence Space Interpretation tree
(Grimson et al. 87):
possible hypotheses
Green points: measurements Blue Points: predicted features
32 62623 SLAM, J. Neira
Why data association is difficult • Low sensor error • High sensor error
33 62623 SLAM, J. Neira
Why data association is difficult • Low odometry error • High odometry error
34 62623 SLAM, J. Neira
Why data association is difficult • Low feature density • High feature density
35 62623 SLAM, J. Neira
How important is data association?
A good algorithm A bad algorithm
36 62623 SLAM, J. Neira
Why it’s difficult?
A good algorithm A bad algorithm
37 62623 SLAM, J. Neira
Importance of Data Association • EKF update:
• If the association of Ei with feature Fj is…..
error:
covariance:
Divergence! Consistency
correct: spurious:
Values that depend on
38 62623 SLAM, J. Neira
2. Data association in continuous SLAM
39 62623 SLAM, J. Neira
Individual Compatibility • Measurement equation for observation Ei and
feature Fj
• Ei and Fj are compatible if:
d = length(zi)
40 62623 SLAM, J. Neira
Nearest Neighbor
Greedy algorithm: O(mn)
41 62623 SLAM, J. Neira
The Fallacy of the Nearest Neighbor
Unrobust
42 62623 SLAM, J. Neira
Joint Compatibility
• Given a hypothesis • Joint measurement equation
• The joint hypothesis is compatible if:
d = length(z)
43 62623 SLAM, J. Neira
Joint Compatibility Branch and Bound
• Find the largest hypothesis with jointly consistent pairings
Selects the largest set of pairings where there is consensus
44 62623 SLAM, J. Neira
The Fallacy of the Nearest Neighbor
A
B
J. Neira, J.D. Tardós. Data Association in Stochastic Mapping using the Joint Compatibility Test IEEE Trans. Robotics and Automation, Vol. 17, No. 6, Dec 2001, pp 890 –897
45 62623 SLAM, J. Neira
SLAM without odometry
• No estimation of the vehicle motion
46 62623 SLAM, J. Neira
SLAM without odometry
x y
x y
x y
x y
x y
x y
x y
x y
Assuming small motions
47 62623 SLAM, J. Neira
SLAM without odometry
x y
x y
x y
x y
x y
x y
x y
x y
Data association using Joint Compatibility
48 62623 SLAM, J. Neira
SLAM without odometry
x y
x y
x y
x y
x y
x y
x y
Vehicle motion estimation
49 62623 SLAM, J. Neira
SLAM without odometry
50 62623 SLAM, J. Neira
Continuous data association
Individual compatibility is O(nm) = O(n)
51 62623 SLAM, J. Neira
Map tessellation
Individual compatibility can be O(1)
52 62623 SLAM, J. Neira
4. The loop closing problem
53 62623 SLAM, J. Neira
Why we do SLAM
Dead-reckoning drift
54 62623 SLAM, J. Neira
Dead-reckoning, moving forward
0 50 100 150 -1
-0.5
0
0.5
1 Vehicle error in x (m)
0 50 100 150 -4
-2
0
2
4 Vehicle error in y (m)
0 50 100 150 -4
-2
0
2
4 Vehicle error in theta (deg)
0 50 100 150 0
0.5
1
1.5
2 x 10 -3 sqrt(det (P))
55 62623 SLAM, J. Neira
Bad news…
Uncertainty still grows!
-2 0 2 4 6 8 10 12 -2
0
2
4
6
8
10
12
56 62623 SLAM, J. Neira
Good news!
Loop closing reduces uncertainty!
-2 0 2 4 6 8 10 12 -2
0
2
4
6
8
10
12
57 62623 SLAM, J. Neira
Loop closing in EKF-SLAM
Loop closing reduces uncertainty!
0 20 40 60 -1
-0.5
0
0.5
1 Vehicle error in x (m)
0 20 40 60 -1
-0.5
0
0.5
1 Vehicle error in y (m)
0 20 40 60 -10
-5
0
5
10 Vehicle error in theta (deg)
0 20 40 60 0
2
4
6
8 x 10 -4 sqrt(det(P))
58 62623 SLAM, J. Neira
Loop closing
0 1 2 3 4 5 6 -2
-1
0
1
2
x y
x
y
x
y
x
y
x
y
demo_sonar
59 62623 SLAM, J. Neira
Nearest Neighbor
0 1 2 3 4 5 6 -2
-1
0
1
2
x y
x
y
x
y
x
y
x
y
Individually compatible
pairings
Wrong answer!
60 62623 SLAM, J. Neira
Joint Compatibility at work
0 1 2 3 4 5 6 -2
-1
0
1
2
x y
x
y
x
y
x
y
x
y
Jointly compatible
pairings
61 62623 SLAM, J. Neira
Loop closing in mosaicing use first
Joint work with R. García, University of Girona
62 62623 SLAM, J. Neira
Loop closing in mosaicing: use Last
Sequential mosaicing is a form of odometry
63 62623 SLAM, J. Neira
The loop closing problem • Loop beginning • Loop end
64 62623 SLAM, J. Neira
The loop closing problem
65 62623 SLAM, J. Neira
The loop closing problem
-100 -50 0 50 100 150 200 250 300 350
-150
-100
-50
0
50
100
150
200
Measurements (red) and predicted features (blue)
66 62623 SLAM, J. Neira
The loop closing problem
• Individual compatibility • Joint Compatibility
0 20 40 60 80 100 120 140 160 180
-50
0
50
100 0 20 40 60 80 100 120 140 160 180
-50
0
50
100
67 62623 SLAM, J. Neira
The loop closing problem
68 62623 SLAM, J. Neira
4. The Global Localization problem
69 62623 SLAM, J. Neira
Global Localization • Robot placed in a previously mapped environment
http://www.acfr.usyd.edu.au/homepages/academic/enebot/victoria_park.htm
70 62623 SLAM, J. Neira
Problem Definition • On-board sensor obtains m measurements:
http://www.acfr.usyd.edu.au/homepages/academic/enebot/victoria_park.htm
71 62623 SLAM, J. Neira
Problem Definition
• Twofold question: – Is the vehicle in the map? – If so, where?
http://www.acfr.usyd.edu.au/homepages/academic/enebot/victoria_park.htm
72 62623 SLAM, J. Neira
Global Localization algorithms
• Correspondence space – Consider consistent combinations of measurement-
feature pairings. » Branch and Bound (Grimson, 1990) » Maximum Clique (Bailey et. al. 2000) » Random Sampling (Neira et. al. 2003)
• Configuration space – Consider different vehicle location hypotheses.
» Monte Carlo Localization (Fox et. al. 1999) » Markov Localization (Fox et. al. 1998)
73 62623 SLAM, J. Neira
In correspondence space
74 62623 SLAM, J. Neira
No vehicle location • Unary constraints:
depend on a single matching (size, color,…)
– Trees: trunk diameter
– Walls: length, corners: angle....
OK
61 714 354 176 000 valid hypotheses
75 62623 SLAM, J. Neira
No vehicle location • Binary constraints:
distances between points:
0 100 200 300 400 500 600 100
200
300
400
500
600
700
800
900
76 62623 SLAM, J. Neira
Locality • Features Fi and Fj may belong to the same
hypotesis iff they are ‘close enough’.
x y x y x y x y x y x y
x y
x y S1
S2 S3
S4 S5
S6 S7 x y
x y S1
S2 S3
S4 S5
S6 S7
0 10 20 30 40 50 60 70
0
10
20
30
40
50
60
70
nz = 755
Covisibility matrix
Limit search in the map to subsets of covisible features Locality makes search linear with the global map size
77 62623 SLAM, J. Neira
Algorithm 1: Geometric Constraints Branch and Bound (Grimson, 1990)
78 62623 SLAM, J. Neira
Algorithm 2: Maximum Clique
• All unary and binary constraints can be precomputed
• Build a compatibility graph where: – Nodes represent unary compatible pairings – Arcs represent pairs of binary compatible pairings
• Carrahan, Pardalos (1990)
13
22
32
41
79 62623 SLAM, J. Neira
Algorithm 3: Generation Verification Generation
80 62623 SLAM, J. Neira
Algorithm 4: RANSAC
81 62623 SLAM, J. Neira
mean time .vs. m
Experiments 1. No significant difference in effectiveness of the
considered algorithms 2. All algorithms are made linear with the size of
the map 3. Efficiency when the vehicle is in the map
82 62623 SLAM, J. Neira
Experiments 4. When the vehicle is NOT in the map: random measurements, 100 for each m=3..30
mean time .vs. m
J. Neira, J.D. Tardós, J.A. Castellanos, Linear time vehicle relocation in SLAM. IEEE Int. Conf. Robotics and Automation, Taipei, Taiwan, May, 2003
83 62623 SLAM, J. Neira
In configuration space
84 62623 SLAM, J. Neira
In Configuration Space: RANDOM sampling
• Consider s randomly chosen vehicle locations hypotheses:
• Monte Carlo Localization
85 62623 SLAM, J. Neira
Alternative 1: location-driven
• Consider each alternative location hypothesis in turn
86 62623 SLAM, J. Neira
In Configuration Space: GRID sampling
• Uniformly tessellate the space in s = nx ny nφ grid cells:
• Markov Localization
87 62623 SLAM, J. Neira
Voting in configuration space • Each measurement-feature pairing constrains the
set of possible vehicle locations:
88 62623 SLAM, J. Neira
Alternative 2: pairing-driven
• Consider each measurement-feature pairing in turn
2
89 62623 SLAM, J. Neira
Results – Resolution: 1.5m for x and y, and 1º for theta
90 62623 SLAM, J. Neira
• How do they compare?
• Pair_driven is better in proportion to the density of features in the environment.
• Victoria Park: 18321 sq. m.,sample every 1.5m, expect pair_driven to be 82 faster.
91 62623 SLAM, J. Neira
Conclusions
• Data association in SLAM: algorithms based on some form of consensus provide the best results
» Joint Compatibility » RANSAC » Hough Transform