public class GatesModel extends Object
The model implemented here differs from the one proposed by Gates in a few ways. Although no mention of it is made in the paper, the formulation proposed by Gates seems to rely on the small angles hypothesis. This is not the case of the formulation used here. In addition, this class only implements the shutoff error and the pointing error, that is, the errors on the maneuver's magnitude and direction which are proportional to ΔV. The uncertainty on the maneuver's direction is modeled as a spherical Gaussian distribution around the ΔV vector, while the uncertainty on the maneuver's magnitude is assumed to follow an uncorrelated Gaussian distribution.
Note that although the uncertainty on the maneuver's magnitude and direction is defined using the target ΔV vector, the latter is generally not the mean of the distribution (this is only the case if there is no uncertainty on the maneuver's direction). The mean perturbed maneuver can be computed using getMeanDeltaV(Vector3D) or getMeanDeltaV(Vector3D, double).
See:
A Simplified Model of Midcourse Maneuver Execution Errors
by C.R. Gates
Technical Report n°32-504, October 15, 1963
Jet Propulsion Laboratory (JPL)
California Institute of Technology, Pasadena, California.
Constructor and Description |
---|
GatesModel(double sigmaMagnitudeIn,
double sigmaDirectionIn)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
SymmetricMatrix |
getCovarianceMatrix3x3(Vector3D deltaV)
Computes the covariance matrix modeling the uncertainty on a maneuver's magnitude and
direction.
|
static SymmetricMatrix |
getCovarianceMatrix3x3(Vector3D deltaV,
double sigmaMagnitude,
double sigmaDirection)
Computes the covariance matrix modeling the uncertainty on a maneuver's magnitude and
direction.
|
SymmetricMatrix |
getCovarianceMatrix6x6(Vector3D deltaV)
Computes the covariance matrix modeling the uncertainty on an object's position and velocity
induced by the uncertainty on a maneuver's magnitude and direction.
|
static SymmetricMatrix |
getCovarianceMatrix6x6(Vector3D deltaV,
double sigmaMagnitude,
double sigmaDirection)
Computes the covariance matrix modeling the uncertainty on an object's position and velocity
induced by the uncertainty on a maneuver's magnitude and direction.
|
Vector3D |
getMeanDeltaV(Vector3D deltaV)
Computes the mean ΔV vector of the distribution modeling the uncertainty on a
maneuver's magnitude and direction.
|
static Vector3D |
getMeanDeltaV(Vector3D deltaV,
double sigmaDirection)
Computes the mean ΔV vector of the distribution modeling the uncertainty on a
maneuver's magnitude and direction.
|
double |
getSigmaDirection()
Gets the standard deviation σD on the direction (in radians).
|
double |
getSigmaMagnitude()
Gets the standard deviation σM on the magnitude (in percent).
|
public GatesModel(double sigmaMagnitudeIn, double sigmaDirectionIn)
The parameter σM defines the shutoff error, which is in the direction of ΔV and is
proportional to its norm.
Such an error would result from scale-factor errors in the shutoff system.
The parameter σD defines the pointing error, which is proportional to the norm of ΔV.
Such an error would result from imperfect angular orientation of the thrust vector.
sigmaMagnitudeIn
- the standard deviation σM on the magnitude (in percent)sigmaDirectionIn
- the standard deviation σD on the direction (in radians)public double getSigmaMagnitude()
This parameter defines the shutoff error, which is in the direction of ΔV and is proportional to its
norm.
Such an error would result from scale-factor errors in the shutoff system.
public double getSigmaDirection()
This parameter defines the pointing error, which is orthogonal to ΔV and proportional to its norm.
Such an error would result from imperfect angular orientation of the thrust vector.
public SymmetricMatrix getCovarianceMatrix3x3(Vector3D deltaV)
This methods assumes the uncertainty on the maneuver's direction follows a spherical Gaussian distribution around the provided ΔV vector. The uncertainty on the maneuver's magnitude is assumed to follow an uncorrelated Gaussian distribution. Both uncertainties are proportional to the norm of ΔV.
deltaV
- the maneuver's ΔV (in any frame)MathArithmeticException
- if the norm of the provided ΔV vector is close to zero
(<ε
), but not exactly equal to zeropublic SymmetricMatrix getCovarianceMatrix6x6(Vector3D deltaV)
This methods assumes the uncertainty on the maneuver's direction follows a spherical Gaussian distribution around the provided ΔV vector. The uncertainty on the maneuver's magnitude is assumed to follow an uncorrelated Gaussian distribution. Both uncertainties are proportional to the norm of ΔV.
deltaV
- the maneuver's ΔV (in any frame)MathArithmeticException
- if the norm of the provided ΔV vector is close to zero
(<ε
), but not exactly equal to zeropublic Vector3D getMeanDeltaV(Vector3D deltaV)
This methods assumes the uncertainty on the maneuver's direction follows a spherical Gaussian distribution around the provided ΔV vector. The uncertainty on the maneuver's magnitude is assumed to follow an uncorrelated Gaussian distribution. Both uncertainties are proportional to the norm of ΔV.
deltaV
- the maneuver's ΔV (in any frame)MathArithmeticException
- if the norm of the provided ΔV vector is close to zero
(<ε
), but not exactly equal to zeropublic static SymmetricMatrix getCovarianceMatrix3x3(Vector3D deltaV, double sigmaMagnitude, double sigmaDirection)
This methods assumes the uncertainty on the maneuver's direction follows a spherical Gaussian distribution around the provided ΔV vector. The uncertainty on the maneuver's magnitude is assumed to follow an uncorrelated Gaussian distribution. Both uncertainties are proportional to the norm of ΔV.
deltaV
- the maneuver's ΔV (in any frame)sigmaMagnitude
- the standard deviation on the magnitude (in percents)sigmaDirection
- the standard deviation on the direction (in radians)MathArithmeticException
- if the norm of the provided ΔV vector is close to zero
(<ε
), but not exactly equal to zeropublic static SymmetricMatrix getCovarianceMatrix6x6(Vector3D deltaV, double sigmaMagnitude, double sigmaDirection)
This methods assumes the uncertainty on the maneuver's direction follows a spherical Gaussian distribution around the provided ΔV vector. The uncertainty on the maneuver's magnitude is assumed to follow an uncorrelated Gaussian distribution. Both uncertainties are proportional to the norm of ΔV.
deltaV
- the maneuver's ΔV (in any frame)sigmaMagnitude
- the standard deviation on the magnitude (in percents)sigmaDirection
- the standard deviation on the direction (in radians)MathArithmeticException
- if the norm of the provided ΔV vector is close to zero
(<ε
), but not exactly equal to zeropublic static Vector3D getMeanDeltaV(Vector3D deltaV, double sigmaDirection)
This methods assumes the uncertainty on the maneuver's direction follows a spherical Gaussian distribution around the provided ΔV vector. The uncertainty on the maneuver's magnitude is assumed to follow an uncorrelated Gaussian distribution. Both uncertainties are proportional to the norm of ΔV.
deltaV
- the maneuver's ΔV (in any frame)sigmaDirection
- the standard deviation on the direction (in radians)MathArithmeticException
- if the norm of the provided ΔV vector is close to zero
(<ε
), but not exactly equal to zeroCopyright © 2023 CNES. All rights reserved.