User Manual 3.3 Slew : Différence entre versions

De Wiki
Aller à : navigation, rechercher
m (Admin a déplacé la page Slew vers User Manual 3.3 Slew sans laisser de redirection)
(Package Overview)
 
(4 révisions intermédiaires par le même utilisateur non affichées)
Ligne 8 : Ligne 8 :
 
The attitude objects linked to slews are available in the package org.orekit.attitudes in the Orekit add-ons library.
 
The attitude objects linked to slews are available in the package org.orekit.attitudes in the Orekit add-ons library.
  
|=(% colspan="3" %)Library|=(% colspan="6" %)Javadoc
+
{| class="wikitable"
|(% colspan="3" %)Orekit addons|(% colspan="6" %)[{{JavaDoc3.3}}/org/orekit/attitudes/package-summary.html Package org.orekit.attitudes]
+
|-
 +
! scope="col"| Library
 +
! scope="col"| Javadoc
 +
|-
 +
|Orekit addons
 +
|[{{JavaDoc3.3}}/org/orekit/attitudes/package-summary.html Package org.orekit.attitudes]
 +
|}
  
 
=== Links ===
 
=== Links ===
Ligne 30 : Ligne 36 :
 
A slew is represented by the abstract class <code>AbstractSlew</code>, which implements the interface <code>Slew</code>. An slew describes how the spacecraft joins up two successive attitude laws: the classes heriting from <code>AbstractSlew</code> (like the class <code>ConstantSpinSlew</code>) contain the algorithms to compute the maneuver.
 
A slew is represented by the abstract class <code>AbstractSlew</code>, which implements the interface <code>Slew</code>. An slew describes how the spacecraft joins up two successive attitude laws: the classes heriting from <code>AbstractSlew</code> (like the class <code>ConstantSpinSlew</code>) contain the algorithms to compute the maneuver.
  
A slew is bounded in time and as a result inherits the [ATT_LEG_Home AttitudeLeg] interface.
+
A slew is bounded in time and as a result inherits the [[User Manual 3.3 Attitude leg|AttitudeLeg]] interface.
  
 
== Features ==
 
== Features ==
Ligne 38 : Ligne 44 :
  
 
* Minimal duration:
 
* Minimal duration:
** the initial and final date of the slew maneuver are given:
+
** the initial and final date of the slew maneuver are given:<br><syntaxhighlight lang="java">
    <syntaxhighlight lang="java">
+
 
final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, startDate, endDate); </syntaxhighlight>
 
final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, startDate, endDate); </syntaxhighlight>
** the initial date of the slew maneuver and its duration are given:
+
** the initial date of the slew maneuver and its duration are given:<br><syntaxhighlight lang="java">
    <syntaxhighlight lang="java">
+
 
final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, startDate, true, 150., Constraint.DURATION);</syntaxhighlight>
 
final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, startDate, true, 150., Constraint.DURATION);</syntaxhighlight>
** the final date of the slew maneuver and its duration are given:
+
** the final date of the slew maneuver and its duration are given:<br><syntaxhighlight lang="java">
    <syntaxhighlight lang="java">
+
 
final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, endDate, false, 150., Constraint.DURATION);</syntaxhighlight>
 
final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, endDate, false, 150., Constraint.DURATION);</syntaxhighlight>
 
* Maximal angular velocity:
 
* Maximal angular velocity:
** the initial (or final) date of the slew maneuver and the maximal angular velocity are given:
+
** the initial (or final) date of the slew maneuver and the maximal angular velocity are given:<br><syntaxhighlight lang="java">
    <syntaxhighlight lang="java">
+
 
final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, startDate, true, 0.2, Constraint.ANGULAR_VELOCITY);</syntaxhighlight>
 
final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, startDate, true, 0.2, Constraint.ANGULAR_VELOCITY);</syntaxhighlight>
  
Ligne 80 : Ligne 82 :
 
== Contents ==
 
