User Manual 4.15 Slew : Différence entre versions
Ligne 74 : | Ligne 74 : | ||
- Provide an initial law, an initial date and a target final law<br> | - Provide an initial law, an initial date and a target final law<br> | ||
- Provide an final law, a final date and a target initial law<br><br> | - Provide an final law, a final date and a target initial law<br><br> | ||
− | '''Warning''': slew computed in both ways will never be exactly the same depending on user-chosen convergence threshold and maximum number of iterations (result will be exactly the same if convergence threshold is lower than machine precision and number of allowed iterations high enough to support convergence). In case the maximum number of iterations is reached, the user is prevented by a warning message (if the option <code>throwExceptionOnMaxIterations</code>. | + | '''Warning''': slew computed in both ways will never be exactly the same depending on user-chosen convergence threshold and maximum number of iterations (result will be exactly the same if convergence threshold is lower than machine precision and number of allowed iterations high enough to support convergence). In case the maximum number of iterations is reached, the user is prevented by a warning message (if the option <code>throwExceptionOnMaxIterations</code> is at false). |
The slew has then to be calculated using method <code>compute()</code>. | The slew has then to be calculated using method <code>compute()</code>. |
Version actuelle en date du 28 novembre 2024 à 10:32
Introduction
Scope
A slew performs the transition between two attitude laws.
Javadoc
The attitude objects linked to slews are available in the package fr.cnes.sirius.patrius.attitudes.
Library | Javadoc |
---|---|
Patrius | Package fr.cnes.sirius.patrius.attitudes |
Links
None as of now.
Useful Documents
None as of now.
Package Overview
The slew conception is split into two features:
- The slew computation. Classes computing the slew are provided in PATRIUS.
- The slew realization. All classes realizing a slew implements the
Slew
interface. Slews are mainly of two types:- Analytical slews (such as
ConstantSpinSlew
- Pre-computed slews stored in a
TabulatedSlew
. In this case, a slew computer will compute the tabulated ephemeris of the slew.
- Analytical slews (such as
A slew is bounded in time and as a result inherits the [ATT_LEG_Home AttitudeLeg] interface.
Features
Constant spin slew
The constant spin slew is a basic slew maneuver type. Between the initial quaternion and the final one, a spherical linear interpolation describes the behavior of the spacecraft. Two constraint types are available:
- Duration constraint: spin is computed to match constraint.
final Slew slew = new ConstantSpinSlew(firstAttitude, secondAttitude);
- Angular velocity constraint: initial slew date or final slew date is computed to match constraint.
- Initial slew date is known:
final Slew slew = new ConstantSpinSlewComputer(angularConstraint).compute(pvProvider, initialLaw, initialDate, finalLaw, null);
- Final slew date is known:
final Slew slew = new ConstantSpinSlewComputer(angularConstraint).compute(pvProvider, initialLaw, null, finalLaw, finalDate);
Spin bias slew
The two spin bias slew is a slew maneuver type. The velocity depends on the value of the slew angle.
In order to compute properly the slew, the user must specify the initial and final laws, the parameters of the two angular velocity fields, plus the stabilisation margin:
final TwoSpinBiasSlewComputer computer = new TwoSpinBiasSlewComputer( step, theta_max, tau, epsInRall, omega2, theta, epsOutRall, omega1, dtStab);
Once the slew maneuver is defined, the computation can be performed on an orbital state using the following method:
final TabulatedSlew slew = computer.compute(startLaw, initialDate, finalLaw, null);
The slew is then represented by a generic TabulatedSlew
which stores the slew under a tabulated ephemeris.
ISIS Spin bias slew
This spin bias slew is a slew with a trapezoidal angular velocity profile: - Constant acceleration phase - Constant angular velocity phase (zero acceleration phase) - Constant decceleration phase
This slew can be computed using methods:
- IsisSpinBiasSlewComputer.computeAnalytical
: this class provides an analytical solution to the slew
- IsisSpinBiasSlewComputer.computeNumerical
: this class provides an numerical solution to the slew
The two classes returns close results ( < 1E-2 rad), though analytical solution is more accurate.
The slews can be used in two ways:
- Provide an initial law, an initial date and a target final law
- Provide an final law, a final date and a target initial law
Warning: slew computed in both ways will never be exactly the same depending on user-chosen convergence threshold and maximum number of iterations (result will be exactly the same if convergence threshold is lower than machine precision and number of allowed iterations high enough to support convergence). In case the maximum number of iterations is reached, the user is prevented by a warning message (if the option throwExceptionOnMaxIterations
is at false).
The slew has then to be calculated using method compute()
.
The slew is then represented by a generic TabulatedSlew
which stores the slew under a tabulated ephemeris.
Finally the slew can be used like any other slew.
Getting Started
Modèle:SpecialInclusion prefix=$theme sub section="GettingStarted"/
Contents
Interfaces
Interface | Summary | Javadoc |
---|---|---|
AttitudeLeg | This interface extends the AttitudeProvider interface and adds the time interval of validity notion to the attitude laws. | AttitudeLeg |
Slew | This interface implements a generic slew model set. | Slew |
Classes
Class | Summary | Javadoc |
---|---|---|
ConstantSpinSlew | This class implements the constant spin slew maneuver profile. | ConstantSpinSlew |
TabulatedSlew | This class implements a generic tabulated slew, once computed with one of the computer classes. | TabulatedSlew |
AngularVelocitiesPolynomialSlew | This class implements a generic angular velocities polynomial slew. | AngularVelocitiesPolynomialSlew |
ConstantSpinSlewComputer | This class computes a constant spin slew into a ConstantSpinSlew. | ConstantSpinSlewComputer |
TwoSpinBiasSlewComputer | This class computes a two spin bias slew into a TabulatedSlew. | TwoSpinBiasSlewComputer |
IsisSpinBiasSlewComputer | This class computes an ISIS spin bias slew into a TabulatedSlew. | IsisSpinBiasSlewComputer |