Class ManeuverEstimation


  • public class ManeuverEstimation
    extends NumericalOrbitDetermination
    Orekit tutorial for maneuver estimation.

    This tutorial is divided into two main parts.
    The first part makes use of the tutorial MeasurementGenerator to generate PV measurements in the expected format. The generator is configured via the maneuver-estimation-generate-measurements.yaml file which, for the purpose of this tutorial, contains three maneuvers by default.
    The second part focuses on the maneuver estimation using a Batch Least-Square. The default configuration is provided in the maneuver-estimation.yaml file.
    The estimated parameters are as follows:

    • The start/stop dates of the first maneuver,
    • The median date and duration of the second and third maneuvers,
    • The thrust for all maneuvers,
    • The drag and reflectivity coefficients.
    The idea here is to generate measurements with "reference" orbit and maneuvers.
    Then launch the estimation starting from a shifted orbit and shifted maneuvers (in thrust and dates).
    And finally check that at the end of the OD process, the results converge towards the reference values.

    Note that only two alternative combinations are allowed for dates estimation:

    1. Start and stop dates,
    2. OR median date and duration.
    When estimating both date parameters (e.g. start and stop dates / median date and duration), their initial guesses should be chosen carefully to be representative of the maneuver (e.g. the overall duration should be consistent / start and stop dates should not be pushed too early or later in time).

    Also, the estimated dates require an entry for their minimum and maximum value in the yaml configuration file. However these values are ignored by the algorithm which sets them to AbsoluteDate.PAST_INFINITY and AbsoluteDate.FUTURE_INFINITY, respectively.

    • Constructor Detail

      • ManeuverEstimation

        public ManeuverEstimation()
    • Method Detail

      • main

        public static void main​(String[] args)
        Program entry point.
        Parameters:
        args - program arguments (unused here)