public class TwoSpinBiasSlew extends AbstractSlew
This class extends the AbstractSlew.
The two spin bias slew computes the attitude of the satellite from initial and final attitude laws, the parameters of
the two angular velocity fields, plus the time step as well as the stabilization margin.
The angular velocity depends on the value of the slew angle.
Like all the other attitude legs, its interval of validity has closed endpoints.
computed, currentProvider, fLaw, iLaw, intervalOfValidity
Constructor and Description |
---|
TwoSpinBiasSlew(AttitudeProvider initialLaw,
AttitudeProvider targetLaw,
AbsoluteDate initialDate,
double dtSCAOIn,
double thetaMaxIn,
double tauIn,
double epsInRall,
double omegaHigh,
double thetaSwitch,
double epsOutRall,
double omegaLow,
double tStab)
This class extends the AbstractSlew.
|
Modifier and Type | Method and Description |
---|---|
void |
compute(PVCoordinatesProvider pvProv)
Compute the slew corresponding to an orbital state.
|
double |
computeDuration(PVCoordinatesProvider pvProv)
Computes the actual slew duration.
|
double |
computeMaxDuration()
Estimate the maximum duration of the slew, before computing it.
|
Attitude |
getAttitude(AbsoluteDate date,
Frame frame)
Compute the attitude.
|
TabulatedAttitude |
getEphemeris()
Get the attitude ephemeris representing the slew
|
Vector3D |
getSpinDerivatives(AbsoluteDate date,
Frame frame)
get the spin derivatives (default implementation : finite differences differentiator).
|
Vector3DFunction |
getSpinFunction(Frame frame,
AbsoluteDate zeroAbscissa) |
void |
setSpinDerivativesComputation(boolean computeSpinDerivatives)
Method to activate spin derivative computation.
|
getAttitude, getAttitude, getDuration, getTimeInterval
public TwoSpinBiasSlew(AttitudeProvider initialLaw, AttitudeProvider targetLaw, AbsoluteDate initialDate, double dtSCAOIn, double thetaMaxIn, double tauIn, double epsInRall, double omegaHigh, double thetaSwitch, double epsOutRall, double omegaLow, double tStab) throws PatriusException
This class extends the AbstractSlew.
The two spin bias slew computes the attitude of the satellite from initial and final attitude laws, the
parameters of the two angular velocity fields, plus the time step as well as the stabilization margin.
The angular velocity depends on the value of the slew angle.
initialLaw
- the AttitudeProvider
representing the attitude law before the slew.targetLaw
- the AttitudeProvider
representing the attitude law after the slew.initialDate
- the initial date of the slew.dtSCAOIn
- (dtScao)
the time step [s].thetaMaxIn
- (angleMax)
the limit of validity of the maneuver amplitude [rad].tauIn
- (τ)
the time constant of the filter [s].epsInRall
- (seuilEntree)
initial orientation error threshold [rad].omegaHigh
- (biaisVitesse)
the high angular velocity value [rad/s].thetaSwitch
- (seuil)
the threshold for the low/high angular velocity switch [rad].epsOutRall
- (seuilSortie)
final orientation error threshold [rad].omegaLow
- (biaisVitesseBas)
the low angular velocity value [rad/s].tStab
- (margeStabilisation)
the stabilisation margin [s].PatriusException
- when the sampling step in not validpublic void compute(PVCoordinatesProvider pvProv) throws PatriusException
Slew
pvProv
- : local position-velocity provider around current datePatriusException
- orekit exceptionpublic double computeDuration(PVCoordinatesProvider pvProv) throws PatriusException
pvProv
- the PV coordinates providerPatriusException
- when an error occurs during attitudes computationpublic double computeMaxDuration()
public Attitude getAttitude(AbsoluteDate date, Frame frame) throws PatriusException
Slew
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 computedpublic Vector3D getSpinDerivatives(AbsoluteDate date, Frame frame) throws PatriusException
date
- the date to compute derivative of spinframe
- reference frame from which derivative of spin is computedPatriusException
- if spin derivative cannot be computedpublic Vector3DFunction getSpinFunction(Frame frame, AbsoluteDate zeroAbscissa)
frame
- reference frame from which spin function of date is computedzeroAbscissa
- the date for which x=0 for spin function of dateCopyright © 2018 CNES. All Rights Reserved.