Class BaseCalibrationData

java.lang.Object
com.irurueta.ar.slam.BaseCalibrationData
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AbsoluteOrientationConstantVelocityModelSlamCalibrationData, AbsoluteOrientationSlamCalibrationData, ConstantVelocityModelSlamCalibrationData, SlamCalibrationData

public abstract class BaseCalibrationData extends Object implements Serializable
Contains control calibration data for a SLAM estimator during Kalman filtering prediction stage.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private com.irurueta.algebra.Matrix
    Control signal covariance to take into account for estimation of process noise during Kalman prediction stage.
    private final int
    Length of control signal.
    private double[]
    Control signal mean to correct biases in control signal.
    private com.irurueta.statistics.MultivariateNormalDist.JacobianEvaluator
    Evaluator for distribution propagation.
    private final int
    Length of state in SLAM estimator.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    BaseCalibrationData(int controlLength, int stateLength)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.irurueta.algebra.Matrix
    Gets control signal covariance to take into account for estimation of process noise during Kalman prediction stage.
    int
    Gets length of control signal.
    double[]
    Gets control signal mean to correct biases in control signal.
    int
    Gets length of state in SLAM estimator.
    com.irurueta.statistics.MultivariateNormalDist
    propagateWithControlJacobian(com.irurueta.algebra.Matrix controlJacobian)
    Propagates calibrated control signal covariance using current control jacobian matrix.
    void
    propagateWithControlJacobian(com.irurueta.algebra.Matrix controlJacobian, com.irurueta.statistics.MultivariateNormalDist result)
    Propagates calibrated control signal covariance using current control jacobian matrix.
    void
    setControlCovariance(com.irurueta.algebra.Matrix controlCovariance)
    Sets control signal covariance to take into account for estimation of process noise during Kalman prediction stage.
    void
    setControlMean(double[] controlMean)
    Sets control signal mean to correct biases in control signal.
    void
    setControlMeanAndCovariance(double[] controlMean, com.irurueta.algebra.Matrix controlCovariance)
    Sets control signal mean and covariance to correct biases in control signal and to take into account for estimation process noise during Kalman prediction stage.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • controlLength

      private final int controlLength
      Length of control signal.
    • stateLength

      private final int stateLength
      Length of state in SLAM estimator.
    • controlMean

      private double[] controlMean
      Control signal mean to correct biases in control signal.
    • controlCovariance

      private com.irurueta.algebra.Matrix controlCovariance
      Control signal covariance to take into account for estimation of process noise during Kalman prediction stage.
    • evaluator

      private transient com.irurueta.statistics.MultivariateNormalDist.JacobianEvaluator evaluator
      Evaluator for distribution propagation.
  • Constructor Details

    • BaseCalibrationData

      protected BaseCalibrationData(int controlLength, int stateLength)
      Constructor.
      Parameters:
      controlLength - length of control signal.
      stateLength - length of state in SLAM estimator.
      Throws:
      IllegalArgumentException - if provided length is not greater than zero.
  • Method Details

    • getControlLength

      public int getControlLength()
      Gets length of control signal.
      Returns:
      length of control signal.
    • getStateLength

      public int getStateLength()
      Gets length of state in SLAM estimator.
      Returns:
      length of state in SLAM estimator.
    • getControlMean

      public double[] getControlMean()
      Gets control signal mean to correct biases in control signal.
      Returns:
      control signal mean.
    • setControlMean

      public void setControlMean(double[] controlMean)
      Sets control signal mean to correct biases in control signal.
      Parameters:
      controlMean - control signal mean.
      Throws:
      IllegalArgumentException - if provided array does not have expected length.
    • getControlCovariance

      public com.irurueta.algebra.Matrix getControlCovariance()
      Gets control signal covariance to take into account for estimation of process noise during Kalman prediction stage.
      Returns:
      control signal covariance.
    • setControlCovariance

      public void setControlCovariance(com.irurueta.algebra.Matrix controlCovariance)
      Sets control signal covariance to take into account for estimation of process noise during Kalman prediction stage.
      Parameters:
      controlCovariance - control signal covariance.
      Throws:
      IllegalArgumentException - if provided covariance size is wrong.
    • setControlMeanAndCovariance

      public void setControlMeanAndCovariance(double[] controlMean, com.irurueta.algebra.Matrix controlCovariance)
      Sets control signal mean and covariance to correct biases in control signal and to take into account for estimation process noise during Kalman prediction stage.
      Parameters:
      controlMean - control signal mean.
      controlCovariance - control signal covariance.
      Throws:
      IllegalArgumentException - if provided mean or covariance do not have proper size or length.
    • propagateWithControlJacobian

      public com.irurueta.statistics.MultivariateNormalDist propagateWithControlJacobian(com.irurueta.algebra.Matrix controlJacobian) throws com.irurueta.statistics.InvalidCovarianceMatrixException
      Propagates calibrated control signal covariance using current control jacobian matrix. The propagated distribution can be used during prediction stage in Kalman filtering.
      Parameters:
      controlJacobian - current control jacobian matrix.
      Returns:
      propagated distribution.
      Throws:
      com.irurueta.statistics.InvalidCovarianceMatrixException - if estimated covariance is not valid.
      IllegalArgumentException - if provided jacobian has invalid size.
    • propagateWithControlJacobian

      public void propagateWithControlJacobian(com.irurueta.algebra.Matrix controlJacobian, com.irurueta.statistics.MultivariateNormalDist result) throws com.irurueta.statistics.InvalidCovarianceMatrixException
      Propagates calibrated control signal covariance using current control jacobian matrix. The propagated distribution can be used during prediction stage in Kalman filtering.
      Parameters:
      controlJacobian - current control jacobian matrix.
      result - instance where propagated distribution will be stored.
      Throws:
      com.irurueta.statistics.InvalidCovarianceMatrixException - if estimated covariance is not valid.
      IllegalArgumentException - if provided jacobian has invalid size.