[SOLVED] CS matlab CS 4610/5335 Kalman Filter

$25

File Name: CS_matlab_CS_4610/5335_Kalman_Filter.zip
File Size: 339.12 KB

5/5 - (1 vote)

CS 4610/5335 Kalman Filter
Robert Platt Northeastern University 2/10/20
Material adapted from:
1. Lawson Wong, CS 4610/5335
2. Peter Corke, Robotics, Vision and Control
3. Sebastian Thrun, Wolfram Burgard, & Dieter Fox,
Probabilistic Robotics
4. Marc Toussaint, U. Stuttgart Robotics Course

Kalman Filtering
Another way to adapt Sequential Bayes Filtering to continuous state spaces
relies on representing the probability distribution as a Gaussian
first developed in the early 1960s (before general Bayes filtering); used in Apollo program
Image: UBC, Kevin Murphy Matlab toolbox

Kalman Filter
initial position prediction measurement update yyyy
xxxx
Image: Thrun et al., CS233B course notes

Example: Localizing against known map

Example: Localizing against known map

Example: Localizing against known map

Kalman Filter (1-D)
initial position prediction measurement update
x x x x xxxx
Image: Thrun et al., CS233B course notes

Kalman Idea
Image: Thrun et al., CS233B course notes
Measurement evidence
posterior
prior
Image: Thrun et al., CS233B course notes

System:
Process update:
Measurement update:
Image: Thrun et al., CS233B course
Kalman in 1D
notes
Measurement evidence
prior
posterior
Image: Thrun et al., CS233B course notes

Last time on the board

Last time on the board

Univariate Gaussian:
Multivariate Gaussian:
Gaussians

Playing w/ Gaussians
Suppose:
Calculate:
y
y
x
x

Suppose:
Then:
In fact

Illustration
Image: Thrun et al., CS233B course notes

And
Suppose:
Then:
Marginal distribution

Does this remind us of anything?

Does this remind us of anything?
Process update (discrete):
Process update (continuous):

Process update (discrete):
Process update (continuous):
Does this remind us of anything?
transition dynamics
prior

Process update (discrete):
Process update (continuous):
Does this remind us of anything?
transition dynamics
prior

Observation update:
Observation update
Where:

Observation update:
Observation update
Where:

Observation update:
Observation update
Where:

But we need:
Observation update

Suppose: Calculate:
Another Gaussian identity

Observation update
But we need:

To summarize the Kalman filter System:
Prior:
Process update:
Measurement update:

Suppose there is an action term System:
Prior:
Process update:
Measurement update:

To summarize the Kalman filter Prior:
Process update:
Measurement update:
This factor is often called the Kalman gain

Things to note about the Kalman filter Process update:
Measurement update:
covariance update is independent of observation
Kalman is only optimal for linear-Gaussian systems the distribution stays Gaussian through this update
the error term can be thought of as the different between the observation and the prediction

Example: filling a tank
Level of
tank Fill rate
Process:
Observati on:

Example: estimate velocity
prediction
past measurements
Image: Thrun et al., CS233B course notes

Example: estimate velocity

Example: Localizing against known map

Example: Localizing against known map

But, my system is NON-LINEAR! What should I do?

But, my system is NON-LINEAR! What should I do?
Well, there are some options

But, my system is NON-LINEAR! What should I do?
Well, there are some options But none of them are great.

But, my system is NON-LINEAR! What should I do?
Well, there are some options
But none of them are great.
Heres one: the Extended Kalman Filter

Extended Kalman filter Take a Taylor expansion:
Where:
Where:

Extended Kalman filter Take a Taylor expansion:
Where:
Where:
Then use the same equations

Prior:
Process update:
Measurement update:
To summarize the EKF

Prior:
Process update:
Measurement update:
Compare with regular KF

EKF

EKF

Extended Kalman filter
Image: Thrun et al., CS233B course notes

Extended Kalman filter
Image: Thrun et al., CS233B course notes

EKF Mobile Robot Localization
Process dynamics:
state Process noise is assumed to be Gaussian:
Odometry measurement
Suppose we have a mobile robot wandering around in a 2-d world
noise

EKF Mobile Robot Localization
Actual path of robot
Estimated path based on odometry
But, wheels slip odometry is not always correct How do we localize? Extended Kalman Filter!

Process dynamics:
EKF Mobile Robot Localization
noise
Odometry measurement

EKF uncertainty estimate
Dynamics: Linearized dynamics:
Where:
EKF Process Update

EKF Process Update
EKF uncertainty estimate
Dynamics: Linearized dynamics:
Where:
Process update:
With no observations, uncertainty grows over time

Landmarks
(i.e. features of the envt)
Observations
Observations:
range and bearing of a landmark
Observations:
range bearing

Observations Observations:
Landmarks
(i.e. features of the envt)
where:

EKF Mobile Robot Localization Process Update:
Observation Update:

Mapping using the EKF
How do we use the EKF to estimate landmark positions? State:
Positions of each of the M landmarks (base frame)

SLAM using the EKF
Vehicle/landmark covariance
Vehicle covariance
Estimate both robot position and landmark positions:
robot position
Landmark positions
Landmark covariance

SLAM using the EKF
Landmark covariance drops significantly as soon as loop closure occurs.
Image: Thrun

Mud Cards / Feedback
Do not write your name / e-mail / ID number!
1. What did you like?
2. What was unclear / muddy?
Feel free to leave any other feedback!
59

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] CS matlab CS 4610/5335 Kalman Filter
$25