Greg Welch and Gary Bishop. University of North Carolina at Chapel Hill Department of Computer Science.

Similar documents
An Introduction to the Kalman Filter

An Introduction to the Kalman Filter

Image Alignment and Mosaicing Feature Tracking and the Kalman Filter

Kalman Filter. Predict: Update: x k k 1 = F k x k 1 k 1 + B k u k P k k 1 = F k P k 1 k 1 F T k + Q

An Empirical Study into the Robustness of Split Covariance Addition (SCA) for Human Motion Tracking

A Matrix Theoretic Derivation of the Kalman Filter

Miscellaneous. Regarding reading materials. Again, ask questions (if you have) and ask them earlier

2D Image Processing. Bayes filter implementation: Kalman filter

Error reduction in GPS datum conversion using Kalman filter in diverse scenarios Swapna Raghunath 1, Malleswari B.L 2, Karnam Sridhar 3

Augmented Reality II - Kalman Filters - Gudrun Klinker May 25, 2004

CS 532: 3D Computer Vision 6 th Set of Notes

2D Image Processing. Bayes filter implementation: Kalman filter

1 Kalman Filter Introduction

SCAAT: Incremental Tracking with Incomplete Information

Bayes Filter Reminder. Kalman Filter Localization. Properties of Gaussians. Gaussians. Prediction. Correction. σ 2. Univariate. 1 2πσ e.

A Study of Covariances within Basic and Extended Kalman Filters

Kalman Filter Computer Vision (Kris Kitani) Carnegie Mellon University

Using the Kalman Filter to Estimate the State of a Maneuvering Aircraft

Mini-Course 07 Kalman Particle Filters. Henrique Massard da Fonseca Cesar Cunha Pacheco Wellington Bettencurte Julio Dutra

For final project discussion every afternoon Mark and I will be available

The Kalman Filter (part 1) Definition. Rudolf Emil Kalman. Why do we need a filter? Definition. HCI/ComS 575X: Computational Perception.

Autonomous Mobile Robot Design

STATE estimation is a fundamental and very important

COS Lecture 16 Autonomous Robot Navigation

Robert Collins CSE586 CSE 586, Spring 2015 Computer Vision II

Recall: Modeling Time Series. CSE 586, Spring 2015 Computer Vision II. Hidden Markov Model and Kalman Filter. Modeling Time Series

Kalman Filter: Multiplying Normal Distributions

the robot in its current estimated position and orientation (also include a point at the reference point of the robot)

Application of the Kalman Filtering in Terrestrial Geodesy

Five Formulations of Extended Kalman Filter: Which is the best for D-RTO?

Factor Analysis and Kalman Filtering (11/2/04)

UNCERTAINTY-DRIVEN ADAPTIVE ESTIMATION WITH APPLICATIONS IN ELECTRICAL POWER SYSTEMS

Kalman filtering and friends: Inference in time series models. Herke van Hoof slides mostly by Michael Rubinstein

Kalman Filters with Uncompensated Biases

SBE 2006 Dynamics Homework Solutions

REAL TIME MULTISATELLITE ORBIT DETERMINATION FOR CONSTELLATION MAINTENANCE

Principles of the Global Positioning System Lecture 11

A KALMAN FILTERING TUTORIAL FOR UNDERGRADUATE STUDENTS

Stochastic Models, Estimation and Control Peter S. Maybeck Volumes 1, 2 & 3 Tables of Contents

STATISTICAL ORBIT DETERMINATION

Course 11. Tracking: Beyond 15 Minutes of Thought

From Bayes to Extended Kalman Filter

Gaussian Process Approximations of Stochastic Differential Equations

UAV Navigation: Airborne Inertial SLAM

Pose Tracking II! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 12! stanford.edu/class/ee267/!

A MULTI-SENSOR FUSION TRACK SOLUTION TO ADDRESS THE MULTI-TARGET PROBLEM

ROBUST CONSTRAINED ESTIMATION VIA UNSCENTED TRANSFORMATION. Pramod Vachhani a, Shankar Narasimhan b and Raghunathan Rengaswamy a 1

Expectation Propagation in Dynamical Systems

9 Multi-Model State Estimation

Extended Kalman Filter Tutorial

Solving Linear Systems Problems Using Discrete Kalman Filter

Partitioned Covariance Intersection

