Class YamanakaAnkersenProvider

java.lang.Object
org.orekit.propagation.relative.AbstractRelativeProvider
org.orekit.propagation.relative.yamanakaankersen.YamanakaAnkersenProvider
All Implemented Interfaces:
AdditionalDataProvider<double[]>, RelativeProvider

public class YamanakaAnkersenProvider extends AbstractRelativeProvider

This additional state provider implements the Yamanaka-Ankersen equations of relative motion to propagate the relative orbit of a chaser spacecraft around the target spacecraft whose orbit is being propagated.

Note 1: the Yamanaka-Ankersen equations are derived in LVLH CCSDS Frame whereas Clohessy-Wiltshire equations are derived in local QSW Frame.

Note 2: the additional state returned is a PV of the chaser at the given time expressed in the target's LVLH CCSDS local orbital frame.

The actual orbit of a chaser around the target will be different when considering a greater eccentricity, or other perturbations. It is however a good and analytical (very fast) way to approximate the relative motion of two spacecraft with the target in eccentric orbit.

The class YamanakaAnkersenRendezVous allows the analytical computation of 2-maneuver rendez-vous transfers.

Since:
14.0
Author:
Romain Cuvillon
  • Field Details

    • DEFAULT_ADDITIONAL_EQUATIONS_NAME

      public static final String DEFAULT_ADDITIONAL_EQUATIONS_NAME
      Default additional equations name.
      See Also:
    • LOF_TYPE

      public static final LOF LOF_TYPE
      Local Orbital Frame. Yamanaka-Ankersen equations are defined in the LVLH_CCSDS local orbital frame of the target, so this provider is hardcoded to use this LOF.
  • Constructor Details

    • YamanakaAnkersenProvider

      @DefaultDataContext public YamanakaAnkersenProvider(Orbit targetOrbit)
      Builds a YamanakaAnkersenProvider from the target orbit and an all-zero PVT for the chaser.
      Parameters:
      targetOrbit - orbit of the target
    • YamanakaAnkersenProvider

      public YamanakaAnkersenProvider(Orbit targetOrbit, TimeStampedPVCoordinates initialChaserPVTLof)
      Builds a new YamanakaAnkersenProvider object from the target orbit and an all-zero PVT for the chaser.
      Parameters:
      targetOrbit - orbit of the target
      initialChaserPVTLof - Chaser PVT in the target's LVLH_CCSDS local orbital frame
    • YamanakaAnkersenProvider

      public YamanakaAnkersenProvider(Orbit targetOrbit, TimeStampedPVCoordinates initialChaserPVTLof, String additionalEquationsName)
      Builds a new YamanakaAnkersenProvider object from the target orbit and an initial PVT of the chaser.
      Parameters:
      targetOrbit - orbit of the target
      initialChaserPVTLof - Chaser PVT in the target's LVLH_CCSDS local orbital frame
      additionalEquationsName - Additional equations name
    • YamanakaAnkersenProvider

      public YamanakaAnkersenProvider(Orbit targetOrbit, TimeStampedPVCoordinates initialChaserPVT, Frame inputPVTFrame)
      Builds a new YamanakaAnkersenProvider object from the target orbit and an initial PVT of the chaser expressed in the given input frame.
      Parameters:
      targetOrbit - Target orbit. Should be circular for better results
      initialChaserPVT - Chaser PVT in given frame
      inputPVTFrame - Input frame for the initial chaser PVT
    • YamanakaAnkersenProvider

      public YamanakaAnkersenProvider(Orbit targetOrbit, TimeStampedPVCoordinates initialChaserPVT, Frame inputPVTFrame, String additionalEquationsName)
      Builds a new YamanakaAnkersenProvider object from the target orbit and an initial PVT of the chaser expressed in the given input frame.
      Parameters:
      targetOrbit - Target orbit. Should be circular for better results
      initialChaserPVT - Chaser PVT in given Frame
      inputPVTFrame - Input frame for the initial chaser PVT
      additionalEquationsName - Additional equations name
  • Method Details

    • setTargetTrueAnomaly

      public void setTargetTrueAnomaly(double trueAnomaly)
      CW doesn't use true anomaly, so default is a no-op Set the true anomaly of the target..

      Return the same orbit but at a different true anomaly.

      Parameters:
      trueAnomaly - true anomaly of the target
    • extractChaserPVT

      public TimeStampedPVCoordinates extractChaserPVT(SpacecraftState targetState)
      Extracts the chaser's PVT in the target LOF from the given target SpacecraftState..

      Get the chaser state relative to a target, in target's LVLH LOF.

      Parameters:
      targetState - target SpacecraftState
      Returns:
      chaser's TimeStampedPVCoordinates in target's LOF