== Contents ==
 
=== Interfaces ===
 
=== Interfaces ===
|=(% colspan="3" %)Interface|=(% colspan="6" %)Summary|=(% colspan="1" %)Javadoc
+
{| class="wikitable"
|(% colspan="3" %)'''AttitudeLeg'''|(% colspan="6" %)This interface extends the AttitudeProvider interface and adds the time interval of validity notion to the attitude laws.|[{{JavaDoc3.3}}/org/orekit/attitudes/AttitudeLeg.html AttitudeLeg]
+
|-
|(% colspan="3" %)'''Slew'''|(% colspan="6" %)This interface implements a generic slew model set.|[{{JavaDoc3.3}}/org/orekit/attitudes/Slew.html Slew]
+
! scope="col"| Interface
 +
! scope="col"| Summary
 +
! scope="col"| Javadoc
 +
|-
 +
|'''AttitudeLeg'''
 +
|This interface extends the AttitudeProvider interface and adds the time interval of validity notion to the attitude laws.
 +
|[{{JavaDoc3.3}}/org/orekit/attitudes/AttitudeLeg.html AttitudeLeg]
 +
|-
 +
|'''Slew'''
 +
|This interface implements a generic slew model set.
 +
|[{{JavaDoc3.3}}/org/orekit/attitudes/Slew.html Slew]
 +
|}
  
 
=== Classes ===
 
=== Classes ===
|=(% colspan="3" %)Class|=(% colspan="6" %)Summary|=(% colspan="1" %)Javadoc
+
{| class="wikitable"
|(% colspan="3" %)'''AbstractSlew'''|(% colspan="6" %)This abstract class implements slew maneuvers.|[{{JavaDoc3.3}}/org/orekit/attitudes/AbstractSlew.html AbstractSlew]
+
|-
|(% colspan="3" %)'''ConstantSpinSlew'''|(% colspan="6" %)This class implements the constant spin slew maneuver profile.|[{{JavaDoc3.3}}/org/orekit/attitudes/ConstantSpinSlew.html ConstantSpinSlew]
+
! scope="col"| Class
|(% colspan="3" %)'''TwoSpinBiasSlew'''|(% colspan="6" %)This class implements the spin bias slew profile with two available spin profiles.|[{{JavaDoc3.3}}/org/orekit/attitudes/TwoSpinBiasSlew.html TwoSpinBiasSlew]
+
! scope="col"| Summary
|(% colspan="3" %)'''IsisAnalyticalSpinBiasSlew'''|(% colspan="6" %)This class implements the ISIS spin bias slew profile (constant acceleration/decceleration phases - Analytical solution).|[{{JavaDoc3.3}}/org/orekit/attitudes/IsisAnalyticalSpinBiasSlew.html IsisAnalyticalSpinBiasSlew]
+
! scope="col"| Javadoc
|(% colspan="3" %)'''IsisNumericalSpinBiasSlew'''|(% colspan="6" %)This class implements the ISIS spin bias slew profile (constant acceleration/decceleration phases - Numerical solution).|[{{JavaDoc3.3}}/org/orekit/attitudes/IsisNumericalSpinBiasSlew.html IsisNumericalSpinBiasSlew]
+
|-
 +
|'''AbstractSlew'''
 +
|This abstract class implements slew maneuvers.
 +
|[{{JavaDoc3.3}}/org/orekit/attitudes/AbstractSlew.html AbstractSlew]
 +
|-
 +
|'''ConstantSpinSlew'''
 +
|This class implements the constant spin slew maneuver profile.
 +
|[{{JavaDoc3.3}}/org/orekit/attitudes/ConstantSpinSlew.html ConstantSpinSlew]
 +
|-
 +
|'''TwoSpinBiasSlew'''
 +
|This class implements the spin bias slew profile with two available spin profiles.
 +
|[{{JavaDoc3.3}}/org/orekit/attitudes/TwoSpinBiasSlew.html TwoSpinBiasSlew]
 +
|-
 +
|'''IsisAnalyticalSpinBiasSlew'''
 +
|This class implements the ISIS spin bias slew profile (constant acceleration/decceleration phases - Analytical solution).
 +
|[{{JavaDoc3.3}}/org/orekit/attitudes/IsisAnalyticalSpinBiasSlew.html IsisAnalyticalSpinBiasSlew]
 +
|-
 +
|'''IsisNumericalSpinBiasSlew'''
 +
|This class implements the ISIS spin bias slew profile (constant acceleration/decceleration phases - Numerical solution).
 +
|[{{JavaDoc3.3}}/org/orekit/attitudes/IsisNumericalSpinBiasSlew.html IsisNumericalSpinBiasSlew]
 +
|}
 +
 
 +
