Catégorie:Patrius Backward Compatibility 4.14 : Différence entre versions

De Wiki
Aller à : navigation, rechercher
(Page créée avec « == Introduction == This section describes attitude features of Patrius: attitude laws, slew, guidance, etc. == Overview == The Attitude package of the PATRIUS library ha... »)
 
 
(5 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
  
 
== Introduction ==
 
== Introduction ==
This section describes attitude features of Patrius: attitude laws, slew, guidance, etc.
+
A specific backward compatibility mechanism is implemented in PATRIUS allowing by default to have a backward compatibility with PATRIUS version 4.12 propagation models and/or optimisation algorithms.
 +
If any action is provided by the user, the '''backward compatibility is activated by default in PATRIUS''' : this means that external users will see their code/functions working with some of the propagation models/optimisation algorithms of PATRIUS version 4.12.
  
== Overview ==
+
== Backward compatibility functionalities ==
The Attitude package of the PATRIUS library has been developed according to the SIRIUS Scope Statement '''[A1]'''. The themes developed are described hereafter :
+
  
; Directions
+
=== Available options ===
: Implementation of directions of space that can evolve in time.
+
Three options are available for users via the enum <code>PatriusVersionCompatibility</code> of the class <code>PatriusConfiguration</code>:
 +
* OLD_MODELS : the user will use the propagation models and optimisation algorithms coded in PATRIUS version 4.12;
 +
* MIXED_MODELS : the user will just use propagation models coded in PATRIUS version 4.12 (no backward compatibility on optimisation algorithms);
 +
* NEW_MODELS : no backward compatibility mechanism is used.
  
; Attitude laws
+
=== Backward compatibility for propagation models ===
: 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.
+
As previously mentioned,  types <code>PatriusVersionCompatibility.OLD_MODELS</code> or <code>MIXED_MODELS</code> allow to restore some of the propagation models to the state of PATRIUS version 4.12 for the following functionalities:
 +
* eclipse detection via the class <code>EclipseDetector</code>;
 +
* solar radiation pressure computation with the class <code>SolarRadiationPressure</code>;
 +
* use of previous obliquity coefficients in the class <code>EclipticMODProvider</code> ;
 +
* allows the use of previous entries in the factory <code>PrecessionNutationModelFactory</code> and pole coordinates computation in the class <code>IERS20032010PrecessionNutation</code>.
  
; Attitudes sequence
+
=== Backward compatibility for optimisation algorithms ===
: 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.
+
The type of compatibility configuration OLD_MODELS allows to restore also the behaviour of the optimisation algorithm for matrix conversion existing in PATRIUS 4.12 and implemented in the method <code>convertMatrixFromAToB</code> of the class <code>AbstractBodyAttraction</code>.
  
; Attitude legs sequence
+
== How to set our own Patrius compatibility configuration ==
: Implementation for spacecraft attitude field of an attitude sequence: it is possible to define an attitude leg as a series of attitude legs.
+
The class <code>PatriusConfiguration</code> contains a setter <code>setPatriusCompatibilityMode(PatriusVersionCompatibility)</code> that allows to switch our own configuration as a function of the user needs.
 +
A specific getter <code>getPatriusCompatibilityMode</code> allows to retrieve the used configuration at any moment if needed.
  
; 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.
 
  
 
[[Category:User_Manual_4.14]]
 
[[Category:User_Manual_4.14]]

Version actuelle en date du 5 septembre 2024 à 16:43

Introduction

A specific backward compatibility mechanism is implemented in PATRIUS allowing by default to have a backward compatibility with PATRIUS version 4.12 propagation models and/or optimisation algorithms. If any action is provided by the user, the backward compatibility is activated by default in PATRIUS : this means that external users will see their code/functions working with some of the propagation models/optimisation algorithms of PATRIUS version 4.12.

Backward compatibility functionalities

Available options

Three options are available for users via the enum PatriusVersionCompatibility of the class PatriusConfiguration:

  • OLD_MODELS : the user will use the propagation models and optimisation algorithms coded in PATRIUS version 4.12;
  • MIXED_MODELS : the user will just use propagation models coded in PATRIUS version 4.12 (no backward compatibility on optimisation algorithms);
  • NEW_MODELS : no backward compatibility mechanism is used.

Backward compatibility for propagation models

As previously mentioned, types PatriusVersionCompatibility.OLD_MODELS or MIXED_MODELS allow to restore some of the propagation models to the state of PATRIUS version 4.12 for the following functionalities:

  • eclipse detection via the class EclipseDetector;
  • solar radiation pressure computation with the class SolarRadiationPressure;
  • use of previous obliquity coefficients in the class EclipticMODProvider ;
  • allows the use of previous entries in the factory PrecessionNutationModelFactory and pole coordinates computation in the class IERS20032010PrecessionNutation.

Backward compatibility for optimisation algorithms

The type of compatibility configuration OLD_MODELS allows to restore also the behaviour of the optimisation algorithm for matrix conversion existing in PATRIUS 4.12 and implemented in the method convertMatrixFromAToB of the class AbstractBodyAttraction.

How to set our own Patrius compatibility configuration

The class PatriusConfiguration contains a setter setPatriusCompatibilityMode(PatriusVersionCompatibility) that allows to switch our own configuration as a function of the user needs. A specific getter getPatriusCompatibilityMode allows to retrieve the used configuration at any moment if needed.

Cette catégorie ne contient aucune page ou fichier multimédia.