38

Robot Motion Model Graph SLAM

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Robot Motion Model Graph SLAM
Page 2: Robot Motion Model Graph SLAM

Robot Motion Model

EKF based Localization

EKF SLAM

Graph SLAM

Page 3: Robot Motion Model Graph SLAM

General Robot Motion Model

r

<xc, yc>

v • Robot state

• Control at time t

• State update model

Page 4: Robot Motion Model Graph SLAM

Noise model of robot control • Noise model of control

• Robot motion model with noisy control

• Add a random rotation after arriving at xt

Typical noise

Large transition

Large rotation

Page 5: Robot Motion Model Graph SLAM

State Update of a Non-sensing Robot

Variances increase with time

Page 6: Robot Motion Model Graph SLAM

Adding Measurements

Monocular Camera

Stereo Camera RGB-D Camera

LiDAR

Sonar

Page 7: Robot Motion Model Graph SLAM

Processing the measurements

1. Feature extraction • 2D range scan

• Lines • Corners • Local minima in range scans

• Camera • SIFT • SURF • ORB

The map consists a list of features The location of the ith feature is denoted by

, ,( , )i i x i ym m m=

We firstly assume feature extraction is well done.

1 2( , ,..., )Nm m m m=

Feature extraction and association is a key problem in SLAM

Page 8: Robot Motion Model Graph SLAM

Measurements of Laser Range Scanner

Measure range and bearing angle to a feature in the environment

Distance

Angle

Feature state

Page 9: Robot Motion Model Graph SLAM

EKF based Localization EKF 1. Prediction:

2. Correction:

),( 1−= ttt ug µµ

1T

t t t t tP A P A R−= +

1( )T Tt tt t t t tK P H H P H Q −= +

))(( ttttt hzK µµµ −+=

( ) tt t tP I K H P= −

Page 10: Robot Motion Model Graph SLAM

EKF based Robot Localization

1. Prediction

Page 11: Robot Motion Model Graph SLAM

2. Observation

Page 12: Robot Motion Model Graph SLAM

3. State Correction

( )( )

1

ˆ

T Ti i i it t t t t t t

i i it t t t t

i it t t t

K H H H Q

K z z

I K H

µ µ

− = Σ Σ +

= + −

Σ = − Σ

Endfor

Observation to landmark j.

Observation matrix

Kalman Gain

Update state and covariance matrix

Page 13: Robot Motion Model Graph SLAM

Simultaneously Locating and Mapping

Given: The robot’s controls Observations of nearby features

Estimate: Map of features Path of the robot

A robot is exploring an unknown, static environment.

Page 14: Robot Motion Model Graph SLAM

Structure of the Landmark-based SLAM-Problem

Page 15: Robot Motion Model Graph SLAM

SLAM Applications

Indoors

Space

Undersea

Underground

Robot,VR,AR

Page 16: Robot Motion Model Graph SLAM

Why is SLAM a hard problem? SLAM: robot path and map are both unknown

Robot path error correlates errors in the map

Page 17: Robot Motion Model Graph SLAM

17

Why is SLAM a hard problem?

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

Robot pose uncertainty

Page 18: Robot Motion Model Graph SLAM

18

SLAM: Simultaneous Localization And Mapping

Full SLAM:

Online SLAM:

Integrations typically done one at a time

),|,( :1:1:1 ttt uzmxp

121:1:1:1:1:1 ...),|,(),|,( −∫ ∫ ∫= ttttttt dxdxdxuzmxpuzmxp

Estimates most recent pose and map!

Estimates entire path and map!

Page 19: Robot Motion Model Graph SLAM

Graphical Model of Online SLAM:

121:1:1:1:1:1 ...),|,(),|,( −∫ ∫ ∫= ttttttt dxdxdxuzmxpuzmxp

Page 20: Robot Motion Model Graph SLAM

Graphical Model of Full SLAM:

),|,( :1:1:1 ttt uzmxp

Page 21: Robot Motion Model Graph SLAM

SLAM Algorithms

Most of the SLAM algorithms are based on the following three different approaches:

• Extended Kalman Filter SLAM: (called EKF SLAM) • Particle Filter SLAM: (called FAST SLAM) • Graph-Based SLAM

Page 22: Robot Motion Model Graph SLAM

EKF SLAM Using Known Correspondence • The EKF SLAM proceeds exactly like the EKF-based robot

localization • State Variables

• Initialization

( )1, 1, 1 , ,, , , , , , , , ,Tt

t x y N x N x N

xy x y m m s m m s

= =

0

0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0

0 0 0 0

Σ = ∞

3N+3

3N+3

(3N+3)*(3N+3)

Page 23: Robot Motion Model Graph SLAM

Prediction

3N+3

3*(3N+3)

Page 24: Robot Motion Model Graph SLAM

Full Motion model with noise

( )11

1

,t t Tt t x t x

t

g u yG I F g F

yµ−

−−

∂= = +

3N+3

(3N+3)*(3N+3) 3N+3

(3N+3)*(3N+3) 3*(3N+3) (3N+3)*3

3*3

It is approximated by a linear function:

Page 25: Robot Motion Model Graph SLAM

Measurement Model ( ) ( )2 2

, ,

, ,

,

0 0( , ) 0 0

0 0atan2

j x j y rit j y j x

sj s

m x m y

z m y m x Nm

φ

σθ σ

σ

− + − = − − − +

It is approximated by a linear function:

3*6 6*(3N+3)

3*6

6*(3N+3)

3j-3 3N-3j

Page 26: Robot Motion Model Graph SLAM

For a Landmark Never Seen Before Initialize from (0,0,0) is a bad estimator. Initialize a newly seen landmark position by:

Works only when the measurement is bijective. Cannot do such kind of initialization in monocular camera based SLAM

Using centroid or triangulation for roughly location estimation instead.

Page 27: Robot Motion Model Graph SLAM

The Overall EKF-SLAM Algorithm

Page 28: Robot Motion Model Graph SLAM
Page 29: Robot Motion Model Graph SLAM

Example of EKF-SLAM

Page 30: Robot Motion Model Graph SLAM

Complexity Properties of EKF-SLAM

• Storage complexity O(N2) (3N+3)*(3N+3) • Computation complexity O(N2) (3N+3)*(3N+3) Becomes not tolerable when N>10000.

Page 31: Robot Motion Model Graph SLAM

EKF SLAM with Unknown Correspondence • We actually don’t know the number of landmarks, nor the

correspondence between the measurements and the landmarks. • Using maximum likelihood method:

• In practice: Find the landmark with the minimum M-distance

• How to detect new landmark? When ( )( ); , , ,i i T

t t t t t t tN z h c m H H Qµ αΣ + < A threshold

Page 32: Robot Motion Model Graph SLAM

EKF SLAM with Unknown Correspondence

Set number to the number of known landmarks

State prediction

Page 33: Robot Motion Model Graph SLAM

EKF SLAM with Unknown Correspondence

A new landmark hypothesis

Generate observations from all Nt+1 landmarks

Check the M-distance between and i

tz ˆktz

Page 34: Robot Motion Model Graph SLAM

EKF SLAM with Unknown Correspondence A distance threshold to detect new landmark

Nt+1, if all others have distances larger than alpha.

Update accordingly

Page 35: Robot Motion Model Graph SLAM

EKF SLAM without correspondence

Page 36: Robot Motion Model Graph SLAM

36

EKF-SLAM Summary • Quadratic in the number of landmarks: O(n2) • Convergence results for the linear case. • Can diverge if nonlinearities are large! • Have been applied successfully in large-scale

environments. • Approximations reduce the computational complexity.

Page 37: Robot Motion Model Graph SLAM
Page 38: Robot Motion Model Graph SLAM