29
Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby Automatic Control Linköping University, SWEDEN [email protected]

Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Embed Size (px)

Citation preview

Page 1: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Target Tracking Performance EvaluationA General Software Environment for Filtering

Rickard KarlssonGustaf Hendeby

Automatic ControlLinköping University, SWEDEN

[email protected]

Page 2: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Motivating Example

Range-Only Measurements

Two Sensors with range uncertainties

•Performance?•General Software for filtering

Page 3: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Outline

Nonlinear filtering using particle filters

Performace measure for nonlinear filteringKullback-Divergence vs RMSE

General Filtering SoftwareObject oriented designDesign Patterns

Examples

Page 4: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Filtering

STATE SPACE MODEL Process noise

Measurement noise

PROBABILISTIC DESCRIPTION

Page 5: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Bayesian Recursions: Probability Density Function (pdf)

M.U.

T.U.

Page 6: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Filter Evaluation: Mean Square Error (MSE)

Mean square error (MSE) Standard performance measure Approximates the estimation error covariance Bounded by the Cramér-Rao Lower Bound (CRLB)

Ignores higher-order moments!

Compare the true trajectory with the estimated!!!

What can we do instead?

Page 7: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Kullback-Leibler Information

Page 8: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Filter Evaluation: Kullback Divergence (KD)

Kullback Divergence (KD) Compares the distance between two distributions

Captures all moments of the distributions True PDF from a grid-based method True PDF from PF, compare sub-optimal filters Smoothing kernel needed for implementation

Compare the true PDF with the estimated PDF.

Page 9: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Generalized Gaussian

Generalized Gaussion Distribution Kullback Divergence

PD

F

Page 10: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Example 1: One-dimensional Nonlinear System

Probability Density Function

xTime

Page 11: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Example 1: One-dimensional Nonlinear System

Kullback Divergence RMSE

KD for one realizationcomparing PF and EKF

RMSE for 400 MC simulations

Page 12: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Example 2: Range-Only Measurement

Estimate target position from range-only measurements Nonlinear measurements but Gaussian noise Posterior distribution: bimodal Point Estimate: EKF vs PF the same, i.e. same RMSE

Page 13: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Example 2: Simulation Results for Range-Only

MSE KD

No Difference! KD Indicates a Difference!

EKF

PF

EKF

PF

Page 14: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Calculating the probability

EKF

PF&True

Probability for target withinthe circle with radius R

Page 15: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

F++ A General Filtering Environment in C++

MATLAB Easy to use Weak typing Somewhat slow Object oriented (not really)

C++ More complicated to use Fast Strong typing Object oriented Can be implemented !

F++: Fairly easy to use

Just provide models f(x), h(x), etc

Estimators:

EKF, PF, IMM, UKF

Open Source code available www.control.isy.liu.se/resources/f++

OOP & Design Patterns

Page 16: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Object Oriented Programming (OOP)

• Inheritance

• Encapsulation

• Overloading

Page 17: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Design Patterns – What is it?

• Smart Pointers• Singletons• Object factories•…

“Design patterns are general, programming language independent, conceptual high level solutions to common problems”

Example:

Page 18: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

F++ A General Filtering Framwork in C++

Model Noise Estimator I/O

•LinModel•MultiModel•GenericModel <LinDyn,LinMeas>

•Gauss •SumNoise• …

• EKF • PF • IMM • UKF • MPF

• MATLAB • XML

Page 19: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

F++ A General Filtering Framwork in C++

Model Noise Estimator I/O

•LinModel•MultiModel•GenericModel <LinDyn,LinMeas>

•Gauss •SumNoise• …

• EKF • PF • IMM • UKF • MPF

• MATLAB • XML

Page 20: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Class: Model

Page 21: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

F++ A General Filtering Framwork in C++

Model Noise Estimator I/O

•LinModel•MultiModel•GenericModel <LinDyn,LinMeas>

•Gauss •SumNoise• …

• EKF • PF • IMM • UKF • MPF

• MATLAB • XML

Page 22: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Class: Noise

Page 23: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

F++ A General Filtering Framwork in C++

Model Noise Estimator I/O

•LinModel•MultiModel•GenericModel <LinDyn,LinMeas>

•Gauss •SumNoise• …

• EKF • PF • IMM • UKF • MPF

• MATLAB • XML

Page 24: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Class: Estimator

Page 25: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

F++ A General Filtering Framwork in C++

Model Noise Estimator I/O

•LinModel•MultiModel•GenericModel <LinDyn,LinMeas>

•Gauss •SumNoise• …

• EKF • PF • IMM • UKF • MPF

• MATLAB • XML

Ex: Linear Gaussian system with KF and MATLAB support

Page 26: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

F++ A General Filtering Framwork in C++

Model Noise Estimator I/O

•LinModel•MultiModel•GenericModel <LinDyn,LinMeas>

•Gauss •SumNoise• …

• EKF • PF • IMM • UKF • MPF

• MATLAB • XML

Ex: Non-Linear Gaussian system with PF and MATLAB support

Page 27: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Code: Main Estimation Loop

Estimator Time Update Meas. Update Estimate

This works for any estimator!

estimate

uy

filter

Page 28: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Code: Main Program

INPUT

MC-loop

True/Meas

Estimate

OUTPUT

Page 29: Rickard Karlsson IEEE Aerospace Conf 2007 Target Tracking Performance Evaluation A General Software Environment for Filtering Rickard Karlsson Gustaf Hendeby

Rickard KarlssonIEEE Aerospace Conf 2007

Summary

Rickard KarlssonAutomatic ControlLinköping University, SWEDEN

[email protected]

www.control.isy.liu.se/~rickard

•Proposed KD as a performance measure

•General Filtering Software