Vlad Estivill-Castro. Robots for People --- A project for intelligent integrated systems

Riccati difference equations to non linear extended Kalman filter constraints

Nonlinear Identification of Backlash in Robot Transmissions

IROS 16 Workshop: The Mechatronics behind Force/Torque Controlled Robot Actuation Secrets & Challenges

Nonlinear State Estimation! Extended Kalman Filters!

Regression. James D Emery. Last Addition or Modification 7/4/ Linear Regression 2. 2 The Covariance Matrix 4. 3 The Correlation Coefficient 4

Statistical Techniques in Robotics (16-831, F12) Lecture#17 (Wednesday October 31) Kalman Filters. Lecturer: Drew Bagnell Scribe:Greydon Foil 1

RAO-BLACKWELLISED PARTICLE FILTERS: EXAMPLES OF APPLICATIONS

AQuasi-steady-state assumption is typically applied to. A Two-stage Kalman Filtering Approach for Robust and Real-time Power Systems State Tracking

Probabilistic Graphical Models

The Kalman Filter. Data Assimilation & Inverse Problems from Weather Forecasting to Neuroscience. Sarah Dance

Lagrangian data assimilation for point vortex systems

Fault Detection and Diagnosis of an Electrohydrostatic Actuator Using a Novel Interacting Multiple Model Approach

NONLINEAR BAYESIAN FILTERING FOR STATE AND PARAMETER ESTIMATION

Hand Written Digit Recognition using Kalman Filter

Data Fusion Kalman Filtering Self Localization

State Estimation of Linear and Nonlinear Dynamic Systems

Quantitative Trendspotting. Rex Yuxing Du and Wagner A. Kamakura. Web Appendix A Inferring and Projecting the Latent Dynamic Factors

Probabilistic Graphical Models

ECONOMETRIC METHODS II: TIME SERIES LECTURE NOTES ON THE KALMAN FILTER. The Kalman Filter. We will be concerned with state space systems of the form

ESTIMATOR STABILITY ANALYSIS IN SLAM. Teresa Vidal-Calleja, Juan Andrade-Cetto, Alberto Sanfeliu

Sensor Fusion, 2014 Lecture 1: 1 Lectures

The Discrete Kalman Filtering of a Class of Dynamic Multiscale Systems

Design of Adaptive Filtering Algorithm for Relative Navigation

FUNDAMENTAL FILTERING LIMITATIONS IN LINEAR NON-GAUSSIAN SYSTEMS

OPTIMAL ESTIMATION of DYNAMIC SYSTEMS

Nonlinear Stochastic Modeling and State Estimation of Weakly Observable Systems: Application to Industrial Polymerization Processes

Gaussian Filters for Nonlinear Filtering Problems

Research Article Extended and Unscented Kalman Filtering Applied to a Flexible-Joint Robot with Jerk Estimation

Understanding and Application of Kalman Filter

Maximum Likelihood Ensemble Filter Applied to Multisensor Systems

Dual Estimation and the Unscented Transformation

Robot Localization and Kalman Filters

Constrained State Estimation Using the Unscented Kalman Filter

On Underweighting Nonlinear Measurements

ENGR352 Problem Set 02

State estimation of linear dynamic system with unknown input and uncertain observation using dynamic programming

Tactical Ballistic Missile Tracking using the Interacting Multiple Model Algorithm

Part 1: Expectation Propagation

Time Series Analysis

VEHICLE WHEEL-GROUND CONTACT ANGLE ESTIMATION: WITH APPLICATION TO MOBILE ROBOT TRACTION CONTROL

Nonlinear Parameter Estimation for State-Space ARCH Models with Missing Observations

Extended Object and Group Tracking with Elliptic Random Hypersurface Models

Multiplicative vs. Additive Filtering for Spacecraft Attitude Determination

Kalman filtering with intermittent heavy tailed observations

TSRT14: Sensor Fusion Lecture 8

Local Ensemble Transform Kalman Filter

Estimation of State Noise for the Ensemble Kalman filter algorithm for 2D shallow water equations.

Transcription:

STC Lecture Series An Introduction to the Kalman Filter Greg Welch and Gary Bishop University of North Carolina at Chapel Hill Department of Computer Science http://www.cs.unc.edu/~welch/kalmanlinks.html UNC Chapel Hill Computer Science Slide 1

