Biomedical Engineering Reference
In-Depth Information
Kalman Filter . The Kalman Filter is computationally simple, relying on matrix
multiplication to fuse data to reduce error and uncertainty, however the setup of the
filter can be complicated to master. It has many uses but is of interest to us in how it
can determine a user's position in real time for locomotion [ 27 ]. The Kalman filter is
ideal for controllers like the Wiimote and Sony Move where several sensors provide
raw data that can be fused together.
The basic algorithm works in two stages, the first performs prediction of hidden
states based on what is known about the model. For example, in determining posi-
tion, this first step takes accelerometer data and uses kinematics to predict from the
previous position what the new position is. This is done via two equations
x t =
ˆ
X t 1
A
t
A T
p t =
ˆ
A t
P t 1
t +
E
where
x t is the predicted state, X t 1 is the previous state that the Kalman Filter deter-
mined and A t is a time dependent matrix representing the model of the system.
ˆ
p t
is the probability matrix of the prediction, P t 1 is the previous probability/confident
matrix determined by the Kalman Filter, and E is the inherent error matrix of the
prediction model.
The second step of a Kalman Filter goes through a measurement step, where an
observation concerning the state is used to both compute the optimal Kalman gain
of the model, and to correct errors inherent in the prediction step. This is done with
ˆ
H
R 1
H T
H T
K t
p t
∗ˆ
p t
+
K t Z t
x t
X t
x t +
H
∗ˆ
P t = (
I
K t
H
) ∗ˆ
p t
where K t is the optimal Kalman gain, H is the observation model that correlates
observation states to the prediction model, R is the error matrix for the observation
data, Z t is the observation, X t is the corrected predicted state and P t is the corrected
probability matrix.
As can be seen in these equations, the prediction model based on the first set
of data is blended with the observation data, while at the same time learning and
adjusting the probability matrix.
The Kalman Filter is a method that can work well with raw data or interpreted data
depending on how the models above are developed. Also, it can provide real time
continuous data updates; for example this filter is commonly used in GPS systems
to fill in the gaps while waiting for the next satellite update. While that isn't directly
related to motion controllers, it does show utility of Kalman Filters.
Hidden Markov Models . Another useful algorithm is the Hidden Markov Model
(HHM). Like the linear classifier algorithm above, HMMs are great for determining
discrete actions but unlike linear classifiers, can do so on streaming data (e.g., pro-
viding gesture segmentation and recognition). The Hidden Markov Model Tutorial
 
Search WWH ::




Custom Search