Catégorie:User Manual 4.15 Attitude : Différence entre versions

De Wiki
Aller à : navigation, rechercher
(Page créée avec « == Introduction == center <center><blockquote> Willingly would I burn to death like Phaeton,<br> were this the price for reaching the sun and<br>... »)
 
 
Ligne 1 : Ligne 1 :
  
 
== Introduction ==
 
== Introduction ==
[[File:eudoxus-1.jpg|center]]
+
This section describes attitude features of Patrius: attitude laws, slew, guidance, etc.
 
+
<center><blockquote>
+
Willingly would I burn to death like Phaeton,<br>
+
were this the price for reaching the sun and<br>
+
learning its shape, its size and its substance.<br>
+
''Eudoxus of Cnidus (408 - 355 B.C.)''</blockquote></center>
+
 
+
This section is a short presentation of the Math Library implemented in PATRIUS.
+
 
+
The Math library of PATRIUS is based on the Open-source Commons Math library.
+
 
+
Commons-Math has entirely been included in PATRIUS library. It is accessible through Patrius math package: fr.cnes.sirius.patrius.math package.
+
 
+
Since V4.2, the user can choose and define its low-level math framework (cos, sin, exp, etc.).
+
  
 
== Applicable and Reference Documents ==
 
== Applicable and Reference Documents ==
 
=== Applicable Documents ===
 
=== Applicable Documents ===
 
  
 
'''[A1]'''      ''CDCF - Fonctions de Base du Patrimoine de Dynamique du Vol'', V1.2, SIRIUS-CF-DV-0049-CN, 2011.<br>
 
'''[A1]'''      ''CDCF - Fonctions de Base du Patrimoine de Dynamique du Vol'', V1.2, SIRIUS-CF-DV-0049-CN, 2011.<br>
Ligne 26 : Ligne 11 :
 
=== Reference Documents ===
 
