User Manual 4.0 Guidance commands : Différence entre versions
(4 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | __NOTOC__ | ||
== Introduction == | == Introduction == | ||
=== Scope === | === Scope === | ||
Ligne 6 : | Ligne 7 : | ||
The guidance models and classes are available in the guidance package in the Patrius library. | The guidance models and classes are available in the guidance package in the Patrius library. | ||
− | | | + | {| class="wikitable" |
− | | | + | |- |
+ | ! scope="col"| Library | ||
+ | ! scope="col"| Javadoc | ||
+ | |- | ||
+ | |Patrius | ||
+ | |[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/package-summary.html Package fr.cnes.sirius.patrius.guidance] | ||
+ | |} | ||
=== Links === | === Links === | ||
Ligne 75 : | Ligne 82 : | ||
Given : | Given : | ||
− | * an [{{ | + | * an [{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/AttitudeLawLeg.html AttitudeLawLeg], |
− | * a [{{ | + | * a [{{JavaDoc4.0}}/fr/cnes/sirius/patrius/orbits/pvcoordinates/PVCoordinatesProvider.html PVCoordinatesProvider], |
− | * a [{{ | + | * a [{{JavaDoc4.0}}/fr/cnes/sirius/patrius/frames/Frame.html Frame], |
− | * a [{{ | + | * a [{{JavaDoc4.0}}/fr/cnes/sirius/patrius/time/AbsoluteDate.html reference date] <code>tref</code>, |
* a spin function period, | * a spin function period, | ||
* a spin decomposition order, | * a spin decomposition order, | ||
− | * an [{{ | + | * an [{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/kinematics/KinematicsToolkit.IntegrationType.html integration type], |
* an integration step, | * an integration step, | ||
Ligne 96 : | Ligne 103 : | ||
=== Classes === | === Classes === | ||
− | | | + | |
− | | | + | {| class="wikitable" |
− | | | + | |- |
− | | | + | ! scope="col"| Class |
− | | | + | ! scope="col"| Summary |
− | | | + | ! scope="col"| Javadoc |
− | | | + | |- |
− | | | + | |'''KinematicsToolkit''' |
− | | | + | |This class contains static methods performing kinematics operations. |
− | | | + | |[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/kinematics/KinematicsToolkit.html ...] |
+ | |- | ||
+ | |'''GuidanceProfile''' | ||
+ | |Abstract class representing a guidance profile. | ||
+ | |[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/guidance/GuidanceProfile.html ...] | ||
+ | |- | ||
+ | |'''GuidanceProfileBuilder''' | ||
+ | |This class creates guidance profiles from an attitude law. | ||
+ | |[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/guidance/GuidanceProfileBuilder.html ...] | ||
+ | |- | ||
+ | |'''QuaternionHarmonicProfile''' | ||
+ | |Object representing a quaternion guidance profile, calculated with Fourier series. | ||
+ | |[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/guidance/QuaternionHarmonicProfile.html ...] | ||
+ | |- | ||
+ | |'''QuaternionPolynomialProfile''' | ||
+ | |Object representing a quaternion guidance profile, calculated with polynomials. | ||
+ | |[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/guidance/QuaternionPolynomialProfile.html ...] | ||
+ | |- | ||
+ | |'''QuaternionPolynomialSegment''' | ||
+ | |Object representing a quaternion polynomial guidance profile on a segment. | ||
+ | |[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/guidance/QuaternionPolynomialSegment.html ...] | ||
+ | |- | ||
+ | |'''AngularVelocitiesHarmonicProfile''' | ||
+ | |Represents an angular velocities guidance profile, calculated with Fourier series. | ||
+ | |[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/guidance/AngularVelocitiesHarmonicProfile.html ...] | ||
+ | |- | ||
+ | |'''AngularVelocitiesPolynomialProfile''' | ||
+ | |Represents an angular velocities guidance profile, calculated with polynomial functions. | ||
+ | |[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/guidance/AngularVelocitiesPolynomialProfile.html ...] | ||
+ | |- | ||
+ | |'''AngularVelocitiesPolynomialSegment''' | ||
+ | |Object representing an angular velocity polynomial guidance profile on a segment. | ||
+ | |[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/guidance/AngularVelocitiesPolynomialSegment.html ...] | ||
+ | |} | ||
[[Category:User_Manual_4.0_Attitude]] | [[Category:User_Manual_4.0_Attitude]] |
Version actuelle en date du 21 février 2018 à 13:57
Introduction
Scope
A guidance profile is an attitude law providing the computation of an instantaneous attitude without any reference to the satellite orbit, nor to its attitude laws sequence. The purpose of this section is to present the guidance profiles available through the Patrius library.
Javadoc
The guidance models and classes are available in the guidance package in the Patrius library.
Library | Javadoc |
---|---|
Patrius | Package fr.cnes.sirius.patrius.guidance |
Links
None as of now.
Useful Documents
None as of now.
Package Overview
The following diagram shows the guidance package conception:
Features Description
Harmonic guidance profiles
The functions representing the angular velocity of the satellite and the quaternion (or the Euler angles) expressing its orientation can be represented by an harmonic profile. The harmonic profile is a [MAT_TPOL_Home#HFourierSeries Fourier decomposition] of a periodic function:
[math] S_n\left(f(x)\right) = a_0(f) + \sum_{k=1}^n\left(a_k(f)\cos\left(k x {2\pi\over T}\right) + b_k(f)\sin\left(k x {2\pi\over T}\right)\right) [/math]
The period T is generally computed knowing the nodes crossing periods.
The Fourier coefficients (n > 0) of [math]f[/math] (the angular velocity / quaternions / Euler angles function) are given by :
[math] a_0(f) = {1\over T}\int_{-T/2}^{T/2} \! f(t) \, \mathrm{d}t [/math]
[math] b_0(f) = 0 [/math]
[math] a_n(f) = {2\over T}\int_{-T/2}^{T/2} \! f(t) \cos\left(n t {2\pi\over T}\right) \, \mathrm{d}t [/math]
[math] b_n(f) = {2\over T}\int_{-T/2}^{T/2} \! f(t) \sin\left(n t {2\pi\over T}\right) \, \mathrm{d}t [/math]
Polynomial guidance profiles
A polynomial guidance profile is generally composed by several segments (a segment corresponds to a time interval). Each segment contains the coefficients for the computation of a polynomial law representing the quaternion (or the Euler angles), or the angular velocity of the satellite; this polynomial law is valid only inside the time interval associated to the segment.
For a quaternion, the polynomials are defined as :
[math]Qc_k(t) = \begin{pmatrix} \displaystyle\sum_{i=0}^n {a_0}_k^i \left( t-t_k \over {\Delta t} \right) \\ \displaystyle\sum_{i=0}^n {a_1}_k^i \left( t-t_k \over {\Delta t} \right) \\ \displaystyle\sum_{i=0}^n {a_2}_k^i \left( t-t_k \over {\Delta t} \right) \\ \displaystyle\sum_{i=0}^n {a_3}_k^i \left( t-t_k \over {\Delta t} \right) \end{pmatrix}[/math]
And for the angular velocity :
[math]\Omega c_k(t) = \begin{pmatrix} \displaystyle\sum_{i=0}^n {a_x}_k^i \left( \frac{t-t_k}{\Delta t} \right) \\ \displaystyle\sum_{i=0}^n {a_y}_k^i \left( \frac{t-t_k}{\Delta t} \right) \\ \displaystyle\sum_{i=0}^n {a_z}_k^i \left( \frac{t-t_k}{\Delta t} \right) \end{pmatrix}[/math]
Getting Started
Build an harmonic guidance profile from an attitude law
Given :
- an AttitudeLawLeg,
- a PVCoordinatesProvider,
- a Frame,
- a reference date
tref
, - a spin function period,
- a spin decomposition order,
- an integration type,
- an integration step,
one can build an angular velocities guidance profile using the code snippet below :
profile = GuidanceProfileBuilder.computeAngularVelocitiesHarmonicProfile(attitude, prop, gcrf, tref, period, order, IntegrationType.WILCOX_4, KinematicsToolkit.DEFAULT_8HZ);
Contents
Interfaces
None.
Classes
Class | Summary | Javadoc |
---|---|---|
KinematicsToolkit | This class contains static methods performing kinematics operations. | ... |
GuidanceProfile | Abstract class representing a guidance profile. | ... |
GuidanceProfileBuilder | This class creates guidance profiles from an attitude law. | ... |
QuaternionHarmonicProfile | Object representing a quaternion guidance profile, calculated with Fourier series. | ... |
QuaternionPolynomialProfile | Object representing a quaternion guidance profile, calculated with polynomials. | ... |
QuaternionPolynomialSegment | Object representing a quaternion polynomial guidance profile on a segment. | ... |
AngularVelocitiesHarmonicProfile | Represents an angular velocities guidance profile, calculated with Fourier series. | ... |
AngularVelocitiesPolynomialProfile | Represents an angular velocities guidance profile, calculated with polynomial functions. | ... |
AngularVelocitiesPolynomialSegment | Object representing an angular velocity polynomial guidance profile on a segment. | ... |