AngularCoordinates, Attitude and Transform : how to use them

De Wiki
Révision de 1 mars 2018 à 16:13 par Admin (discussion | contributions) (1 révision importée)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher


Angular coordinates

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 /w8gnRewXP7SEgAAAABJRU5ErkJggg==The [[[:Modèle:JavaDoc3.4]]/org/orekit/utils/AngularCoordinates.html AngularCoordinates] class contains an orientation and its associated rotation rate. Its use is similar to [[[:Modèle:JavaDoc3.4]]/org/orekit/utils/PVCoordinates.html PVCoordinates].

Orientation

The orientation is described by a rotation. This Rotation is the one that transforms the reference frame into the frame of interest. It is expressed in the reference frame.

Orientation.png

(% style="text-align: center;" %) [math]\vec{X_{int / ref}} = R(\vec{X_{ref / ref}})[/math] [math]\vec{Y_{int / ref}} = R(\vec{Y_{ref / ref}})[/math] [math]\vec{Z_{int / ref}} = R(\vec{Z_{ref / ref}})[/math]

Rotation Rate

The Rotation Rate is a 3D vector expressedin the frame of interest. Its norm is the angular velocity of the frame of interest. Its direction is the instant axis of spin. Here is the case of a spin around the Z axis :


RotationRate.png

Rotation Acceleration

The Rotation Acceleration is a 3D vector expressedin the frame of interest. Its norm is the angular acceleration of the frame of interest. As the rotation rate, its direction is the instant axis of spin (see image above).

