Class TeardropCircularWaypointCalculator

java.lang.Object
org.orekit.control.relative.TeardropCircularWaypointCalculator

public class TeardropCircularWaypointCalculator extends Object
Class to store and compute the waypoints representing a teardrop maneuver sequence.

Note: The analytical solution of the Teardrop maneuver sequence is valid only using the Clohessy-Wiltshire equations (circular orbit).

Since:
14.0
Author:
Romain Cuvillon, Jérôme Tabeaud
  • Constructor Details

    • TeardropCircularWaypointCalculator

      public TeardropCircularWaypointCalculator(double targetMeanMotion, double turnAroundDistance, double maneuverDistance, int numberOfTearDrops)
      Creates a new teardrop relative orbit calculator.
      Parameters:
      targetMeanMotion - Target spacecraft's orbital mean motion, in rad/s.
      turnAroundDistance - Turn-around distance. This is the "round" end of the orbit. Note that this distance is signed : negative means below the target spacecraft (in between the planet and the target), while positive means above the target (target is in between the chaser and the planet).
      maneuverDistance - Maneuver distance of the teardrop orbit. This is the "pointy" end of the orbit. Note that this distance is signed : negative means below the target spacecraft (in between the planet and the target), while positive means above the target (target is in between the chaser and the planet).
      numberOfTearDrops - Number of teardrop orbits to perform. Must be ≥ 1.
  • Method Details

    • computeTearDropWaypoints

      public List<TimeStampedPVCoordinates> computeTearDropWaypoints(AbsoluteDate injectionDate)
      Computes the waypoints of the teardrop relative orbit in QSW Local Orbital Frame to use them with Clohessy-Wiltshire maneuvers.

      The injection point is the turn-around point of the teardrop (the round end).

      All maneuvers happen at the pointy end of the teardrop.

      Parameters:
      injectionDate - Date of the first waypoint, which corresponds to the injection point of the teardrop orbit.
      Returns:
      List of waypoints in time. Date, position, and velocity are non-zero.
    • computeRelativeOrbitalPeriod

      public double computeRelativeOrbitalPeriod()
      Computes the relative orbit's period. Depends on the target's orbital pulsation and the geometry of the teardrop relative orbit.
      Returns:
      Period of the relative orbit, in seconds.