Where We re Going Introduction & Intuition The Discrete Kalman Filter A Simple Example Variations of the Filter Relevant Applications & References UNC Chapel Hill Computer Science Slide 2

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 predict correct UNC Chapel Hill Computer Science Slide 3

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 many ways stable given common conditions UNC Chapel Hill Computer Science Slide 4

Some Intuition UNC Chapel Hill Computer Science Slide 5

First Estimate Conditional Density Function z σ 2 1, z 1 x ˆ = z 1 1 N(z 1,σ 2 z1 ) σ ˆ 2 = σ 2 1 z 1-2 0 2 4 6 8 10 12 14 UNC Chapel Hill Computer Science Slide 6

Second Estimate Conditional Density Function z σ 2 2, z 2 x ˆ =...? 2 N(z 2,σ 2 z2 ) σ ˆ 2 =...? 2-2 0 2 4 6 8 10 12 14 UNC Chapel Hill Computer Science Slide 7

Combine Estimates x ˆ = [ σ 2 ( σ 2 + σ 2 )]z + [ σ 2 ( σ 2 +σ 2 )]z 2 z2 z1 z2 1 z1 z1 z2 2 = ˆ x + K [ z x ˆ ] 1 2 2 1 where K 2 = σ 2 z1 ( σ 2 + σ 2) z1 z2 UNC Chapel Hill Computer Science Slide 8

Combine Variances 1 σ 2 = ( 1 σ 2 )+ 1σ 2 2 z1 z2 ( ) UNC Chapel Hill Computer Science Slide 9

Combined Estimate Density Conditional Density Function x ˆ = x ˆ 2 N( x,ˆ ˆ σ 2 ) σ ˆ 2 = σ 2 2-2 0 2 4 6 8 10 12 14 UNC Chapel Hill Computer Science Slide 10

Add Dynamics dx/dt = v + w where v is the nominal velocity w is a noise term (uncertainty) UNC Chapel Hill Computer Science Slide 11

Propagation of Density UNC Chapel Hill Computer Science Slide 12

Some Details x= Ax+ w z= Hx... UNC Chapel Hill Computer Science Slide 13

Discrete Kalman Filter Maintains first two statistical moments process state (mean) z y x error covariance UNC Chapel Hill Computer Science Slide 14

Discrete Kalman Filter The Ingredients A discrete process model change in state over time linear difference equation A discrete measurement model relationship between state and measurement linear function Model Parameters Process noise characteristics Measurement noise characteristics UNC Chapel Hill Computer Science Slide 15

Necessary Models previous state state dynamic model measurement model next state image plane (u,v) measurement UNC Chapel Hill Computer Science Slide 16

The Process Model Process Dynamics Measurement x k+1 = Ax k + w k z k = Hx k + v k UNC Chapel Hill Computer Science Slide 17

Process Dynamics x k+1 = Ax k + w k state vector x k R n contains the states of the process UNC Chapel Hill Computer Science Slide 18

Process Dynamics x k+1 = Ax k + w k state transition matrix nxn matrix A relates state at time step k to time step k+1 UNC Chapel Hill Computer Science Slide 19

Process Dynamics x k+1 = Ax k + w k process noise w k R n models the uncertainty of the process w k ~ N(0, Q) UNC Chapel Hill Computer Science Slide 20

Measurement z k = Hx k + v k measurement vector z k R m is the process measurement UNC Chapel Hill Computer Science Slide 21

Measurement z k = Hx k + v k state vector UNC Chapel Hill Computer Science Slide 22

Measurement z k = Hx k + v k measurement matrix mxn matrix H relates state to measurement UNC Chapel Hill Computer Science Slide 23

Measurement z k = Hx k + v k measurement noise z k R m models the noise in the measurement v k ~ N(0, R) UNC Chapel Hill Computer Science Slide 24

State Estimates a priori state estimate x ˆ k a posteriori state estimate xˆ k UNC Chapel Hill Computer Science Slide 25

Estimate Covariances a priori estimate error covariance P k = E[(x k - ˆ x k )(x k - ˆ x k ) T ] a posteriori estimate error covariance P k = E[(x k - xˆ k )(x k - ˆ x k ) T ] UNC Chapel Hill Computer Science Slide 26

