public abstract class AbstractIsisSpinBiasSlew extends AbstractSlew
Modifier and Type | Class and Description |
---|---|
static class |
AbstractIsisSpinBiasSlew.TypeOfDate
Type of provided date.
|
Modifier and Type | Field and Description |
---|---|
protected double |
accelDuration
Duration of the acceleration phase.
|
protected double |
accelMax
Value of the acceleration step during the first phase.
|
protected double |
decelDuration
Duration of the deceleration phase.
|
protected double |
decelMax
Value of the deceleration step during the last phase (assumed > 0).
|
protected double |
dtSCAO
Time step.
|
protected double |
durationWoTranq
Duration of the spin bias slew, excluding the tranquillisation phase.
|
protected TabulatedAttitude |
ephem
Attitude ephemerides of the slew, including the tranquillisation phase.
|
protected AbsoluteDate |
initialOrFinalDate
Initial or final date of the slew.
|
protected Frame |
refFrame
Reference frame.
|
protected double |
slewAngle
Angle of the rotation associated to the spin bias slew.
|
protected Vector3D |
slewAxis
Axis of the rotation associated to the spin bias slew.
|
protected boolean |
spinDerivativesComputation
Flag to indicate if spin derivation computation is activated.
|
protected AbstractIsisSpinBiasSlew.TypeOfDate |
typeOfDate
Type of reference date: initial date or final date.
|
computed, currentProvider, fLaw, iLaw, intervalOfValidity
Constructor and Description |
---|
AbstractIsisSpinBiasSlew(AttitudeProvider initialLawIn,
AttitudeProvider finalLawIn,
AbsoluteDate initialOrFinalDateIn,
AbstractIsisSpinBiasSlew.TypeOfDate typeOfDateIn,
double dtSCAOIn,
double thetaMaxAllowedIn,
double durationMaxIn,
double dtConvergenceThresholdIn,
double[][] inertiaMatrixIn,
double rwTorqueAllocAccelIn,
double rwTorqueAllocDecelIn,
double rwDeltaMomentumAllocIn,
double[][] rwMatrixIn,
double tranquillisationTimeIn)
Constructor with default maximum number of iterations allowed for slew duration computation's convergence.
|
AbstractIsisSpinBiasSlew(AttitudeProvider initialLawIn,
AttitudeProvider finalLawIn,
AbsoluteDate initialOrFinalDateIn,
AbstractIsisSpinBiasSlew.TypeOfDate typeOfDateIn,
double dtSCAOIn,
double thetaMaxAllowedIn,
double durationMaxIn,
double dtConvergenceThresholdIn,
double[][] inertiaMatrixIn,
double rwTorqueAllocAccelIn,
double rwTorqueAllocDecelIn,
double rwDeltaMomentumAllocIn,
double[][] rwMatrixIn,
double tranquillisationTimeIn,
int maxIterationsNumberIn)
Constructor.
|
AbstractIsisSpinBiasSlew(AttitudeProvider initialLawIn,
AttitudeProvider finalLawIn,
AbsoluteDate initialOrFinalDateIn,
AbstractIsisSpinBiasSlew.TypeOfDate typeOfDateIn,
double dtSCAOIn,
double thetaMaxAllowedIn,
double durationMaxIn,
double dtConvergenceThresholdIn,
double[][] inertiaMatrixIn,
double rwTorqueAllocAccelIn,
double rwTorqueAllocDecelIn,
double rwDeltaMomentumAllocIn,
double[][] rwMatrixIn,
double tranquillisationTimeIn,
int maxIterationsNumberIn,
String natureIn)
Constructor.
|
AbstractIsisSpinBiasSlew(AttitudeProvider initialLawIn,
AttitudeProvider finalLawIn,
AbsoluteDate initialOrFinalDateIn,
AbstractIsisSpinBiasSlew.TypeOfDate typeOfDateIn,
double dtSCAOIn,
double thetaMaxAllowedIn,
double durationMaxIn,
double dtConvergenceThresholdIn,
double[][] inertiaMatrixIn,
double rwTorqueAllocAccelIn,
double rwTorqueAllocDecelIn,
double rwDeltaMomentumAllocIn,
double[][] rwMatrixIn,
double tranquillisationTimeIn,
String natureIn)
Constructor with default maximum number of iterations allowed for slew duration computation's
convergence.
|
Modifier and Type | Method and Description |
---|---|
double |
computeDuration(PVCoordinatesProvider pvProv)
Computes the slew duration.
|
Attitude |
getAttitude(AbsoluteDate date,
Frame frame)
Compute the attitude.
|
TabulatedAttitude |
getEphemeris()
Get the attitude ephemeris representing the slew.
|
void |
setSpinDerivativesComputation(boolean computeSpinDerivatives)
Method to activate spin derivative computation.
|
getAttitude, getAttitude, getDuration, getNature, getTimeInterval
protected final AbsoluteDate initialOrFinalDate
protected final AbstractIsisSpinBiasSlew.TypeOfDate typeOfDate
protected final Frame refFrame
protected final double dtSCAO
protected boolean spinDerivativesComputation
protected double slewAngle
protected Vector3D slewAxis
protected double durationWoTranq
protected double accelMax
protected double decelMax
protected double accelDuration
protected double decelDuration
protected TabulatedAttitude ephem
public AbstractIsisSpinBiasSlew(AttitudeProvider initialLawIn, AttitudeProvider finalLawIn, AbsoluteDate initialOrFinalDateIn, AbstractIsisSpinBiasSlew.TypeOfDate typeOfDateIn, double dtSCAOIn, double thetaMaxAllowedIn, double durationMaxIn, double dtConvergenceThresholdIn, double[][] inertiaMatrixIn, double rwTorqueAllocAccelIn, double rwTorqueAllocDecelIn, double rwDeltaMomentumAllocIn, double[][] rwMatrixIn, double tranquillisationTimeIn)
initialLawIn
- attitude law before the slewfinalLawIn
- attitude law after the slewinitialOrFinalDateIn
- slew initial or final date (choice given by TypeOfDate argument)typeOfDateIn
- defines type of provided date AbstractIsisSpinBiasSlew.TypeOfDate
(initial date or final date)dtSCAOIn
- time step (s)thetaMaxAllowedIn
- maximum slew angular amplitude allowed (rad)durationMaxIn
- maximum duration expected for the slew, including the tranquilisation phase (s)dtConvergenceThresholdIn
- convergence threshold for the iterative computation of the slew duration (s)inertiaMatrixIn
- satellite inertia matrix in satellite reference frame (kg.m^2)rwTorqueAllocAccelIn
- torque allocation for each RW during the acceleration phase (N.m)rwTorqueAllocDecelIn
- torque allocation for each RW during the deceleration phase (assumed > 0) (N.m)rwDeltaMomentumAllocIn
- angular momentum allocation for each RW during the manoeuvre (N.m.s)rwMatrixIn
- cosine directors matrix of the reaction wheels in the satellite reference frame. Matrix
3xN_RW with N_RW wheels (Reaction wheels spin axes written in column in the satellite reference
frame).tranquillisationTimeIn
- tranquilisation time after the end of the slew (s)public AbstractIsisSpinBiasSlew(AttitudeProvider initialLawIn, AttitudeProvider finalLawIn, AbsoluteDate initialOrFinalDateIn, AbstractIsisSpinBiasSlew.TypeOfDate typeOfDateIn, double dtSCAOIn, double thetaMaxAllowedIn, double durationMaxIn, double dtConvergenceThresholdIn, double[][] inertiaMatrixIn, double rwTorqueAllocAccelIn, double rwTorqueAllocDecelIn, double rwDeltaMomentumAllocIn, double[][] rwMatrixIn, double tranquillisationTimeIn, int maxIterationsNumberIn)
initialLawIn
- attitude law before the slewfinalLawIn
- attitude law after the slewinitialOrFinalDateIn
- initial or final date of the slew (choice given by TypeOfDate argument)typeOfDateIn
- defines type of provided date AbstractIsisSpinBiasSlew.TypeOfDate
(initial date or final date)dtSCAOIn
- time step (s)thetaMaxAllowedIn
- maximum slew angular amplitude allowed (rad)durationMaxIn
- maximum duration expected for the slew, including the tranquilisation phase (s)dtConvergenceThresholdIn
- convergence threshold for the iterative computation of the slew duration (s)inertiaMatrixIn
- satellite inertia matrix in satellite reference frame (kg.m^2)rwTorqueAllocAccelIn
- torque allocation for each RW during the acceleration phase (N.m)rwTorqueAllocDecelIn
- torque allocation for each RW during the deceleration phase (assumed > 0) (N.m)rwDeltaMomentumAllocIn
- angular momentum allocation for each RW during the manoeuvre (N.m.s)rwMatrixIn
- cosine directors matrix of the reaction wheels in the satellite reference frame. Matrix
3xN_RW with N_RW wheels (Reaction wheels spin axes written in column in the satellite reference
frame).tranquillisationTimeIn
- tranquilisation time after the end of the slew (s)maxIterationsNumberIn
- maximum number of iterations allowed for slew duration computation's convergencepublic AbstractIsisSpinBiasSlew(AttitudeProvider initialLawIn, AttitudeProvider finalLawIn, AbsoluteDate initialOrFinalDateIn, AbstractIsisSpinBiasSlew.TypeOfDate typeOfDateIn, double dtSCAOIn, double thetaMaxAllowedIn, double durationMaxIn, double dtConvergenceThresholdIn, double[][] inertiaMatrixIn, double rwTorqueAllocAccelIn, double rwTorqueAllocDecelIn, double rwDeltaMomentumAllocIn, double[][] rwMatrixIn, double tranquillisationTimeIn, String natureIn)
initialLawIn
- attitude law before the slewfinalLawIn
- attitude law after the slewinitialOrFinalDateIn
- slew initial or final date (choice given by TypeOfDate argument)typeOfDateIn
- defines type of provided date AbstractIsisSpinBiasSlew.TypeOfDate
(initial date or final
date)dtSCAOIn
- time step (s)thetaMaxAllowedIn
- maximum slew angular amplitude allowed (rad)durationMaxIn
- maximum duration expected for the slew, including the tranquilisation
phase (s)dtConvergenceThresholdIn
- convergence threshold for the iterative computation of the
slew duration (s)inertiaMatrixIn
- satellite inertia matrix in satellite reference frame (kg.m^2)rwTorqueAllocAccelIn
- torque allocation for each RW during the acceleration phase (N.m)rwTorqueAllocDecelIn
- torque allocation for each RW during the deceleration phase
(assumed > 0) (N.m)rwDeltaMomentumAllocIn
- angular momentum allocation for each RW during the manoeuvre
(N.m.s)rwMatrixIn
- cosine directors matrix of the reaction wheels in the satellite reference
frame. Matrix 3xN_RW with N_RW wheels (Reaction wheels spin axes written in column in
the satellite reference frame).tranquillisationTimeIn
- tranquilisation time after the end of the slew (s)natureIn
- leg naturepublic AbstractIsisSpinBiasSlew(AttitudeProvider initialLawIn, AttitudeProvider finalLawIn, AbsoluteDate initialOrFinalDateIn, AbstractIsisSpinBiasSlew.TypeOfDate typeOfDateIn, double dtSCAOIn, double thetaMaxAllowedIn, double durationMaxIn, double dtConvergenceThresholdIn, double[][] inertiaMatrixIn, double rwTorqueAllocAccelIn, double rwTorqueAllocDecelIn, double rwDeltaMomentumAllocIn, double[][] rwMatrixIn, double tranquillisationTimeIn, int maxIterationsNumberIn, String natureIn)
initialLawIn
- attitude law before the slewfinalLawIn
- attitude law after the slewinitialOrFinalDateIn
- initial or final date of the slew (choice given by TypeOfDate
argument)typeOfDateIn
- defines type of provided date AbstractIsisSpinBiasSlew.TypeOfDate
(initial date or final
date)dtSCAOIn
- time step (s)thetaMaxAllowedIn
- maximum slew angular amplitude allowed (rad)durationMaxIn
- maximum duration expected for the slew, including the tranquilisation
phase (s)dtConvergenceThresholdIn
- convergence threshold for the iterative computation of the
slew duration (s)inertiaMatrixIn
- satellite inertia matrix in satellite reference frame (kg.m^2)rwTorqueAllocAccelIn
- torque allocation for each RW during the acceleration phase (N.m)rwTorqueAllocDecelIn
- torque allocation for each RW during the deceleration phase
(assumed > 0) (N.m)rwDeltaMomentumAllocIn
- angular momentum allocation for each RW during the manoeuvre
(N.m.s)rwMatrixIn
- cosine directors matrix of the reaction wheels in the satellite reference
frame. Matrix 3xN_RW with N_RW wheels (Reaction wheels spin axes written in column in
the satellite reference frame).tranquillisationTimeIn
- tranquilisation time after the end of the slew (s)maxIterationsNumberIn
- maximum number of iterations allowed for slew duration
computation's convergencenatureIn
- leg naturepublic double computeDuration(PVCoordinatesProvider pvProv) throws PatriusException
pvProv
- PV coordinates providerPatriusException
- thrown if an error occurs during attitudes computationpublic Attitude getAttitude(AbsoluteDate date, Frame frame) throws PatriusException
date
- : current dateframe
- : reference frame from which attitude is computedPatriusException
- orekit exceptionpublic TabulatedAttitude getEphemeris()
public void setSpinDerivativesComputation(boolean computeSpinDerivatives)
computeSpinDerivatives
- true if spin derivatives should be computedCopyright © 2019 CNES. All rights reserved.