User Manual 4.0 Directions : Différence entre versions

De Wiki
Aller à : navigation, rechercher
 
(5 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
+
__NOTOC__
 
+
 
== Introduction ==
 
== Introduction ==
 
=== Scope ===
 
=== Scope ===
Ligne 17 : Ligne 16 :
 
The directions are available in the package <code>fr.cnes.sirius.patrius.attitudes.directions</code> of the PATRIUS library.
 
The directions are available in the package <code>fr.cnes.sirius.patrius.attitudes.directions</code> of the PATRIUS library.
  
|=Library|=Javadoc
+
{| class="wikitable"
| Patrius|[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/package-summary.html Package fr.cnes.sirius.patrius.attitudes.directions]
+
|-
 +
! scope="col"| Library
 +
! scope="col"| Javadoc
 +
|-
 +
|Patrius
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/package-summary.html Package fr.cnes.sirius.patrius.attitudes.directions]
 +
|}
  
 
=== Links ===
 
=== Links ===
Ligne 44 : Ligne 49 :
 
This direction is used for instance when it comes to take pictures of the ground. To avoid distortion, the satellite has to compensate the earth rotation around its yaw axis. On the following drawing, the red direction is the one that has to be followed to compensate the earth rotation.
 
This direction is used for instance when it comes to take pictures of the ground. To avoid distortion, the satellite has to compensate the earth rotation around its yaw axis. On the following drawing, the red direction is the one that has to be followed to compensate the earth rotation.
  
[[File:vitsol.bmp|center]]
+
[[File:vitsol.png|center]]
  
 
==== Target direction ====
 
==== Target direction ====
Ligne 79 : Ligne 84 :
 
== Contents ==
 
== Contents ==
 
=== Interfaces ===
 
=== Interfaces ===
|=(% colspan="3" %)Interface|=(% colspan="6" %)Summary|=(% colspan="1" %)Javadoc
+
{| class="wikitable"
|(% colspan="3" %)'''IDirection '''|(% colspan="6" %)General interface for all directions classes. All basic directions implement it.|[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/IDirection.html ...]
+
|-
|(% colspan="3" %)'''ITargetDirection'''|(% colspan="6" %)This interface extends IDirection for the particular case of directions defined by a target point. The vector's direction is oriented from the given origin to the target.|[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/ITargetDirection.html ...]
+
! scope="col"| Interface
 +
! scope="col"| Summary
 +
! scope="col"| Javadoc
 +
|-
 +
|'''IDirection '''
 +
|General interface for all directions classes. All basic directions implement it.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/IDirection.html ...]
 +
|-
 +
|'''ITargetDirection'''
 +
|This interface extends IDirection for the particular case of directions defined by a target point. The vector's direction is oriented from the given origin to the target.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/ITargetDirection.html ...]
 +
|}
  
 
=== Classes ===
 
