kalman intro slides

Upload: cooldoubtless

Post on 04-Jun-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Kalman Intro Slides

    1/48

    UNC Chapel Hill Computer Science Slide 1

    STC Lecture Series

    An Introduction to the Kalman FilterGreg Welch and Gary Bishop

    University of North Carolina at Chapel Hill

    Department of Computer Science

    http://www.cs.unc.edu/~welch/kalmanLinks.html

  • 8/13/2019 Kalman Intro Slides

    2/48

    UNC Chapel Hill Computer Science Slide 2

    Where Were Going

    Introduction & Intuition

    The Discrete Kalman Filter

    A Simple Example

    Variations of the Filter Relevant Applications & References

  • 8/13/2019 Kalman Intro Slides

    3/48

    UNC Chapel Hill Computer Science Slide 3

    The Kalman filter

    Seminal paper by R.E. Kalman, 1960

    Set of mathematical equations

    Optimal estimator

    minimum mean square error

    Versatile

    Estimation

    Filtering

    Prediction

    Fusion

    predictpredict correctcorrect

  • 8/13/2019 Kalman Intro Slides

    4/48

    UNC Chapel Hill Computer Science Slide 4

    Why a Kalman Filter?

    Efficient least-squares implementation

    Past, present and future estimation

    Estimation of missing states

    Measure of estimation quality (variance) Robust

    forgiving in manyways

    stable given common conditions

  • 8/13/2019 Kalman Intro Slides

    5/48

    UNC Chapel Hill Computer Science Slide 5

    Some Intuition

  • 8/13/2019 Kalman Intro Slides

    6/48

    UNC Chapel Hill Computer Science Slide 6

    First Estimate

    x1 =z1

    21 =

    2z1

    Conditional Density Function

    14121086420-2

    N(z1,z12 )

    z1 2

    z1,

  • 8/13/2019 Kalman Intro Slides

    7/48

    UNC Chapel Hill Computer Science Slide 7

    Second Estimate

    Conditional Density Function

    z2 2

    z2,

    x2 = ...?

    22 = ...? 14121086420-2

    N(z2,z22 )

  • 8/13/2019 Kalman Intro Slides

    8/48

    UNC Chapel Hill Computer Science Slide 8

    Combine Estimates

    = z22

    z1

    2 + z22( )[ ]z1+ z1

    2z1

    2 + z22( )[ ]z2x2

    =

    x1+ K

    2z

    2

    x

    1[ ]where

    K2= z12

    z1

    2

    +z22

    ( )

  • 8/13/2019 Kalman Intro Slides

    9/48

    UNC Chapel Hill Computer Science Slide 9

    Combine Variances

    1

    2=

    1

    z1

    2

    ( )+

    1

    z2

    2

    ( )2

  • 8/13/2019 Kalman Intro Slides

    10/48

    UNC Chapel Hill Computer Science Slide 10

    Combined Estimate Density

    x =

    2

    = 22

    x2

    14121086420-2

    Conditional Density Function

    N( 2)x,

  • 8/13/2019 Kalman Intro Slides

    11/48

    UNC Chapel Hill Computer Science Slide 11

    Add Dynamics

    dx/dt= v+ w

    wherevis the nominal velocity

    wis a noise term (uncertainty)

  • 8/13/2019 Kalman Intro Slides

    12/48

    UNC Chapel Hill Computer Science Slide 12

    Propagation of Density

  • 8/13/2019 Kalman Intro Slides

    13/48

    UNC Chapel Hill Computer Science Slide 13

    Some Details

    xx AA xx ww

    zz HH xx

    ........

    = +

    =

  • 8/13/2019 Kalman Intro Slides

    14/48

    UNC Chapel Hill Computer Science Slide 14

    Discrete Kalman Filter

    Maintains first two statistical moments

    process state (mean)

    error covariance

    z

    y

    x

  • 8/13/2019 Kalman Intro Slides

    15/48

    UNC Chapel Hill Computer Science Slide 15

    Discrete Kalman Filter

    A discreteprocess model

    change in state over time

    linear difference equation

    A discrete measurement modelrelationship between state and measurement

    linear function

    Model Parameters

    Process noise characteristicsMeasurement noise characteristics

    The Ingredients

  • 8/13/2019 Kalman Intro Slides

    16/48

    UNC Chapel Hill Computer Science Slide 16

    Necessary Models

    measurementmodel

    dynamicmodel

    previous state next state

    state

    measurement

    image plane( u , v )

  • 8/13/2019 Kalman Intro Slides

    17/48

    UNC Chapel Hill Computer Science Slide 17

    The Process Model

    x k+1 = Axk+ wk

    zk= Hxk+ vk

    Process Dynamics

    Measurement

  • 8/13/2019 Kalman Intro Slides

    18/48

    UNC Chapel Hill Computer Science Slide 18

    Process Dynamics

    x k+1 = Axk+ wk

    xkncontains the states of the process

    state vector

  • 8/13/2019 Kalman Intro Slides

    19/48

    UNC Chapel Hill Computer Science Slide 19

    Process Dynamics

    nxn matrixArelates state at time step kto

    time step k+1

    state transition matrix

    x k+1 =Axk+ wk

  • 8/13/2019 Kalman Intro Slides

    20/48

    UNC Chapel Hill Computer Science Slide 20

    Process Dynamics

    process noise

    wknmodels the uncertainty of the process

    wk~ N(0, Q)

    x k+1 = Axk+ wk

  • 8/13/2019 Kalman Intro Slides

    21/48

    UNC Chapel Hill Computer Science Slide 21

    Measurement

    zk= Hxk+ vk

    zkmis the process measurement

    measurement vector

  • 8/13/2019 Kalman Intro Slides

    22/48

    UNC Chapel Hill Computer Science Slide 22

    Measurement

    zk= Hxk+ vk

    state vector

  • 8/13/2019 Kalman Intro Slides

    23/48

    UNC Chapel Hill Computer Science Slide 23

    Measurement

    mxn matrixHrelates state to measurement

    measurement matrix

    zk=Hxk+ vk

  • 8/13/2019 Kalman Intro Slides

    24/48

    UNC Chapel Hill Computer Science Slide 24

    Measurement

    measurement noise

    zkmmodels the noise in the measurement

    vk~ N(0,R)

    zk= Hxk+ vk

  • 8/13/2019 Kalman Intro Slides

    25/48

    UNC Chapel Hill Computer Science Slide 25

    State Estimates

    a prioristate estimate

    a posterioristate estimate

    x k

    xk

  • 8/13/2019 Kalman Intro Slides

    26/48

    UNC Chapel Hill Computer Science Slide 26

    Estimate Covariances

    a prioriestimate error covariance

    a posterioriestimate error covariance

    Pk= E[(xk-xk

    )(xk-xk)T]

    Pk= E[(xk-xk)(xk-xk)T

    ]

  • 8/13/2019 Kalman Intro Slides

    27/48

    UNC Chapel Hill Computer Science Slide 27

    Filter Operation

    Time update (a prioriestimates)

    Measurement update (a posterioriestimates)

    Project state and covariance forward

    to next time step, i.e.predict

    Update with a (noisy) measurement

    of the process, i.e. correct

  • 8/13/2019 Kalman Intro Slides

    28/48

    UNC Chapel Hill Computer Science Slide 28

    Time Update (Predict)

    state

    error covariance

  • 8/13/2019 Kalman Intro Slides

    29/48

    UNC Chapel Hill Computer Science Slide 29

    Measurement Update (Correct)

  • 8/13/2019 Kalman Intro Slides

    30/48

    UNC Chapel Hill Computer Science Slide 30

    Time Update (Predict)

    a prioristate and error covariance

    xk+1=Axk

    Pk+1=APkA+ Q

  • 8/13/2019 Kalman Intro Slides

    31/48

    UNC Chapel Hill Computer Science Slide 31

    Measurement Update (Correct)

    a posterioristate and error covariance

    Kalman gain

    xk=xk + Kk(zk-Hxk )

    Pk= (I- KkH)Pk

    Kk= PkHT(HPkH

    T+ R)-1

  • 8/13/2019 Kalman Intro Slides

    32/48

    UNC Chapel Hill Computer Science Slide 32

    Filter Operation

    Time Update(Predict)

    Measurement

    (Correct)Update

  • 8/13/2019 Kalman Intro Slides

    33/48

    UNC Chapel Hill Computer Science Slide 33

    A Simple Example

    Estimating a Constant

  • 8/13/2019 Kalman Intro Slides

    34/48

    UNC Chapel Hill Computer Science Slide 34

    Estimating a Constant

    A = 1

    H = 1

    A, H, Pk, R, zk,and Kk areall scalars. In particular,

  • 8/13/2019 Kalman Intro Slides

    35/48

    UNC Chapel Hill Computer Science Slide 35

    Process Model

    x k+1 = xk

    zk= xk+ vk

    Process Dynamics

    Measurement

  • 8/13/2019 Kalman Intro Slides

    36/48

    UNC Chapel Hill Computer Science Slide 36

    Time Update

    a prioristate and error covariance

    xk+1= xk

    Pk+1= Pk

  • 8/13/2019 Kalman Intro Slides

    37/48

    UNC Chapel Hill Computer Science Slide 37

    Measurement Update

    a posterioristate and error covariance

    Kalman gain

    xk=xk + Kk(zk-xk )

    Pk= (1 - Kk )Pk

    Kk= Pk/(Pk + R)

  • 8/13/2019 Kalman Intro Slides

    38/48

    UNC Chapel Hill Computer Science Slide 38

    Simulations

    zkandxk Pk

  • 8/13/2019 Kalman Intro Slides

    39/48

    UNC Chapel Hill Computer Science Slide 39

    Variations of the Filter

    Discrete-Discrete (a.k.a. discrete)

    Continuous-Discrete

    Extended Kalman Filter

  • 8/13/2019 Kalman Intro Slides

    40/48

    UNC Chapel Hill Computer Science Slide 40

    Continuous-Discrete

    The Process (Model)

    Continuous model of system dynamics

    Discrete measurement equation

    Why, When, How

    Flexibility in prediction

    Irregularly spaced (discrete) measurements

    At measurement, integrate state forward (e.g.Runge-Kutta integrator)

  • 8/13/2019 Kalman Intro Slides

    41/48

    UNC Chapel Hill Computer Science Slide 41

    Extended Kalman Filter

    Nonlinear Model(s)

    Process dynamics:Abecomes a(x,w) Measurement:Hbecomes h(x,z)

    Filter Reformulation

    Use functions instead of matrices

    Use Jacobians to project forward, and to relate

    measurement to state

  • 8/13/2019 Kalman Intro Slides

    42/48

    UNC Chapel Hill Computer Science Slide 42

    Relevant Applications

    Rebo

    Rebo, Robert K. 1988. A Helmet-Mounted Virtual EnvironmentDisplay System, M.S. Thesis, Air Force Institute of Technology.

    AzumaAzuma, Ronald. 1995. Predictive Tracking for Augmented

    Reality, Ph.D. dissertation, The University of North Carolina at

    Chapel Hill, TR95-007.

  • 8/13/2019 Kalman Intro Slides

    43/48

    UNC Chapel Hill Computer Science Slide 43

    Relevant Applications

    Friedmann et al.Friedmann, Martin, Thad Starner, and Alex Pentland. 1992.

    Device Synchronization Using an Optimal Filter, Proceedings of

    1992 Symposium on Interactive 3D Graphics (Cambridge MA)

    5762

    Liang et al.Liang, Jiandong, Chris Shaw, and Mark Green. On Temporal-

    Spatial Realism in the Virtual Reality Environment, Proceedings

    of the 4th annual ACM Symposium on User Interface Software &

    Technology, 19-25

  • 8/13/2019 Kalman Intro Slides

    44/48

    UNC Chapel Hill Computer Science Slide 44

    Relevant Applications

    Van Pabst & KrekelVan Pabst, Joost Van Lawick, and Paul F. C. Krekel. MultiSensor Data Fusion of Points, Line Segments and Surface

    Segments in 3D Space, TNO Physics and Electronics Laboratory,

    The Hague, The Netherlands. [cited 19 November 1995].

  • 8/13/2019 Kalman Intro Slides

    45/48

    UNC Chapel Hill Computer Science Slide 45

    SCAAT

    Tracking Latency & Rate

    Simultaneity Assumption

    SCAAT

    Observability Family of unobservablesystems

    Calibration

    VE Tracking, GPS, etc.

  • 8/13/2019 Kalman Intro Slides

    46/48

    UNC Chapel Hill Computer Science Slide 46

    Kalman Filter Papers...

    KalmanKalman, R. E. 1960. A New Approach to Linear Filtering andPrediction Problems, Transaction of the ASMEJournal of Basic

    Engineering, pp. 35-45 (March 1960).

    SorensonSorenson, H. W. 1970. Least-Squares estimation: from Gauss toKalman, IEEE Spectrum, vol. 7, pp. 63-68, July 1970.

  • 8/13/2019 Kalman Intro Slides

    47/48

    UNC Chapel Hill Computer Science Slide 47

    Some Books

    Brown

    Introduction to Random Signals and Applied Kalman Filtering (2nd

    )Gelb

    Applied Optimal Estimation

    Jacobs

    Introduction to Control Theory

    Lewis

    Optimal Estimation with an Introduction to Stochastic Control Theory

    MaybeckStochastic Models, Estimation, and Control, Volume 1

  • 8/13/2019 Kalman Intro Slides

    48/48

    UNC Chapel Hill Computer Science Slide 48

    Further Information

    Welch & BishopWelch, Greg and Gary Bishop. 1995. An Introduction to theKalman Filter, The University of North Carolina at Chapel Hill,

    TR95-041

    http://www.cs.unc.edu/~welch/kalmanLinks.html