Class FieldShortTermEncounter2DDefinition<T extends CalculusFieldElement<T>>
- java.lang.Object
-
- org.orekit.ssa.collision.shorttermencounter.probability.twod.FieldShortTermEncounter2DDefinition<T>
-
- Type Parameters:
T
- type of the field elements
public class FieldShortTermEncounter2DDefinition<T extends CalculusFieldElement<T>> extends Object
Defines the encounter between two collision object at time of closest approach assuming a short-term encounter model . It uses the givenencounter frame type
to define the encounter.Both the primary and secondary collision object can be at the reference of the encounter frame, it is up to the user to choose.
The "reference" object is the object considered at the reference of the given encounter frame while the "other" object is the one not placed at the reference.
For example, if the user wants the primary to be at the reference of the default encounter frame, they will have to input data in the following manner:
However, if the user wants to put the secondary at the reference and use thefinal FieldShortTermEncounter2DDefinition encounter = new FieldShortTermEncounter2DDefinition<>(primaryOrbitAtTCA, primaryCovarianceAtTCA, primaryRadius, secondaryOrbitAtTCA, secondaryCovarianceAtTCA, secondaryRadius);
Valsecchi encounter frame
, they will have to type :
Note that in the current implementation, the shape of the collision objects is assumed to be a sphere.final FieldShortTermEncounter2DDefinition encounter = new FieldShortTermEncounter2DDefinition<>(secondaryOrbitAtTCA, secondaryCovarianceAtTCA, secondaryRadius, primaryOrbitAtTCA, primaryCovarianceAtTCA, primaryRadius, EncounterLOFType.VALSECCHI_2003);
- Since:
- 12.0
- Author:
- Vincent Cucchietti
-
-
Constructor Summary
Constructors Constructor Description FieldShortTermEncounter2DDefinition(FieldOrbit<T> referenceAtTCA, FieldStateCovariance<T> referenceCovariance, FieldOrbit<T> otherAtTCA, FieldStateCovariance<T> otherCovariance, T combinedRadius)
Constructor.FieldShortTermEncounter2DDefinition(FieldOrbit<T> referenceAtTCA, FieldStateCovariance<T> referenceCovariance, FieldOrbit<T> otherAtTCA, FieldStateCovariance<T> otherCovariance, T combinedRadius, EncounterLOFType encounterFrameType, double tcaTolerance)
Constructor.FieldShortTermEncounter2DDefinition(FieldOrbit<T> referenceAtTCA, FieldStateCovariance<T> referenceCovariance, T referenceRadius, FieldOrbit<T> otherAtTCA, FieldStateCovariance<T> otherCovariance, T otherRadius)
Constructor.FieldShortTermEncounter2DDefinition(FieldOrbit<T> referenceAtTCA, FieldStateCovariance<T> referenceCovariance, T referenceRadius, FieldOrbit<T> otherAtTCA, FieldStateCovariance<T> otherCovariance, T otherRadius, EncounterLOFType encounterFrameType, double tcaTolerance)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description FieldStateCovariance<T>
computeCombinedCovarianceInEncounterFrame()
Compute the combined covariance expressed in the encounter frame.FieldStateCovariance<T>
computeCombinedCovarianceInReferenceTNW()
Takes both covariance matrices (expressed in their respective RTN local orbital frame) from reference and other collision object with which this instance was created and sum them in the reference collision object TNW local orbital frame.T
computeCoppolaEncounterDuration()
Compute the Encounter duration (s) evaluated using Coppola's formula described in : "COPPOLA, Vincent, et al.T
computeMahalanobisDistance()
Compute the Mahalanobis distance computed with the other collision object projected onto the collision plane (commonly called B-Plane) and expressed in the rotated encounter frame (frame in which the combined covariance matrix is diagonalized, seecomputeEncounterPlaneRotationMatrix(double)
for more details).T
computeMahalanobisDistance(double zeroThreshold)
Compute the Mahalanobis distance computed with the other collision object projected onto the collision plane (commonly called B-Plane) and expressed in the rotated encounter frame (frame in which the combined covariance matrix is diagonalized, seecomputeEncounterPlaneRotationMatrix(double)
for more details).T
computeMissDistance()
Compute the miss distance at time of closest approach.FieldVector2D<T>
computeOtherPositionInCollisionPlane()
Compute the other collision objectposition
projected onto the collision plane.FieldVector2D<T>
computeOtherPositionInRotatedCollisionPlane()
Compute the other collision objectposition
in the rotated collision plane.FieldVector2D<T>
computeOtherPositionInRotatedCollisionPlane(double zeroThreshold)
Compute the other collision objectposition
in the rotated collision plane.FieldPVCoordinates<T>
computeOtherRelativeToReferencePVInReferenceInertial()
Compute the other collision position and velocity relative to the reference collision object.FieldMatrix<T>
computeProjectedAndDiagonalizedCombinedPositionalCovarianceMatrix()
Compute the combined covariance matrix diagonalized and projected onto the collision plane.FieldMatrix<T>
computeProjectedCombinedPositionalCovarianceMatrix()
Compute the projected combined covariance matrix onto the collision plane.FieldMatrix<T>
computeReferenceInertialToCollisionPlaneProjectionMatrix()
Compute the projection matrix from the reference collision object inertial frame to the collision plane.T
computeSquaredMahalanobisDistance()
Compute the squared Mahalanobis distance computed with the other collision object projected onto the collision plane (commonly called B-Plane) and expressed in the rotated encounter frame (frame in which the combined covariance matrix is diagonalized, seecomputeEncounterPlaneRotationMatrix(double)
for more details).T
computeSquaredMahalanobisDistance(double zeroThreshold)
Compute the squared Mahalanobis distance computed with the other collision object projected onto the collision plane (commonly called B-Plane) and expressed in the rotated encounter frame (frame in which the combined covariance matrix is diagonalized, seecomputeEncounterPlaneRotationMatrix(double)
for more details).static <T extends CalculusFieldElement<T>>
TcomputeSquaredMahalanobisDistance(FieldVector2D<T> otherPosition, FieldMatrix<T> covarianceMatrix)
Compute the squared Mahalanobis distance.static <T extends CalculusFieldElement<T>>
TcomputeSquaredMahalanobisDistance(T xm, T ym, T sigmaX, T sigmaY)
Compute the squared Mahalanobis distance.T
getCombinedRadius()
Get combined radius.EncounterLOF
getEncounterFrame()
Get encounter local orbital frame.FieldOrbit<T>
getOtherAtTCA()
Get other's orbit at time of closest approach.FieldStateCovariance<T>
getOtherCovariance()
Get other's covariance.FieldOrbit<T>
getReferenceAtTCA()
Get reference's orbit at time of closest approach.FieldStateCovariance<T>
getReferenceCovariance()
Get reference's covariance.FieldAbsoluteDate<T>
getTca()
Get the Time of Closest Approach.ShortTermEncounter2DDefinition
toEncounter()
Get new encounter instance.
-
-
-
Constructor Detail
-
FieldShortTermEncounter2DDefinition
public FieldShortTermEncounter2DDefinition(FieldOrbit<T> referenceAtTCA, FieldStateCovariance<T> referenceCovariance, T referenceRadius, FieldOrbit<T> otherAtTCA, FieldStateCovariance<T> otherCovariance, T otherRadius)
Constructor.- Parameters:
referenceAtTCA
- reference collision object orbit at time of closest approachreferenceCovariance
- reference collision object covariance matrix in its respective RTN framereferenceRadius
- reference collision's equivalent sphere radiusotherAtTCA
- other collision object orbit at time of closest approachotherCovariance
- other collision object covariance matrix in its respective RTN frameotherRadius
- other collision's equivalent sphere radius- Throws:
OrekitException
- If both collision object spacecraft state don't have the same definition date.
-
FieldShortTermEncounter2DDefinition
public FieldShortTermEncounter2DDefinition(FieldOrbit<T> referenceAtTCA, FieldStateCovariance<T> referenceCovariance, FieldOrbit<T> otherAtTCA, FieldStateCovariance<T> otherCovariance, T combinedRadius)
Constructor.- Parameters:
referenceAtTCA
- reference collision object orbit at time of closest approachreferenceCovariance
- reference collision object covariance matrix in its respective RTN frameotherAtTCA
- other collision object orbit at time of closest approachotherCovariance
- other collision object covariance matrix in its respective RTN framecombinedRadius
- combined radius (m)- Throws:
OrekitException
- If both collision object spacecraft state don't have the same definition date.
-
FieldShortTermEncounter2DDefinition
public FieldShortTermEncounter2DDefinition(FieldOrbit<T> referenceAtTCA, FieldStateCovariance<T> referenceCovariance, T referenceRadius, FieldOrbit<T> otherAtTCA, FieldStateCovariance<T> otherCovariance, T otherRadius, EncounterLOFType encounterFrameType, double tcaTolerance)
Constructor.- Parameters:
referenceAtTCA
- reference collision object orbit at time of closest approachreferenceCovariance
- reference collision object covariance matrix in its respective RTN framereferenceRadius
- reference collision's equivalent sphere radiusotherAtTCA
- other collision object orbit at time of closest approachotherCovariance
- other collision object covariance matrix in its respective RTN frameotherRadius
- other collision's equivalent sphere radiusencounterFrameType
- type of encounter frame to usetcaTolerance
- tolerance on reference and other times of closest approach difference- Throws:
OrekitException
- If both collision object spacecraft state don't have the same definition date.
-
FieldShortTermEncounter2DDefinition
public FieldShortTermEncounter2DDefinition(FieldOrbit<T> referenceAtTCA, FieldStateCovariance<T> referenceCovariance, FieldOrbit<T> otherAtTCA, FieldStateCovariance<T> otherCovariance, T combinedRadius, EncounterLOFType encounterFrameType, double tcaTolerance)
Constructor.- Parameters:
referenceAtTCA
- reference collision object orbit at time of closest approachreferenceCovariance
- reference collision object covariance matrix in its respective RTN frameotherAtTCA
- other collision object orbit at time of closest approachotherCovariance
- other collision object covariance matrix in its respective RTN framecombinedRadius
- combined radius (m)encounterFrameType
- type of encounter frame to usetcaTolerance
- tolerance on reference and other times of closest approach difference- Throws:
OrekitException
- If both collision object spacecraft state don't have the same definition date.
-
-
Method Detail
-
computeSquaredMahalanobisDistance
public static <T extends CalculusFieldElement<T>> T computeSquaredMahalanobisDistance(T xm, T ym, T sigmaX, T sigmaY)
Compute the squared Mahalanobis distance.- Type Parameters:
T
- type of the field elements- Parameters:
xm
- other collision object projected xm position onto the collision plane in the rotated encounter frameym
- other collision object projected ym position onto the collision plane in the rotated encounter framesigmaX
- square root of the x-axis eigen value of the diagonalized combined covariance matrix projected onto the collision planesigmaY
- square root of the y-axis eigen value of the diagonalized combined covariance matrix projected onto the collision plane- Returns:
- squared Mahalanobis distance
-
computeSquaredMahalanobisDistance
public static <T extends CalculusFieldElement<T>> T computeSquaredMahalanobisDistance(FieldVector2D<T> otherPosition, FieldMatrix<T> covarianceMatrix)
Compute the squared Mahalanobis distance.- Type Parameters:
T
- type of the field elements- Parameters:
otherPosition
- other collision object projected position onto the collision plane in the rotated encounter framecovarianceMatrix
- combined covariance matrix projected onto the collision plane and diagonalized- Returns:
- squared Mahalanobis distance
-
computeOtherRelativeToReferencePVInReferenceInertial
public FieldPVCoordinates<T> computeOtherRelativeToReferencePVInReferenceInertial()
Compute the other collision position and velocity relative to the reference collision object. Expressed in the reference collision object inertial frame.- Returns:
- other collision position and velocity relative to the reference collision object, expressed in the reference collision object inertial frame.
-
computeReferenceInertialToCollisionPlaneProjectionMatrix
public FieldMatrix<T> computeReferenceInertialToCollisionPlaneProjectionMatrix()
Compute the projection matrix from the reference collision object inertial frame to the collision plane.Note that this matrix will only rotate from the reference collision object inertial frame to the encounter frame and project onto the collision plane, this is only a rotation.
- Returns:
- projection matrix from the reference collision object inertial frame to the collision plane
-
computeProjectedAndDiagonalizedCombinedPositionalCovarianceMatrix
public FieldMatrix<T> computeProjectedAndDiagonalizedCombinedPositionalCovarianceMatrix()
Compute the combined covariance matrix diagonalized and projected onto the collision plane.Diagonalize projected positional covariance matrix in a specific manner to have σxx2 ≤ σyy2.
- Returns:
- combined covariance matrix diagonalized and projected onto the collision plane
-
computeProjectedCombinedPositionalCovarianceMatrix
public FieldMatrix<T> computeProjectedCombinedPositionalCovarianceMatrix()
Compute the projected combined covariance matrix onto the collision plane.- Returns:
- projected combined covariance matrix onto the collision plane
-
computeCombinedCovarianceInEncounterFrame
public FieldStateCovariance<T> computeCombinedCovarianceInEncounterFrame()
Compute the combined covariance expressed in the encounter frame.- Returns:
- combined covariance expressed in the encounter frame
-
computeOtherPositionInCollisionPlane
public FieldVector2D<T> computeOtherPositionInCollisionPlane()
Compute the other collision objectposition
projected onto the collision plane.- Returns:
- other collision object position projected onto the collision plane
-
computeOtherPositionInRotatedCollisionPlane
public FieldVector2D<T> computeOtherPositionInRotatedCollisionPlane()
Compute the other collision objectposition
in the rotated collision plane.Uses a default zero threshold of 1e-15.
The coordinates are often noted xm and ym in probability of collision related papers.
The mentioned rotation concerns the rotation that diagonalize the combined covariance matrix inside the collision plane.
- Returns:
- other collision object position in the rotated collision plane
-
computeOtherPositionInRotatedCollisionPlane
public FieldVector2D<T> computeOtherPositionInRotatedCollisionPlane(double zeroThreshold)
Compute the other collision objectposition
in the rotated collision plane.The coordinates are often noted xm and ym in probability of collision related papers.
The mentioned rotation concerns the rotation that diagonalize the combined covariance matrix inside the collision plane.
- Parameters:
zeroThreshold
- threshold below which values are considered equal to zero- Returns:
- other collision object position in the rotated collision plane
-
computeCoppolaEncounterDuration
public T computeCoppolaEncounterDuration()
Compute the Encounter duration (s) evaluated using Coppola's formula described in : "COPPOLA, Vincent, et al. Evaluating the short encounter assumption of the probability of collision formula. 2012."This method is to be used to check the validity of the short-term encounter model. The user is expected to compare the computed duration with the orbital period from both objects and draw its own conclusions.
It uses γ = 1e-16 as the resolution of a double is nearly 1e-16 so γ smaller than that are not meaningful to compute.
- Returns:
- encounter duration (s) evaluated using Coppola's formula
-
computeMissDistance
public T computeMissDistance()
Compute the miss distance at time of closest approach.- Returns:
- miss distance
-
computeMahalanobisDistance
public T computeMahalanobisDistance()
Compute the Mahalanobis distance computed with the other collision object projected onto the collision plane (commonly called B-Plane) and expressed in the rotated encounter frame (frame in which the combined covariance matrix is diagonalized, seecomputeEncounterPlaneRotationMatrix(double)
for more details).Uses a default zero threshold of 1e-15 for the computation of the diagonalizing of the projected covariance matrix.
- Returns:
- Mahalanobis distance between the reference and other collision object
- See Also:
- Mahalanobis distance
-
computeMahalanobisDistance
public T computeMahalanobisDistance(double zeroThreshold)
Compute the Mahalanobis distance computed with the other collision object projected onto the collision plane (commonly called B-Plane) and expressed in the rotated encounter frame (frame in which the combined covariance matrix is diagonalized, seecomputeEncounterPlaneRotationMatrix(double)
for more details).- Parameters:
zeroThreshold
- threshold below which values are considered equal to zero- Returns:
- Mahalanobis distance between the reference and other collision object
- See Also:
- Mahalanobis distance
-
computeSquaredMahalanobisDistance
public T computeSquaredMahalanobisDistance()
Compute the squared Mahalanobis distance computed with the other collision object projected onto the collision plane (commonly called B-Plane) and expressed in the rotated encounter frame (frame in which the combined covariance matrix is diagonalized, seecomputeEncounterPlaneRotationMatrix(double)
for more details).Uses a default zero threshold of 1e-15 for the computation of the diagonalizing of the projected covariance matrix.
- Returns:
- squared Mahalanobis distance between the reference and other collision object
- See Also:
- Mahalanobis distance
-
computeSquaredMahalanobisDistance
public T computeSquaredMahalanobisDistance(double zeroThreshold)
Compute the squared Mahalanobis distance computed with the other collision object projected onto the collision plane (commonly called B-Plane) and expressed in the rotated encounter frame (frame in which the combined covariance matrix is diagonalized, seecomputeEncounterPlaneRotationMatrix(double)
for more details).- Parameters:
zeroThreshold
- threshold below which values are considered equal to zero- Returns:
- squared Mahalanobis distance between the reference and other collision object
- See Also:
- Mahalanobis distance
-
toEncounter
public ShortTermEncounter2DDefinition toEncounter()
Get new encounter instance.- Returns:
- new encounter instance
-
computeCombinedCovarianceInReferenceTNW
public FieldStateCovariance<T> computeCombinedCovarianceInReferenceTNW()
Takes both covariance matrices (expressed in their respective RTN local orbital frame) from reference and other collision object with which this instance was created and sum them in the reference collision object TNW local orbital frame.- Returns:
- combined covariance matrix expressed in the reference collision object TNW local orbital frame
-
getTca
public FieldAbsoluteDate<T> getTca()
Get the Time of Closest Approach.Commonly called TCA.
- Returns:
- time of closest approach
-
getReferenceAtTCA
public FieldOrbit<T> getReferenceAtTCA()
Get reference's orbit at time of closest approach.- Returns:
- reference's orbit at time of closest approach
-
getOtherAtTCA
public FieldOrbit<T> getOtherAtTCA()
Get other's orbit at time of closest approach.- Returns:
- other's orbit at time of closest approach
-
getReferenceCovariance
public FieldStateCovariance<T> getReferenceCovariance()
Get reference's covariance.- Returns:
- reference's covariance
-
getOtherCovariance
public FieldStateCovariance<T> getOtherCovariance()
Get other's covariance.- Returns:
- other's covariance
-
getCombinedRadius
public T getCombinedRadius()
Get combined radius.- Returns:
- combined radius (m)
-
getEncounterFrame
public EncounterLOF getEncounterFrame()
Get encounter local orbital frame.- Returns:
- encounter local orbital frame
-
-