Skip to content

Fix issues #979, #981, #987 and #1133 : Added collision package

Vincent CUCCHIETTI requested to merge vcucchie/orekit:issue-979-field into develop

Hey everyone,

I'm opening this mr to close the following issues:

Of course this mr is mainly about the collision package that it is going to add and a thread about this has been opened for quite some time now.

Summary of the additions

  • Field version of StateCovariance class (with toStateCovariance method).
  • Generalization of LOFType enum which now extend the new LOF interface. Methods that were in LOFType are now in LOF. In addition, the StateCovariance class use the LOF interface instead of LOFType.
  • Addition of the EncounterLOF interface as well as two classes implementing it (DefaultEncounterFrame and ValsecchiEncounterFrame). It extends LOF and implements new methods to project matrices and vectors onto the collision plane. Hence, it can be used with the StateCovariance class !
  • Addition "shorttermencounter" subpackage which regroups methods assuming a short term encounter. It introduced the following 2D probability of collision computing methods:
  1. Chan1997
  2. Alfriend1999
  3. Alfriend1999Max
  4. Alfano2005
  5. Patera2005 (recommended)
  6. Laas2015 (highly recommended)

All of these methods can handle Field (yes i'm looking at you @Serrof 😉 )

Also, it offers a ShortTermEncounterDefinition class that gives quick access to commonly used values such as:

  1. Miss distance
  2. The diagonalized covariance projected onto the collision plane
  3. Mahalanobis distance (squared or not)
  4. The position of the other object on the collision plane (before and after rotation due to the diagonalization of the covariance matrix)
  • The ShortTermEncounterPOCMethodType enum allows for conversion (when it is possible) with the already existing PocMethodType enum.
  • Addition of a Fieldifier class in the utils package to easily convert Orekit object to their field equivalent.
  • Defined Earth as the default orbit center in CDM if not explicitly defined as per the CCSDS blue book requirement.

There are more than 200 new tests with a basic code coverage of >95%.

I think that only some name and javadoc refactoring is needed to be as user-friendly as possible, but I would like to hear your thoughts first :) !

NOTE: This mr will be implementable as soon as this Hipparchus issue is closed.

Cheers, Vincent

Edited by Vincent CUCCHIETTI

Merge request reports