Class IodHerrickGibbs

java.lang.Object
org.orekit.estimation.iod.IodHerrickGibbs

public class IodHerrickGibbs extends Object
HerrickGibbs position-based Initial Orbit Determination (IOD) algorithm.

An orbit is determined from three position vectors. Because Gibbs IOD algorithm is limited when the position vectors are to close to one other, Herrick-Gibbs IOD algorithm is a variation made to address this limitation. Because this method is only approximate, it is not robust as the Gibbs method for other cases.

Since:
13.1
Author:
Bryan Cazabonne
See Also:
  • "Vallado, D., Fundamentals of Astrodynamics and Applications, 4th Edition."
  • Constructor Details

    • IodHerrickGibbs

      public IodHerrickGibbs(double mu)
      Constructor.
      Parameters:
      mu - gravitational constant
  • Method Details

    • estimate

      public Orbit estimate(Frame frame, Position p1, Position p2, Position p3)
      Give an initial orbit estimation, assuming Keplerian motion.

      All observations should be from the same location.

      Parameters:
      frame - measurements frame, used as output orbit frame
      p1 - First position measurement
      p2 - Second position measurement
      p3 - Third position measurement
      Returns:
      an initial orbit estimation at the central date (i.e., date of the second position measurement)
    • estimate

      public Orbit estimate(Frame frame, PV pv1, PV pv2, PV pv3)
      Give an initial orbit estimation, assuming Keplerian motion.

      All observations should be from the same location.

      Parameters:
      frame - measurements frame, used as output orbit frame
      pv1 - First PV measurement
      pv2 - Second PV measurement
      pv3 - Third PV measurement
      Returns:
      an initial orbit estimation at the central date (i.e., date of the second PV measurement)
    • estimate

      public Orbit estimate(Frame frame, Vector3D r1, AbsoluteDate date1, Vector3D r2, AbsoluteDate date2, Vector3D r3, AbsoluteDate date3)
      Give an initial orbit estimation, assuming Keplerian motion.

      All observations should be from the same location.

      Parameters:
      frame - measurements frame, used as output orbit frame
      r1 - position vector 1, expressed in frame
      date1 - epoch of position vector 1
      r2 - position vector 2, expressed in frame
      date2 - epoch of position vector 2
      r3 - position vector 3, expressed in frame
      date3 - epoch of position vector 3
      Returns:
      an initial orbit estimation at the central date (i.e., date of the second position measurement)
    • estimate

      public <T extends CalculusFieldElement<T>> FieldOrbit<T> estimate(Frame frame, FieldVector3D<T> r1, FieldAbsoluteDate<T> date1, FieldVector3D<T> r2, FieldAbsoluteDate<T> date2, FieldVector3D<T> r3, FieldAbsoluteDate<T> date3)
      Give an initial orbit estimation, assuming Keplerian motion.

      All observations should be from the same location.

      Type Parameters:
      T - type of the elements
      Parameters:
      frame - measurements frame, used as output orbit frame
      r1 - position vector 1, expressed in frame
      date1 - epoch of position vector 1
      r2 - position vector 2, expressed in frame
      date2 - epoch of position vector 2
      r3 - position vector 3, expressed in frame
      date3 - epoch of position vector 3
      Returns:
      an initial orbit estimation at the central date (i.e., date of the second position measurement)