Class UnscentedKalmanEstimatorBuilder

java.lang.Object
org.orekit.estimation.sequential.UnscentedKalmanEstimatorBuilder

public class UnscentedKalmanEstimatorBuilder extends Object
Builder for an Unscented Kalman filter estimator.

The builder is generalized to accept any PropagatorBuilder. Howerver, it is absolutely not recommended to use a DSSTPropagatorBuilder. A specific semi-analytical unscented Kalman Filter is implemented and shall be used.

Since:
11.3
Author:
Gaƫtan Pierre, Bryan Cazabonne
  • Constructor Details

    • UnscentedKalmanEstimatorBuilder

      public UnscentedKalmanEstimatorBuilder()
      Default constructor. Set an Unscented Kalman filter.
  • Method Details

    • build

      public UnscentedKalmanEstimator build()
      Construct a UnscentedKalmanEstimator from the data in this builder.

      Before this method is called, addPropagationConfiguration() must have been called at least once, otherwise configuration is incomplete and an exception will be raised.

      In addition, the unscentedTransformProvider() must be called to configure the unscented transform provider use during the estimation process, otherwise configuration is incomplete and an exception will be raised.

      Returns:
      a new UnscentedKalmanEstimator.
    • decomposer

      public UnscentedKalmanEstimatorBuilder decomposer(MatrixDecomposer matrixDecomposer)
      Configure the matrix decomposer.
      Parameters:
      matrixDecomposer - decomposer to use for the correction phase
      Returns:
      this object.
    • unscentedTransformProvider

      public UnscentedKalmanEstimatorBuilder unscentedTransformProvider(UnscentedTransformProvider transformProvider)
      Configure the unscented transform provider.
      Parameters:
      transformProvider - unscented transform to use for the prediction phase
      Returns:
      this object.
    • addPropagationConfiguration

      public UnscentedKalmanEstimatorBuilder addPropagationConfiguration(PropagatorBuilder builder, CovarianceMatrixProvider provider)
      Add a propagation configuration.

      This method must be called once for each propagator to managed with the unscented kalman estimatior. The propagators order in the Kalman filter will be the call order.

      The provider should return a matrix with dimensions and ordering consistent with the builder configuration. The first 6 rows/columns correspond to the 6 orbital parameters which must all be present, regardless of the fact they are estimated or not. The remaining elements correspond to the subset of propagation parameters that are estimated, in the same order as propagatorBuilder.getPropagationParametersDrivers().getDrivers() (but filtering out the non selected drivers).

      Parameters:
      builder - The propagator builder to use in the Kalman filter.
      provider - The process noise matrices provider to use, consistent with the builder.
      Returns:
      this object.
      See Also:
    • estimatedMeasurementsParameters

      public UnscentedKalmanEstimatorBuilder estimatedMeasurementsParameters(ParameterDriversList estimatedMeasurementsParams, CovarianceMatrixProvider provider)
      Configure the estimated measurement parameters.

      If this method is not called, no measurement parameters will be estimated.

      Parameters:
      estimatedMeasurementsParams - The estimated measurements' parameters list.
      provider - covariance matrix provider for the estimated measurement parameters
      Returns:
      this object.