srukfInterface#

Executive Summary#

This class provides an interface for square root unscented Kalman Filters. Modules which inherit from it will benefit from having the core functionality of the SRuKF. This class inherits from the Kalman Filter interface

The math is derived primarily using the following equations: PDF Description contains further information on this module’s mathematical framework.

Virtual and Private method descriptors#

The following table lists all the module input and output messages. The module msg connection is set by the user from python. The msg type contains a link to the message structure definition, while the description provides information on what this message is used for.

Interface methods which remain private#

Method Name

Method Function

Protected or Private

Virtual or not

timeUpdate

filter time update

private

non-virtual

measurementUpdate

filter measurement update in the presence of measurements

private

non-virtual

computePostFitResiudals

compute filter post fit residuals

private

non-virtual

qrDecompositionJustR

perform a QR decomposition and return just the R matrix

private

non-virtual

choleskyUpDownDate

perform a cholesky down-date as seen in the paper

private

non-virtual

backSubstitution

perform a back-substitution on a upper triangular matrix

private

non-virtual

forwardSubstitution

perform a forward-substitution on a lower triangular matrix

private

non-virtual

choleskyDecomposition

perform a cholesky decomposition

private

non-virtual

Module assumptions and limitations#

The module inherits all assumptions made while implementing a Kalman filter:
  • Observability considerations

  • Gaussian covariances

  • Linearity limits

  • and more

Otherwise, the limitations are governed by the measurement model and dynamics models relative to the required performance.

User Guide#

This section lists all the setters and getters that are defined by the interface

Interface methods which remain private#

Method Name

Method Function

Necessity

set/getAlpha

filter alpha parameter

necessary

set/getBeta

filter beta parameter

necessary

class SRukfInterface : public KalmanFilter#

Square Root unscented Kalman Filter base class.

Subclassed by FlybyODuKF, InertialAttitudeUkf, SunlineSRuKF

Public Functions

void reset(uint64_t currentSimNanos) final#

Reset all of the filter states, including the custom reset

Parameters:

currentSimNanos – The clock time at which the function was called (nanoseconds)

Returns:

void

void setAlpha(double alpha)#

Set the filter alpha parameter

Parameters:

double – alphaInput

Returns:

void

double getAlpha() const#

Get the filter alpha parameter

Returns:

double alpha

void setBeta(double beta)#

Set the filter beta parameter

Parameters:

double – betaInput

Returns:

void

double getBeta() const#

Get the filter beta parameter

Returns:

double beta