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.MatrixControl signal covariance to take into account for estimation of process noise during Kalman prediction stage.private final intLength of control signal.private double[]Control signal mean to correct biases in control signal.private com.irurueta.statistics.MultivariateNormalDist.JacobianEvaluatorEvaluator for distribution propagation.private final intLength of state in SLAM estimator. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBaseCalibrationData(int controlLength, int stateLength) Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncom.irurueta.algebra.MatrixGets control signal covariance to take into account for estimation of process noise during Kalman prediction stage.intGets length of control signal.double[]Gets control signal mean to correct biases in control signal.intGets length of state in SLAM estimator.com.irurueta.statistics.MultivariateNormalDistpropagateWithControlJacobian(com.irurueta.algebra.Matrix controlJacobian) Propagates calibrated control signal covariance using current control jacobian matrix.voidpropagateWithControlJacobian(com.irurueta.algebra.Matrix controlJacobian, com.irurueta.statistics.MultivariateNormalDist result) Propagates calibrated control signal covariance using current control jacobian matrix.voidsetControlCovariance(com.irurueta.algebra.Matrix controlCovariance) Sets control signal covariance to take into account for estimation of process noise during Kalman prediction stage.voidsetControlMean(double[] controlMean) Sets control signal mean to correct biases in control signal.voidsetControlMeanAndCovariance(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.
-