As the classes implementing [[[:Modèle:JavaDoc3.4]]//org/orekit/attitudes/AttitudeLaw.html AttitudeLaw], the computation of this acceleration must be desactived (see [ATT_ALW_Home Attitude law description]) at construction of an instance of the class using the boolean in constructor :

AngularCoordinates(final PVCoordinates u1, final PVCoordinates u2,
                   final PVCoordinates v1, final PVCoordinates v2,
                   final double tolerance, final boolean spinDerivativesComputation)

One can obtain more details about using this constructor reading [[[:Modèle:JavaDoc3.4]]//org/orekit/utils/AngularCoordinates.html AngularCoordinates].

Use example : time shifting the orientation

The orientation can be basically shifted in time using the rotation rate. Here is an example of code realizing this computation. It allows some reflexions about the different frames of expression involved.

// getting the content of the angular coordinates
Vector3D rotation_acceleration = angularCoordinates.getRotationAcceleration()
Vector3D rotation_rate = angularCoordinates.getRotationRate();
Rotation orientation = angularCoordinates.getRotation();
 
// To compose two rotations, they must be expressed in the same frame. 
// The orientation is expressed in the reference frame, so the shift (evolution of the rotation) has to be expressed in the reference frame too. 
// To create it, the rotation rate has itself to be expressed in the reference frame. 
// Here is how it shall be obtained :
Vector3D rotation_rate_in_ref_frame = orientation.applyTo(rotation_rate);
 
// the rotation shift can then be created ("dt" is the time duration of the shift) :
Rotation shift = new Rotation(rotation_rate_in_ref_frame, rotation_rate_in_ref_frame.getNorm()* dt);
 
// the new orienation can finally be computed
Rotation finalRotation = shift.applyTo(orientation);

The shifted rotation can be directly retrieved using the methodshiftedBy of [[[:Modèle:JavaDoc3.4]]/org/orekit/utils/AngularCoordinates.html AngularCoordinates].

AngularCoordinates shifted = angularCoordinates.shiftedBy(dt);
Rotation shiftedRotation = shifted.getRotation();

Attitude

An attitude object contains all the information about the satellite's orientation at a date :

  • The time stamped angular coordinates of the frame of interest in the reference frame (wich can be the "satellite frame" or another according to the user's needs)
  • The reference [[[:Modèle:JavaDoc3.4]]/org/orekit/frames/Frame.html Frame]


The convention used to describe the orientation of the frame of interest in [[[:Modèle:JavaDoc3.4]]/org/orekit/attitudes/Attitude.html Attitude] is the same as in [[[:Modèle:JavaDoc3.4]]/org/orekit/utils/AngularCoordinates.html AngularCoordinates] : the rotation returned by Attitude.getRotation() is the one that transforms the reference frame into the frame of interest.

The Attitude class also provides a static method (Attitude.slerp(date, attitude1, attitue2, frame)) to perform interpolation with SLERP method. In term of computational time, it is more performant than Attitude.interpolate(...) but to perform more accurate interpolation, the user should use Attitude.interpolate(...) .

Use example : changing a vector's frame of expression

This convention implies that if one wants to change the frame of expression of a vectorfrom the reference frame to the frame of interest, the computation shall involve the inverse of the orientation :

Vector3D vector_in_ref_frame = new Vector3D(a, b, c);
 
Rotation orientation = myAttitude.getRotation();
 
Vector3D vector_in_sat_frame = orientation.applyInverseTo(vector_in_ref_frame);

Transform

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 /wWtp0jaFmF8AAAAAElFTkSuQmCCA Transform object describes the position, velocity, orientation and rotation rate of a "destination" frame in an "origin" frame.

Transform provides the methods tranformVector(...), tranformPosition(...), tranformVelocity(...), etc... that change the frame of expression of those objects from "origin" to "destination".

The convention used to describe the orientation and rotation rate of the "destination" frame in [[[:Modèle:JavaDoc3.4]]/org/orekit/frames/transformations/Transform.html Transform] is the same as in [[[:Modèle:JavaDoc3.4]]/org/orekit/utils/AngularCoordinates.html AngularCoordinates] : the rotation returned by Transform.getRotation() is the one that transforms the basis vectors of the "origin" frame into the ones of the "destination" frame.

The position and velocity of the "destination" are expressed in the "origin" frame.

Transform.png

Use example : creating a satellite frame

In the following example, the "origin" is a terrestrial frame and the "destination" is a frozen satellite frame : the position and velocity in Transform are the ones of the spacecraft.

// CREATION OF THE TRANSFORM AND SATELLITE FRAME
//<del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del>---
 
// satellite pvCoordinates in GCRF
PVCoordinates pvCoordinates = new PVCoordinates(position, velocity);
 
// satellite Angular Coordinates
AngularCoordinates attitudeCoordinates = attitude.getOrientation();
 
// transformation "from GCRF to satellite frame"
Transform gcrf_to_sat = new Transform(date, pvCoordinates, attitudeCoordinates );
 
// satellite frame creation
Frame satFrame = new Frame(FramesFactory.getGCRF(), gcrf_to_sat, "satFrame");
 
// USE OF THE TRANSFORM
//<del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del><del></del>---
 
// X vector of the satellite frame
Vector3D x_satFrame = Vector3D.PLUS_I;
 
// the same vector expressed in GCRF
Vector3D x_sat_in_GCRF = gcrf_to_sat.getInverse().transformVector(x_satFrame);

More code examples

Here is an example of code that may help understanding the use of rotations in attitudes and frames transformations.

// GCRF, reference frame
final Frame gcrf = FramesFactory.getGCRF();
 
// Axis of the GCRF frame, expressed in GCRF
final Vector3D xGCRF_inGCRF = Vector3D.PLUS_I;
final Vector3D yGCRF_inGCRF = Vector3D.PLUS_J;
final Vector3D zGCRF_inGCRF = Vector3D.PLUS_K;
 
// Directions associated to those axis
final IDirection xGCRF = new ConstantVectorDirection(xGCRF_inGCRF, gcrf);
final IDirection yGCRF = new ConstantVectorDirection(yGCRF_inGCRF, gcrf);
final IDirection zGCRF = new ConstantVectorDirection(zGCRF_inGCRF, gcrf);
 
// Creation of a "zero" PV provider
final PVCoordinatesProvider pvProv = new PVCoordinatesProvider() {
public PVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
throws OrekitException {
return new PVCoordinates(Vector3D.ZERO, Vector3D.ZERO);
}
};
 
// a date...
final AbsoluteDate date = new AbsoluteDate(2014, 10, 2, 11, 46, 00,
TimeScalesFactory.getTAI());
 
// Axis of the satellite frame, expressed in the satellite frame
final Vector3D xSat_inRSat = Vector3D.PLUS_I;
final Vector3D ySat_inRSat = Vector3D.PLUS_J;
final Vector3D zSat_inRSat = Vector3D.PLUS_K;
 
// The attitude law :
//- axe Xsat on Y_GCRF,
//- axe Ysat "as close as possible" to Z_GCRF.
// We are implicitly defining the orientation of the satellite frame.
final AttitudeLaw attLaw = new TwoDirectionsAttitude(yGCRF, zGCRF, xSat_inRSat, ySat_inRSat);
 
// Attitude computation,
// and getting of the associated rotation.
Attitude att = attLaw.getAttitude(pvProv, date, gcrf);
Rotation rot = att.getRotation ();
 
// Computation of the axis of the satellite frame in the GCRF
Vector3D xSat_inGCRF = rot.applyTo(xGCRF_inGCRF);
Vector3D ySat_inGCRF = rot.applyTo(yGCRF_inGCRF);
Vector3D zSat_inGCRF = rot.applyTo(zGCRF_inGCRF);
 
// Print
System.out.println("xSat_inGCRF: " + xSat_inGCRF);
System.out.println("ySat_inGCRF: " + ySat_inGCRF);
System.out.println("zSat_inGCRF: " + zSat_inGCRF);
 
// getting the attitude quaternion
Quaternion q = rot.getQuaternion ();
System.out.println("quaternion: " + q);
 
// Printing the axis and angle of the rotation,
// to visualize its "right" definition.
System.out.println(" axis: " + rot.getAxis());
System.out.println(" angle: " + rot.getAngle());
 
// Creation of the satellite frame
AttitudeFrame attFrame = new AttitudeFrame(pvProv, attLaw, gcrf);
 
// getting the transformation from the satellite frame to the GCRF
Transform transform = attFrame.getTransformTo(gcrf, date);
 
// Changing the expression frame of Xsat from Rsat into GCRF
// to match the previous result :
System.out.println("xSat_inGCRF: " + xSat_inGCRF);
System.out.println("transform.transformVector(xSat_inRSat): " +
transform.transformVector(xSat_inRSat));