[[Category:User_Manual_3.3_Attitude]]
  
 
== Tutorials ==
 
== Tutorials ==

Version actuelle en date du 28 février 2018 à 15:21


Introduction

Scope

A slew performs the transition between two attitude laws.

Javadoc

The attitude objects linked to slews are available in the package org.orekit.attitudes in the Orekit add-ons library.

Library Javadoc
Orekit addons Package org.orekit.attitudes

Links

None as of now.

Useful Documents

None as of now.

Package Overview

The slew conception is described hereafter :

Legend :

  • green : new objects
  • grey : modified existing objects
  • blue : existing objects

A slew is represented by the abstract class AbstractSlew, which implements the interface Slew. An slew describes how the spacecraft joins up two successive attitude laws: the classes heriting from AbstractSlew (like the class ConstantSpinSlew) contain the algorithms to compute the maneuver.

A slew is bounded in time and as a result inherits the 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 ([MAT_QRO_Rotations slerp interpolation]) describes the behavior of the spacecraft. In order to properly compute the slew, the user must specify the initial and final quaternion, plus a computation constraint:

  • Minimal duration:
    • the initial and final date of the slew maneuver are given:
      final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, startDate, endDate);
    • the initial date of the slew maneuver and its duration are given:
      final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, startDate, true, 150., Constraint.DURATION);
    • the final date of the slew maneuver and its duration are given:
      final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, endDate, false, 150., Constraint.DURATION);
  • Maximal angular velocity:
    • the initial (or final) date of the slew maneuver and the maximal angular velocity are given:
      final Slew slew = new ConstantSpinSlew(firstLaw, secondLaw, startDate, true, 0.2, Constraint.ANGULAR_VELOCITY);

Once the slew maneuver defined, the computation can be performed on an orbital state using the following method:

slew.compute(orbit);

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 TwoSpinBiasSlew slew = new TwoSpinBiasSlew(startLaw, finalLaw, initialDate, 
    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:

slew.compute(orbit);

It is possible to get the attitude ephemeris representing the slew using the following method:

final TabulatedAttitude ephem = slew.getEphemeris();

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
AbstractSlew This abstract class implements slew maneuvers. AbstractSlew
ConstantSpinSlew This class implements the constant spin slew maneuver profile. ConstantSpinSlew
TwoSpinBiasSlew This class implements the spin bias slew profile with two available spin profiles. TwoSpinBiasSlew
IsisAnalyticalSpinBiasSlew This class implements the ISIS spin bias slew profile (constant acceleration/decceleration phases - Analytical solution). IsisAnalyticalSpinBiasSlew
IsisNumericalSpinBiasSlew This class implements the ISIS spin bias slew profile (constant acceleration/decceleration phases - Numerical solution). IsisNumericalSpinBiasSlew

Tutorials

Tutorial 1

Modèle:SpecialInclusion prefix=$theme sub section="Tuto1"/

Tutorial 2

Modèle:SpecialInclusion prefix=$theme sub section="Tuto2"/

LightBulb.png Tips & Tricks

Modèle:SpecialInclusion prefix=$theme sub section="Tips"/