Class ClohessyWiltshireProvider

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

public class ClohessyWiltshireProvider extends AbstractRelativeProvider

This additional state provider implements the Clohessy-Wiltshire 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 Clohessy-Wiltshire equations consider the target to be in a perfectly circular orbit around a central potential.

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

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

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

Since:
14.0
Author:
Jérôme Tabeaud, 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 LOFType LOF_TYPE
      Local Orbital Frame. Clohessy-Wiltshire equations are defined in the QSW local orbital frame of the target, so this provider is hardcoded to use this LOF.
  • Constructor Details

    • ClohessyWiltshireProvider

      @DefaultDataContext public ClohessyWiltshireProvider(Orbit targetOrbit)
      Builds a new ClohessyWiltshireProvider object from the target orbit and an all-zero PVT for the chaser.
      Parameters:
      targetOrbit - Target orbit. Should be circular for better results
    • ClohessyWiltshireProvider

      public ClohessyWiltshireProvider(Orbit targetOrbit, TimeStampedPVCoordinates initialChaserPVTLof)
      Builds a new ClohessyWiltshireProvider object from the target orbit and an initial PVT of the chaser.
      Parameters:
      targetOrbit - Target orbit. Should be circular for better results
      initialChaserPVTLof - Chaser PVT in the target's QSW local orbital frame
    • ClohessyWiltshireProvider

      public ClohessyWiltshireProvider(Orbit targetOrbit, TimeStampedPVCoordinates initialChaserPVTLof, String additionalEquationsName)
      Builds a new ClohessyWiltshireProvider object from the target orbit and an initial PVT of the chaser.
      Parameters:
      targetOrbit - Target orbit. Should be circular for better results
      initialChaserPVTLof - Chaser PVT in the target's QSW local orbital frame
      additionalEquationsName - Additional equations name
    • ClohessyWiltshireProvider

      public ClohessyWiltshireProvider(Orbit targetOrbit, TimeStampedPVCoordinates initialChaserPVT, Frame inputPVTFrame)
      Builds a new ClohessyWiltshireProvider 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 the input frame
      inputPVTFrame - Input frame for the initial chaser PVT
    • ClohessyWiltshireProvider

      public ClohessyWiltshireProvider(Orbit targetOrbit, TimeStampedPVCoordinates initialChaserPVT, Frame inputPVTFrame, String additionalEquationsName)
      Builds a new ClohessyWiltshireProvider 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 the input Frame
      inputPVTFrame - Input frame for the initial chaser PVT
      additionalEquationsName - Additional equations name
  • Method Details

    • 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 QSW LOF.

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