Algorithms for Mobile Robot Localization and Mapping,
Incorporating Detailed Noise Modeling and Multi-scale Feature Extraction Samuel T. Pfister April 14, 2006
04/14/2006
Algorithms for Mobile Robot Localization and Mapping, Incorporating - - PowerPoint PPT Presentation
Algorithms for Mobile Robot Localization and Mapping, Incorporating Detailed Noise Modeling and Multi-scale Feature Extraction Samuel T. Pfister April 14, 2006 04/14/2006 Mobile Robot Navigation Navigation Applications Unmanned
04/14/2006
04/14/2006 1
04/14/2006 2
04/14/2006 3
04/14/2006 4
04/14/2006 5
04/14/2006 6
04/14/2006 7
04/14/2006 8
04/14/2006 9
04/14/2006 10
04/14/2006 11
04/14/2006 12
04/14/2006 13
04/14/2006 14
04/14/2006 15
04/14/2006 16
04/14/2006 17
04/14/2006 18
04/14/2006 19
Iterate Displacement Guess Initial
04/14/2006 20
Iterate Displacement Guess Initial
04/14/2006 21
Iterate Displacement Guess Initial
04/14/2006 22
Iterate Displacement Guess Initial
04/14/2006 23
Iterate Displacement Guess Initial
04/14/2006 24
Iterate Displacement Guess Initial
04/14/2006 25
Iterate Displacement Guess Initial
04/14/2006 26
Iterate Displacement Guess Initial
04/14/2006 27
Iterate Displacement Guess Initial
04/14/2006 28
Pose i Pose j
04/14/2006 29
Pose i Pose j
04/14/2006 30
k between kth scan point pair
i
uk uj
k
uj
k−1
i
uk−1 uj
k+1
i
uk+1
Pose i Pose j
ij
k
k
k − Rijˆ
k − pij
k
k − Rij
k − pij)
k − Rij
k)
k − Rijδ
k)
04/14/2006 31
k △
k (εij k )T
NP i k + Rij NP j kRT ij
k + Rij BP j kRT ij
CP ij k
NP i k
k(δ
k)T NP i k
k)2σ2 θ
k
k
k
k
d
k
k
k
k
i i
k
d σd σθ
i
uk Pose i
04/14/2006 32
k
k from the
4(δi + + δi −)
k sin β
k cos β
k − sin2 β
i i
k
j
j
i
β
β
i
i k
ij k
k
k
k )2] = (δi +)3 + (δi −)3
+ + δi −)
k = cij k tk CP i k
k (cij k )T] = E[(µij k )2]tktT k
+)3 + (δi −)3
+ + δi −)
k
k sin ηi k
k sin ηi k
k
33
k and αj k
−500 500 1000 1500 2000 500 1000 1500 L1 v1 v2 Y (mm) X (mm) −2000 −1500 −1000 −500 500 1000 1500 2000 2500 −2 −1.5 −1 −0.5 0.5 1 1.5 2 v1 v2 L1 α (radians) R (mm)
04/14/2006 34
k given displacement gij
k }|gij) = nij
2(εij k )T (P ij k )−1εij k
k
nij
k )−1(ˆ
k − ˆ
k)
k )−1
i=1 pT k (P ij k )−1Jqk
k=1 qT k J(P ij k )−1Jqk
k
k − ˆ
k
04/14/2006 35
−6000 −5000 −4000 −3000 −2000 −1000 1000 2000 3000 4000 (mm) Table at Laser Height Moving Person Pose 1 Pose 2
A
Pose 1 Scan Points Pose 2 Scan Points Perturbed Initial Displacements −110 −105 −100 −95 −90 −85 −80 (mm) Pose 2 Closeup : Pose 2
B
476 estimates (31.2%) converge to within 3σ
Unweighted 1456 estimates (95.5%) converge to within 3σ
Weighted Initially unperturbed unweighted estimate Initially unperturbed weighted estimate True Pose 2 Displacement Unweighted Displacement Estimates Weighted Displacement Estimates Pose 2 Measurement Covariance (3σ) Unweighted Covariance (3σ) Weighted Covariance (3σ)
04/14/2006 36
−1000 1000
(mm) Pose 1 Pose 2
A
Pose 1 Scan Points Pose 2 Scan Points Perturbed Initial Displacements Unweighted Displacement Estimates Weighted Displacement Estimates 174 176 178 180 182 184
(mm) Pose 2 Closeup : Pose 2
B
46 estimates (3.0%) converge to within 3σ
Unweighted 1145 estimates (75.1%) converge to within 3σ
Weighted Initially unperturbed unweighted estimate Initially unperturbed weighted estimate
True Pose 2 Displacement Unweighted Displacement Estimates Weighted Displacement Estimates Pose 2 Measurement Covariance (3σ) Unweighted Covariance (3σ) Weighted Covariance (3σ)
04/14/2006 37
04/14/2006 38
04/14/2006 39
04/14/2006 40
04/14/2006 41
04/14/2006 42
04/14/2006 43
04/14/2006 44
α ρ
a
ψ
b
ψ
04/14/2006 45
P
α ρ
V
α
ρ
α
ρ
ψa
ψb
P PS(H−1 P )T,
04/14/2006 46
A
Robot pose 1000 mm Range scan points 114 (ρ0, α0) α (rad) −1 −0.5 0.5 1 1.5 ρ (mm) −4000 −2000 2000 4000
A
ρ0 α0
B
1000 mm Range scan points Extracted infinite line
A
1000 mm Point uncertainty bounds Grouped points
04/14/2006 47
k k k k
k=1 ˆ ψk Pδρk
k=1 1 Pδρk
k=1 ˆ dk cos(ˆ α−ˆ θk) Pδρk
k=1 1 Pδρk
k=1
Pδρk
k=1
Pδρk
48
B
1000 mm Line uncertainty bounds Extracted line segment
B
1000 mm Line uncertainty bounds Extracted line segments
04/14/2006 49
Sj S i S i S j S i Sj Sj S i
04/14/2006 50
P
04/14/2006 51
b − ψi a
a − ψj b
ψ = ℓi + ℓj
c − ψj c| ≤ ∆ij ψ then D2 = 0
c − ψj c > ∆ij ψ then D2 =
c − ψj c − ∆ij ψ)2
ψaψa + P j ψbψb
c − ψj c < −∆ij ψ then D2 =
c − ψj c + ∆ij ψ)2
ψbψb + P j ψaψa
S i S j
04/14/2006 52
a
a − ˜
a)2
ψaψa + P j ψaψa
b
b − ˜
b)2
ψbψb + P j ψbψb σψb
i
S i Sj σψb
j
04/14/2006 53
S i
j
S
αα + P j αα
α =
αα + P j αα)
α
ρ
54
j2
S
j1
S S i
αα + P j αα
α =
αα + P j αα)
α
ρ
55
L j
P
Li
V
m
Sm
Sm =
m
Lm
Lm =
a = min(ψi a, ψj a), ψm b = max(ψi b, ψj b)
04/14/2006 56
k
k
k + VkP ¯ SV T k
04/14/2006 57
04/14/2006 58
Odometry : Raw Data
1000 mm Range Point Data Robot Poses Actual Robot Poses
Castellanos et.al.
1000 mm Line Segments Estimated Robot Poses Actual Robot Poses
My Methods
1000 mm Line Segments Estimated Robot Poses Actual Robot Poses
04/14/2006 59
04/14/2006 60
Scale = 25 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds Scale = 50 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds Scale = 100 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds Robot pose Scale = 200 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds Data points
04/14/2006 61
04/14/2006 62
Multi−scale graph connections Feature nodes Selected feature nodes 25 50 100 200 Scale (mm) Robot pose Scale = 200 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds Data points Scale = 100 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds Scale = 50 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds Scale = 25 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds
04/14/2006 63
b
ψ
a
ψ ρ ρ α
a b
04/14/2006 64
B
ψ
P
ρ
V
P P
α
ρa
ρb
ψa
ψb
PBPB(H−1 PB)T,
PB =
65
Raw data points Robot pose 1000 mm 90 α0 α (rad) −1 −0.5 0.5 1 1.5 ρ (mm) −4000 −2000 2000 4000 Hough Space
ρa ρb Convolution Basis Extracted bounds uncertainty Extracted block bounds (ρa ρb) Convolved data Hough space data at angle α0 ρ (mm) −2000 2000 4000 Block Position Extraction (ρa, ρb) Coarse Scale ρa ρb Convolution Basis Extracted bounds uncertainty Extracted block bounds (ρa ρb) Convolved data Hough space data at angle α0 ρ (mm) −3000−2000−1000 1000 2000 3000 Block Position Extraction (ρa, ρb) Fine Scale ρ0 α0 Extracted infinite block Coarse Scale Extracted infinite block Coarse Scale 1000 mm Extracted bounds uncertainty Extracted block bounds ρ0 α0 Extracted infinite block Fine Scale Extracted infinite block Fine Scale 1000 mm Extracted bounds uncertainty Extracted block bounds
04/14/2006 66
αα
ρρ
ρρ
ψaψa
ψbψb
ψa ψb Convolution Basis Extracted bounds uncertainty Extracted ends (ψa ψb) Convolved data Point data projected into ψ axis Point data inside infinite block ψ (mm) −2000 −1000 1000 2000 3000 Endpoint Extraction (ψa, ψb) Fine Scale Extracted Block Fine Scale 1000 mm Extracted bounds uncertainty Extracted block bounds 71 α0 α (rad) −1 −0.5 0.5 1 1.5 ρ (mm) −4000 −2000 2000 4000 Hough Space Extracted Block Fine Scale 1000 mm Extracted bounds uncertainty Extracted block bounds Prior block
04/14/2006 67
90 α0 α (rad) −1 −0.5 0.5 1 1.5 ρ (mm) −4000 −2000 2000 4000 Hough Space 161 α0 α (rad) −1 −0.5 0.5 1 1.5 ρ (mm) −4000 −2000 2000 4000 Hough Space
04/14/2006 68
Pose i Pose j
04/14/2006 69
i
∆ α
j j
∆ α
i
α
b − ρi a
b − ψi a
α = tan−1
b − ρj a
b − ψj a
α + ∆j α then D2 = 0
α + ∆j α then D2 = (|αi − αj| − ∆i α + ∆j α)2
αα + P j αα
04/14/2006 70
04/14/2006 71
Multi−scale graph connections Feature nodes Selected feature nodes 25 50 100 200 Scale (mm) Robot pose Scale = 200 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds Data points Scale = 100 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds Scale = 50 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds Scale = 25 mm 1000 mm Extracted bounds uncertainty Selected feature bounds Feature bounds
04/14/2006 72
Scale (mm) 200 100 50 25 Matched feature nodes Scale (mm) 200 100 50 25 Matched feature nodes 1000 mm Robot pose 1 1000 mm Robot pose 2 1000 mm Unmatched features Matched features, pose2 Matched features, pose1
04/14/2006 73
True pose 2 Perturbed pose 2 Pose 2 uncertainty bounds Pose 2 uncertainty bounds Pose 1 Features, pose2 Features, pose1 Scale = 400 mm Scale = 200 mm Scale = 100 mm Scale = 50 mm Scale = 25 mm Scale = 12.5 mm Unmatched features, pose2 Unmatched features, pose1 Matched features, pose2 Matched features, pose1
04/14/2006 74
Kidnapped Robot Data, Scale = 200mm 1000 mm Range Data Points Block Features Kidnapped Robot Data, Scale = 100mm 1000 mm Kidnapped Robot Data, Scale = 50mm 1000 mm Kidnapped Robot Data, Scale = 25mm 1000 mm Kidnapped Robot Data, Scale = 12.5mm 1000 mm
Map Scale = 200mm 1000 mm Uncertainty Bounds Block Features Map Scale = 100mm 1000 mm Map Scale = 50mm 1000 mm Map Scale = 25mm 1000 mm Map Scale = 12.5mm 1000 mm
04/14/2006 75
1000 mm Comparison Scale = 200mm Overlap Ratio = 0.44797 − INVALID HYPOTHESIS 1000 mm Comparison Scale = 200mm Overlap Ratio = 0.26055 − INVALID HYPOTHESIS 1000 mm Comparison Scale = 200mm Overlap Ratio = 0.38526 − INVALID HYPOTHESIS 1000 mm Comparison Scale = 200mm Overlap Ratio = 0.2519 − INVALID HYPOTHESIS
04/14/2006 76
1000 mm Comparison Scale = 200mm Overlap Ratio = 0.993 − CANDIDATE MATCH Comparison Scale = 100mm Overlap Ratio = 0.8594 − CANDIDATE MATCH 1000 mm Comparison Scale = 50mm Overlap Ratio = 0.40885 − INVALID HYPOTHESIS 1000 mm 1000 mm Comparison Scale = 200mm Overlap Ratio = 0.72829 − CANDIDATE MATCH Comparison Scale = 100mm Overlap Ratio = 0.72997 − CANDIDATE MATCH 1000 mm Comparison Scale = 50mm Overlap Ratio = 0.3887 − INVALID HYPOTHESIS 1000 mm
04/14/2006 77
1000 mm Comparison Scale = 200mm Overlap Ratio = 1 − CANDIDATE MATCH Comparison Scale = 100mm Overlap Ratio = 0.94655 − CANDIDATE MATCH 1000 mm Comparison Scale = 50mm Overlap Ratio = 1 − CANDIDATE MATCH 1000 mm Comparison Scale = 25mm Overlap Ratio = 0.98494 − CANDIDATE MATCH 1000 mm
Comparison Scale = 12.5mm Overlap Ratio = 0.99137 − CONFIRMED MATCH 1000 mm
04/14/2006 78
04/14/2006 79
04/14/2006 80
04/14/2006 81
04/14/2006 82
04/14/2006 83
04/14/2006 84