Package com.irurueta.ar.slam
Class BaseCalibrationData
java.lang.Object
com.irurueta.ar.slam.BaseCalibrationData
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AbsoluteOrientationConstantVelocityModelSlamCalibrationData
,AbsoluteOrientationSlamCalibrationData
,ConstantVelocityModelSlamCalibrationData
,SlamCalibrationData
Contains control calibration data for a SLAM estimator during
Kalman filtering prediction stage.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate 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
ConstructorsModifierConstructorDescriptionprotected
BaseCalibrationData
(int controlLength, int stateLength) Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncom.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.
-
Field Details
-
controlLength
private final int controlLengthLength of control signal. -
stateLength
private final int stateLengthLength of state in SLAM estimator. -
controlMean
private double[] controlMeanControl signal mean to correct biases in control signal. -
controlCovariance
private com.irurueta.algebra.Matrix controlCovarianceControl signal covariance to take into account for estimation of process noise during Kalman prediction stage. -
evaluator
private transient com.irurueta.statistics.MultivariateNormalDist.JacobianEvaluator evaluatorEvaluator 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.
-