=== Classes ===
|=(% colspan="3" %)Class|=(% colspan="6" %)Summary|=(% colspan="1" %)Javadoc
+
{| class="wikitable"
|(% colspan="3" %)'''ConstantVectorDirection'''|(% colspan="6" %)Vector constant in one of the frames of the tree.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/ConstantVectorDirection.html ...]
+
|-
|(% colspan="3" %)'''VelocityDirection'''|(% colspan="6" %)Velocity of the origin point expressed in a reference frame, projected in the given one.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/VelocityDirection.html ...]
+
! scope="col"| Class
|(% colspan="3" %)'''MomentumDirection'''|(% colspan="6" %)Momentum : normal vector to the trajectory plane of the origin point around a celestial body.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/MomentumDirection.html ...]
+
! scope="col"| Summary
|(% colspan="3" %)'''CelestialBodyPolesAxisDirection'''|(% colspan="6" %)Axis of the poles of a celestial body.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/CelestialBodyPolesAxisDirection.html ...]
+
! scope="col"| Javadoc
|(% colspan="3" %)'''ToCelestialBodyCenterDirection'''|(% colspan="6" %)Vector from the origin to the center of a celestial body.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/ToCelestialBodyCenterDirection.html ...]
+
|-
|(% colspan="3" %)'''EarthCenterDirection'''|(% colspan="6" %)Vector from the origin to the center of the Earth central body.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/EarthCenterDirection.html ...]
+
|'''ConstantVectorDirection'''
|(% colspan="3" %)'''GenericTargetDirection'''|(% colspan="6" %)Defined by a PVCoordinatesProvider target.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/GenericTargetDirection.html ...]
+
|Vector constant in one of the frames of the tree.
|(% colspan="3" %)'''GroundVelocityDirection'''|(% colspan="6" %)Defined by the location of the ground target point given by the pointing direction of the satellite and the body shape.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/GroundVelocityDirection.html ...]
+
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/ConstantVectorDirection.html ...]
|(% colspan="3" %)'''NadirDirection'''|(% colspan="6" %)Defined by the location of the nadir point and the satellite position.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/NadirDirection.html ...]
+
|-
|(% colspan="3" %)'''CrossProductDirection'''|(% colspan="6" %)Cross Product of two directions.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/CrossProductDirection.html ...]
+
|'''VelocityDirection'''
|(% colspan="3" %)'''GlintApproximatePointingDirection'''|(% colspan="6" %)Direction to the Sun specular reflexion point.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/GlintApproximatePointingDirection.html ...]
+
|Velocity of the origin point expressed in a reference frame, projected in the given one.
|(% colspan="3" %)'''EarthToCelestialBodyCenterDirection'''|(% colspan="6" %)Direction from Earth to the celestial body center.|(% colspan="1" %)[{{CurrentPathJavaDoc}}/fr/cnes/sirius/patrius/attitudes/directions/EarthToCelestialBodyCenterDirection.html ...]
+
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/VelocityDirection.html ...]
 +
|-
 +
|'''MomentumDirection'''
 +
|Momentum : normal vector to the trajectory plane of the origin point around a celestial body.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/MomentumDirection.html ...]
 +
|-
 +
|'''CelestialBodyPolesAxisDirection'''
 +
|Axis of the poles of a celestial body.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/CelestialBodyPolesAxisDirection.html ...]
 +
|-
 +
|'''ToCelestialBodyCenterDirection'''
 +
|Vector from the origin to the center of a celestial body.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/ToCelestialBodyCenterDirection.html ...]
 +
|-
 +
|'''EarthCenterDirection'''
 +
|Vector from the origin to the center of the Earth central body.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/EarthCenterDirection.html ...]
 +
|-
 +
|'''GenericTargetDirection'''
 +
|Defined by a PVCoordinatesProvider target.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/GenericTargetDirection.html ...]
 +
|-
 +
|'''GroundVelocityDirection'''
 +
|Defined by the location of the ground target point given by the pointing direction of the satellite and the body shape.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/GroundVelocityDirection.html ...]
 +
|-
 +
|'''NadirDirection'''
 +
|Defined by the location of the nadir point and the satellite position.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/NadirDirection.html ...]
 +
|-
 +
|'''CrossProductDirection'''
 +
|Cross Product of two directions.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/CrossProductDirection.html ...]
 +
|-
 +
|'''GlintApproximatePointingDirection'''
 +
|Direction to the Sun specular reflexion point.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/GlintApproximatePointingDirection.html ...]
 +
|-
 +
|'''EarthToCelestialBodyCenterDirection'''
 +
|Direction from Earth to the celestial body center.
 +
|[{{JavaDoc4.0}}/fr/cnes/sirius/patrius/attitudes/directions/EarthToCelestialBodyCenterDirection.html ...]
 +
|}
  
 
[[Category:User_Manual_4.0_Attitude]]
 
[[Category:User_Manual_4.0_Attitude]]

Version actuelle en date du 20 février 2018 à 16:40

Introduction

Scope