=== Reference Documents ===
  
 
+
None applicable.
'''[R1]'''      Nürnberg, R.; ''Distance from a Point to an Ellipse'', Imperial College London, 2006, [http://www2.imperial.ac.uk/~~rn/distance2ellipse.pdf http://www2.imperial.ac.uk/~~rn/distance2ellipse.pdf].
+
 
+
== Glossary ==
+
None Applicable.
+
  
 
== Overview ==
 
== Overview ==
The Math package of PATRIUS has been developed according to the SIRIUS Scope Statement '''[A1]'''. The themes developed are described hereafter:
+
The Attitude package of the PATRIUS library has been developed according to the SIRIUS Scope Statement '''[A1]'''. The themes developed are described hereafter :
 
+
; Constants
+
: Implementation of mathematical and physical constants.
+
 
+
; Comparisons of Numbers
+
: For this theme, classes and methods of comparison that allow a precise comparison of number representations have been developed.
+
 
+
; Angles
+
: For this theme, angle utilities, such as intervals, have been implemented, and allow the user to perform multiple rigorous operations with modulus problems taken into account.
+
 
+
; Low-level math frameworks
+
: A low-level math framework provides methods to compute simple math function such as sin, cos, exp, log, etc. For this theme, a generic interface for low-level math framework has been defined. Several implementations are available (FastMath and Jafama).
+
 
+
; Dispersions
+
: Various algorithms have been developped to handle different kinds of random number generation.
+
 
+
; Vectors
+
: Vector-specific operations, particularly in the case of 2D and 3D vectors, have been developed and implemented in classes such as Vector3D. It is understood that by vector, a real column vector is actually manipulated.
+
 
+
; Matrices
+
: Matrix-specific operations, particularly in the case of 3x3 and 6x6 matrices, have been developed and implemented in classes such as Matrix3D.
+
  
; Quaternions
+
; Directions
: Quaternion-specific operations have been developed and implemented in classes such as Quaternion. It is understood that this class represents the mathematical object quaternion and, as such, is not necessarily a rotation quaternion.
+
: Implementation of directions of space that can evolve in time.
  
; Rotations
+
; Attitude laws
: Rotations implemented in PATRIUS are algebraic rotations that can be represented by normalized quaternions, rotation matrices or sequences of Euler angles. The prime objective of this design is to have all the rotation representations combined, making it easier for the user to manipulate such an object.
+
: Several attitude laws are available. These laws were originally designed for orbit determination needs: in order to broaden their applications, a wrapper object has been created to meet the spacecraft attitude field needs.
  
; Geometry
+
; Attitudes sequence
: The geometry section presents the geometry classes developed and implemented in PATRIUS. It currently includes the following objects : lines, planes, plates, parallelepipeds, cylinders, cones, ellipsoids and spherical caps.
+
: Implementation of an attitudes sequence for orbit determination: it is possible to define an attitude law as a series of attitude laws in the context of a propagation.
  
; Interpolation methods
+
; Attitude legs sequence
: Implementation of several methods : spline, bicubic, tricubic, Lagrange and Newton interpolation.
+
: Implementation for spacecraft attitude field of an attitude sequence: it is possible to define an attitude leg as a series of attitude legs.
  
; Root-Finding algorithm
+
; Attitude composition
: Implementation of several algorithms : Brent, Newton, Bisection and Müller.
+
: Implementation of an object that enables to define an attitude law as a composition of several laws.
  
; Trigonometric polynomials
+
; Orientation
: Real trigonometric polynomials are implemented.
+
: Orientations are similar to attitude providers except that it returns only one angle.
  
; Numerical differentiation
+
; Slew
: Implementation of two numerical differentiation methods: finite difference and Ridders.
+
: Implementation of slew. Slews are used in the attitudes sequence to define the transition between two laws. Slews are splits into two functions: slew computations through dedicated classes and slew realization.
  
; Numerical integration
+
; Kinematics
: Implementation of two numerical integration methods: Trapezoidal and Simpson.
+
: Implementation of a tool box for kinematics calculations.
  
; Numerical ordinary differential equations
+
; Guidance command
: It is the part of numerical analysis which studies the numerical solution of ordinary differential equations (ODEs). Please note: this may sometimes be called numerical integration, but we assume here that numerical integration only refers to the computation of integrals (see the corresponding theme).
+
: Implementation of the ground and the on-board guidance commands. The first one is computed, the second one is simulated. In both cases, it should be possible to compute the guidance command from a law and to consider the guidance command itself as a law.
  
[[Catégorie:User Manual 4.15]]
+
[[Category:User_Manual_4.15]]

Version actuelle en date du 21 novembre 2024 à 14:44

Introduction

This section describes attitude features of Patrius: attitude laws, slew, guidance, etc.

Applicable and Reference Documents

Applicable Documents

[A1] CDCF - Fonctions de Base du Patrimoine de Dynamique du Vol, V1.2, SIRIUS-CF-DV-0049-CN, 2011.
[A2] Dossier de réutilisation Orekit et Commons Math, V1.0, SIRIUS-DLR-DV-0080-CN, 2010.

Reference Documents

None applicable.

Overview

The Attitude package of the PATRIUS library has been developed according to the SIRIUS Scope Statement [A1]. The themes developed are described hereafter :

Directions
Implementation of directions of space that can evolve in time.
Attitude laws
Several attitude laws are available. These laws were originally designed for orbit determination needs: in order to broaden their applications, a wrapper object has been created to meet the spacecraft attitude field needs.
Attitudes sequence
Implementation of an attitudes sequence for orbit determination: it is possible to define an attitude law as a series of attitude laws in the context of a propagation.
Attitude legs sequence
Implementation for spacecraft attitude field of an attitude sequence: it is possible to define an attitude leg as a series of attitude legs.
Attitude composition
Implementation of an object that enables to define an attitude law as a composition of several laws.
Orientation
Orientations are similar to attitude providers except that it returns only one angle.
Slew
Implementation of slew. Slews are used in the attitudes sequence to define the transition between two laws. Slews are splits into two functions: slew computations through dedicated classes and slew realization.
Kinematics
Implementation of a tool box for kinematics calculations.
Guidance command
Implementation of the ground and the on-board guidance commands. The first one is computed, the second one is simulated. In both cases, it should be possible to compute the guidance command from a law and to consider the guidance command itself as a law.