Filter Operation Time update (a priori estimates) Project state and covariance forward to next time step, i.e. predict Measurement update (a posteriori estimates) Update with a (noisy) measurement of the process, i.e. correct UNC Chapel Hill Computer Science Slide 27

Time Update (Predict) state error covariance UNC Chapel Hill Computer Science Slide 28

Measurement Update (Correct) UNC Chapel Hill Computer Science Slide 29

Time Update (Predict) a priori state and error covariance xˆ k+1 = Ax k P k+1 = AP k A + Q UNC Chapel Hill Computer Science Slide 30

Measurement Update (Correct) Kalman gain K k = P k H T (HP k H T + R) -1 a posteriori state and error covariance xˆ k = xˆ k + K k (z k - Hxˆ k ) P k = (I - K k H)P k UNC Chapel Hill Computer Science Slide 31

Filter Operation Time Update (Predict) Measurement Update (Correct) UNC Chapel Hill Computer Science Slide 32

A Simple Example Estimating a Constant UNC Chapel Hill Computer Science Slide 33

Estimating a Constant A, H, P k, R, z k, and K k are all scalars. In particular, A = 1 H = 1 UNC Chapel Hill Computer Science Slide 34

Process Model Process Dynamics Measurement x k+1 = x k z k = x k + v k UNC Chapel Hill Computer Science Slide 35

Time Update a priori state and error covariance xˆ k+1 = x k P k+1 = P k UNC Chapel Hill Computer Science Slide 36

Measurement Update Kalman gain K k = P k / (P k + R) a posteriori state and error covariance xˆ k = xˆ k + K k (z k - ˆ x k ) P k = (1 - K k )P k UNC Chapel Hill Computer Science Slide 37

Simulations z ˆ k and x k P k UNC Chapel Hill Computer Science Slide 38

Variations of the Filter Discrete-Discrete (a.k.a. discrete ) Continuous-Discrete Extended Kalman Filter UNC Chapel Hill Computer Science Slide 39

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) UNC Chapel Hill Computer Science Slide 40

Extended Kalman Filter Nonlinear Model(s) Process dynamics: A becomes a(x,w) Measurement: H becomes h(x,z) Filter Reformulation Use functions instead of matrices Use Jacobians to project forward, and to relate measurement to state UNC Chapel Hill Computer Science Slide 41

Relevant Applications Rebo Rebo, Robert K. 1988. A Helmet-Mounted Virtual Environment Display System, M.S. Thesis, Air Force Institute of Technology. Azuma Azuma, Ronald. 1995. Predictive Tracking for Augmented Reality, Ph.D. dissertation, The University of North Carolina at Chapel Hill, TR95-007. UNC Chapel Hill Computer Science Slide 42

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) 57 62 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 UNC Chapel Hill Computer Science Slide 43

Relevant Applications Van Pabst & Krekel Van Pabst, Joost Van Lawick, and Paul F. C. Krekel. Multi Sensor 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]. UNC Chapel Hill Computer Science Slide 44

SCAAT Tracking Latency & Rate Simultaneity Assumption SCAAT Observability Family of unobservable systems Calibration VE Tracking, GPS, etc. UNC Chapel Hill Computer Science Slide 45

Kalman Filter Papers... Kalman Kalman, R. E. 1960. A New Approach to Linear Filtering and Prediction Problems, Transaction of the ASME Journal of Basic Engineering, pp. 35-45 (March 1960). Sorenson Sorenson, H. W. 1970. Least-Squares estimation: from Gauss to Kalman, IEEE Spectrum, vol. 7, pp. 63-68, July 1970. UNC Chapel Hill Computer Science Slide 46

Some Books Brown Gelb Jacobs Lewis Introduction to Random Signals and Applied Kalman Filtering (2 nd ) Applied Optimal Estimation Introduction to Control Theory Optimal Estimation with an Introduction to Stochastic Control Theory Maybeck Stochastic Models, Estimation, and Control, Volume 1 UNC Chapel Hill Computer Science Slide 47

Further Information Welch & Bishop Welch, Greg and Gary Bishop. 1995. An Introduction to the Kalman Filter, The University of North Carolina at Chapel Hill, TR95-041 http://www.cs.unc.edu/~welch/kalmanlinks.html UNC Chapel Hill Computer Science Slide 48