The “direction” objects are used for attitude computation purposes to describe different types of axis in space that can evolve in time. A direction provides a vector in space at any date in a given frame. A direction can be for example "spacecraft-moon" or "nadir direction of the spacecraft". An attitude law can then be defined using two of those directions.

All available directions belong to the following categories:

  • Defined by a "target" moving point, and a given origin point;
  • Defined by a vector only known to be constant in time in a particular frame, or defined by a physical property.

The available features are listed in the description of the general IDirection interface or of the more specific ITargetDirection interface (for directions pointing a target).

Javadoc

The directions are available in the package fr.cnes.sirius.patrius.attitudes.directions of the PATRIUS library.

Library Javadoc
Patrius Package fr.cnes.sirius.patrius.attitudes.directions

Links

None as of now.

Useful Documents

None as of now.

Package Overview

The following diagram represents the two main interfaces of the "directions" package, and for each interface some of the implemented directions. PATRIMOINESIRIUSdirections.png

Features Description

Directions

The available directions are:

Basic direction

This direction is defined at any date by a vector; this vector can be constant in a frame, or it can be defined by a physical property (for instance the axis of the poles of a celestial body, the orbit momentum, the velocity vector...).

The getVector and getLine methods of this interface use a PVCoordinatesProvider to represent the origin of the direction, but for some of them this input parameter is unused (for instance for the poles of a celestial body direction). See each javadoc for the associated behavior.

All directions can also provide the line containing the given origin and directed by the vector, expressed in any frame of the tree.

Ground velocity direction

This direction is used for instance when it comes to take pictures of the ground. To avoid distortion, the satellite has to compensate the earth rotation around its yaw axis. On the following drawing, the red direction is the one that has to be followed to compensate the earth rotation.

Vitsol.png

Target direction

This direction also implements the methods of basic directions. It is defined at any date by the position of two points of space: the target (that defines the direction) and the origin given by the user. The associated vector (and line) is computed from the origin to the target.

Getting Started

Use

For all directions

All the directions implement the "IDirection" interface and so provide the "getVector" method. This method needs a date and a frame to express the vector, and the PV coordinates of the origin point (unused for some of them). It shall be used this way :

Vector3D directionVector = myDirection.getVector(pvCoordinatesProvider, date, frame);

They also provide the "getLine" method, with the same arguments.

Line directionLine = myDirection.getLine(pvCoordinatesProvider, date, frame);

NB : when the PVCoordinatesProvider is null then the origin of the direction is tacitly the frame origin.

For target directions

The directions that implement the "ITargetDirection" interface also provide the "getTarget" method :

PVCoordinates directionTarget = myTargetDirection.getTargetPVCoordinates(date, frame);

Contents

Interfaces

Interface Summary Javadoc
IDirection General interface for all directions classes. All basic directions implement it. ...
ITargetDirection This interface extends IDirection for the particular case of directions defined by a target point. The vector's direction is oriented from the given origin to the target. ...

Classes

Class Summary Javadoc
ConstantVectorDirection Vector constant in one of the frames of the tree. ...
VelocityDirection Velocity of the origin point expressed in a reference frame, projected in the given one. ...
MomentumDirection Momentum : normal vector to the trajectory plane of the origin point around a celestial body. ...
CelestialBodyPolesAxisDirection Axis of the poles of a celestial body. ...
ToCelestialBodyCenterDirection Vector from the origin to the center of a celestial body. ...
EarthCenterDirection Vector from the origin to the center of the Earth central body. ...
GenericTargetDirection Defined by a PVCoordinatesProvider target. ...
GroundVelocityDirection Defined by the location of the ground target point given by the pointing direction of the satellite and the body shape. ...
NadirDirection Defined by the location of the nadir point and the satellite position. ...
CrossProductDirection Cross Product of two directions. ...
GlintApproximatePointingDirection Direction to the Sun specular reflexion point. ...
EarthToCelestialBodyCenterDirection Direction from Earth to the celestial body center. ...