SLAM

advertisement
Probabilistic Robotics
SLAM
The SLAM Problem
A robot is exploring an
unknown, static environment.
Given:
• The robot’s controls
• Observations of nearby features
Estimate:
• Map of features
• Path of the robot
2
Structure of the Landmarkbased SLAM-Problem
3
SLAM Applications
Indoors
Undersea
Space
Underground
4
Representations
• Grid maps or scans
[Lu & Milios, 97; Gutmann, 98: Thrun 98; Burgard, 99; Konolige & Gutmann, 00; Thrun, 00; Arras,
99; Haehnel, 01;…]
• Landmark-based
[Leonard et al., 98; Castelanos et al., 99: Dissanayake et al., 2001; Montemerlo et al., 2002;…
5
Why is SLAM a hard problem?
SLAM: robot path and map are both unknown
Robot path error correlates errors in the map
6
Why is SLAM a hard problem?
Robot pose
uncertainty
• In the real world, the mapping between
•
•
observations and landmarks is unknown
Picking wrong data associations can have
catastrophic consequences
Pose error correlates data associations
7
SLAM:
Simultaneous Localization and Mapping
• Full SLAM:
Estimates entire path and map!
p( x1:t , m | z1:t , u1:t )
• Online SLAM:
p( xt , m | z1:t , u1:t )      p( x1:t , m | z1:t , u1:t ) dx1dx2 ...dxt 1
Integrations typically done one at a time
Estimates most recent pose and map!
8
Graphical Model of Online SLAM:
p( xt , m | z1:t , u1:t )      p( x1:t , m | z1:t , u1:t ) dx1 dx2 ...dxt 1
9
Graphical Model of Full SLAM:
p( x1:t , m | z1:t , u1:t )
10
Scan Matching
Maximize the likelihood of the i-th pose and
map relative to the (i-1)-th pose and map.

[ t 1]
xˆt  arg max p( zt | xt , mˆ

)  p( xt | ut 1 , xˆt 1 )
xt
robot motion
current measurement
map constructed so far
ˆ according to “mapping
Calculate the map m
with known poses” based on the poses and
observations.
[t ]
11
Kalman Filter Algorithm
1.
Algorithm Kalman_filter( mt-1, St-1, ut, zt):
2.
3.
4.
Prediction:
m t  At mt 1  Bt ut
5.
6.
7.
8.
Correction:
9.
Return mt, St
St  At St 1 AtT  Rt
Kt  St CtT (Ct St CtT  Qt )1
mt  m t  Kt ( zt  Ct m t )
St  ( I  Kt Ct )St
13
Kalman
Filter
Algorithm
Known
correspondences
14
Kalman
Filter
Algorithm
Unknown
correspondences
15
Kalman Filter Algorithm
Unknown
Correspondences
(cont’d)
16
(E)KF-SLAM
• Map with N landmarks:(3+2N)-dimensional
Gaussian
Bel ( xt , mt ) 
x
 
 y
 
 
 l1  ,
l 
 2

 
 lN 
  x2

  xy

  x
  xl1

  xl2
 

 xl
 N
 xy
 y2
 y
 yl1
 yl2

 yl N
 x
 y
 2
 l1
 l2

 lN
 xl1
 yl1
 l1
 l21
 l1l2

 l1lN
 xl2
 yl2
 l2
 l1l2
 l22

 l2l N
  xl N 

  ylN 

  lN 
  l1lN 

  l2l N 
  

2 
  lN 
• Can handle hundreds of dimensions
17
Classical Solution – The EKF
• Approximate the SLAM posterior with a high•
dimensional Gaussian [Smith & Cheesman, 1986] …
Single hypothesis data association
18
EKF-SLAM
Map
Correlation matrix
19
EKF-SLAM
Map
Correlation matrix
20
EKF-SLAM
Map
Correlation matrix
21
Properties of KF-SLAM
(Linear Case) [Dissanayake et al., 2001]
Theorem:
In the limit the landmark estimates
become fully correlated
22
Victoria Park Data Set
[courtesy by E. Nebot]
23
Victoria Park Data Set Vehicle
[courtesy by E. Nebot]
24
Data Acquisition
[courtesy by E. Nebot]
25
SLAM
[courtesy by E. Nebot]
26
Map and Trajectory
Landmarks
Covariance
[courtesy by E. Nebot]
27
Landmark Covariance
[courtesy by E. Nebot]
28
Estimated Trajectory
[courtesy by E. Nebot]
29
EKF SLAM Application
[courtesy by John Leonard]
30
EKF SLAM Application
odometry
estimated trajectory
[courtesy by John Leonard]
31
EKF-SLAM Summary
• Quadratic in the number of
landmarks: O(n2)
• Convergence results for the linear
case.
• Can diverge if nonlinearities are large!
• Has been applied successfully in
large-scale environments.
• Approximations reduce the
computational complexity.
32
Download