measurementModels#
Executive Summary#
This class provides an container for all the measurement models and components to a kalman filter. This class is a necessary component to any Kalman Filter implementation
Virtual and Private method descriptors#
The following table lists all the class methods and their function
Method Name |
Method Function |
Protected or Private |
Virtual or not |
|---|---|---|---|
model |
compute measurement model give a state |
public |
necessary |
computeMeasurementMatrix |
compute measurement matrix give a state |
public |
necessary |
Module assumptions and limitations#
None
User Guide#
This section lists all the setters and getters that are defined by the interface
Method Name |
Method Function |
Necessity |
|---|---|---|
get/setMeasurementName |
set the name of the measurement to distinguish it from others |
necessary |
get/setTimeTag |
set the measurement time tag |
necessary |
get/setValidity |
set the measurement validity |
necessary |
get/setObservation |
set the measurement observation value |
necessary |
get/setMeasurementNoise |
set the measurement noise matrix |
necessary |
get/setPreFitResiduals |
set the measurement pre fit residuals |
necessary |
get/setPostFitResiduals |
set the measurement pre fit residuals |
necessary |
Method Name |
Method Function |
|---|---|
positionStates |
measurement of position state |
normalizedPositionStates |
measurement of heading direction |
mrpStates |
measurement of position state with a shadow set check |
velocityStates |
measurement of velocity states |
-
class MeasurementModel#
Container class for measurement data and models.
Public Functions
-
Eigen::MatrixXd model(const FilterStateVector &state) const#
Function to represent measurement model which inputs a stateModel and outputs a matrix
- Parameters:
FilterStateVector –
- Returns:
Eigen::MatrixXd
-
void setMeasurementModel(const std::function<const Eigen::MatrixXd(const FilterStateVector&)> &modelCalculator)#
Set function to represent measurement model which inputs a stateModel and outputs a matrix
- Parameters:
std::function<const – Eigen::MatrixXd(const FilterStateVector&)>
-
Eigen::MatrixXd computeMeasurementMatrix(const FilterStateVector &state) const#
Function to represent measurement matrix which inputs a stateModel and outputs a matrix (partial of measurement
- Parameters:
FilterStateVector –
- Returns:
Eigen::MatrixXd
-
void setMeasurementMatrix(const std::function<const Eigen::MatrixXd(const FilterStateVector&)> &hMatrixCalculator)#
Set function to represent measurement matrix which inputs a stateModel and outputs a matrix (partial of measurement model with respect to state)
- Parameters:
std::function<const – Eigen::MatrixXd(const FilterStateVector&)>
-
Eigen::VectorXd subMeasurements(const Eigen::VectorXd &measurementObserved, const Eigen::VectorXd &measurementPredicted) const#
Subtract measurements. By default this is a linear subtraction, but could be subMrp or other functions depending on the measurement type
- Parameters:
Eigen::VectorXd – measurementObserved
Eigen::VectorXd – measurementPredicted
- Returns:
Eigen::VectorXd
-
void setMeasurementSubtraction(const std::function<const Eigen::VectorXd(const Eigen::VectorXd&, const Eigen::VectorXd&)> &add)#
Set function to add measurements. By default this add function is an R^n subtraction, but could be subMrp or other functions depending on the measurement type
- Parameters:
subFunction – std::function<const Eigen::VectorXd(const Eigen::VectorXd&, const Eigen::VectorXd&)>
-
size_t size() const#
Return the size of the observation
- Returns:
size_t
-
std::string getMeasurementName() const#
Get measurement name
- Returns:
std::string
-
void setMeasurementName(std::string_view measurementName)#
Set measurement name
- Parameters:
std::string –
-
double getTimeTag() const#
Get measurement time tag
- Returns:
double
-
void setTimeTag(double measurementTimeTag)#
Set measurement time tag
- Parameters:
double –
-
bool getValidity() const#
Get measurement validity
- Returns:
Eigen::VectorXd
-
void setValidity(bool measurementValidity)#
Set measurement validity
- Parameters:
bool –
-
Eigen::VectorXd getObservation() const#
Get measurement observation
- Returns:
Eigen::VectorXd
-
void setObservation(const Eigen::VectorXd &measurementObserved)#
Set measurement observation
- Parameters:
Eigen::VectorXd –
-
Eigen::MatrixXd getMeasurementNoise() const#
Get measurement noise
- Returns:
Eigen::MatrixXd
-
void setMeasurementNoise(const Eigen::MatrixXd &measurementNoise)#
Set measurement noise
- Parameters:
Eigen::MatrixXd –
-
Eigen::VectorXd getPreFitResiduals() const#
Get pre fit residuals of observation
- Returns:
Eigen::VectorXd
-
void setPreFitResiduals(const Eigen::VectorXd &measurementPreFit)#
Set pre fit residuals of observation
- Parameters:
Eigen::VectorXd –
-
Eigen::VectorXd getPostFitResiduals() const#
Get post fit residuals of observation
- Returns:
Eigen::VectorXd
-
void setPostFitResiduals(const Eigen::VectorXd &measurementPostFit)#
Set post fit residuals of observation
- Parameters:
Eigen::VectorXd –
Public Static Functions
-
static Eigen::VectorXd positionStates(const FilterStateVector &state)#
Measurement model that returns the position component of the state
- Parameters:
FilterStateVector – state
- Returns:
Eigen::VectorXd
-
static Eigen::VectorXd normalizedPositionStates(const FilterStateVector &state)#
Measurement model that returns the unit vector of the position state
- Parameters:
FilterStateVector – state
- Returns:
Eigen::VectorXd
-
static Eigen::VectorXd mrpStates(const FilterStateVector &state)#
Measurement model that returns the position component of the state, and performs a MRP shadow set check
- Parameters:
FilterStateVector – state
- Returns:
Eigen::VectorXd
-
static Eigen::VectorXd velocityStates(const FilterStateVector &state)#
Measurement model that returns the velocity component of the state
- Parameters:
state –
- Returns:
Eigen::VectorXd
-
static Eigen::VectorXd velocityStatesWithBias(const FilterStateVector &state)#
Measurement model that returns the velocity component of the state with Bias
- Parameters:
FilterStateVector – state
- Returns:
Eigen::VectorXd
-
Eigen::MatrixXd model(const FilterStateVector &state) const#