KalmanFilter
This page describes a module in the upcoming version 1.2 of Ikaros and may not be correct for version 1.1
The module implements a standard Kalman filter. The process is described by the equation (+1) = ()+(), where is the state of the process and is the control input. The observation (or measurement) is described by (). The process variance is set by the parameter and the measurement variance by .
Example XML definition
A simple example
<module
class = "KalmanFilter"
name = "KalmanFilter"
observation_size = "1"
state_size = "1"
A = ""
B = ""
H = ""
/>
Parameters
| Name | Description | Type | Default |
|---|---|---|---|
| class | The class name for the module; must be "KalmanFilter". | string | |
| name | The name of this instance of the module. | string | |
| A | The state transition matrix (state gain) [n x n] | matrix | |
| B | The input gain [n x m] | matrix | |
| H | The output gain [m x n] | matrix | |
| state_size | The size of the state | int | 1 |
| observation_size | The size of the observation (measurement noise) | int | 1 |
| process_noise | Noise for the process | float | 1 |
| observation_noise | Noise for each observation | float | 1 |
Module Connections
Inputs
| Name | Description |
|---|---|
| INPUT | The input [1 x m] |
| OBSERVATION | The observation [1 x m] |
Outputs
| Name | Description |
|---|---|
| STATE | The state [n x 1] |
| INNOVATION | The state [m x 1] |
| KALMAN_GAIN | The Kalman gain [n x m] |
Limitations
It should be possible to specify the full covariance matrices for the process and measurements (R and Q).
The matrices A, B and H should also be able to use inputs instead of parameters.
Observation and state sizes should be inferred from the matrix parameters.
Author
Christian Balkenius
christian.balkenius@lucs.lu.se
Lund Univeristy Cognitive Science
Files
KalmanFilter.h
KalmanFilter.cc
KalmanFilter.ikc