Rotation Library


Detailed Description

The Rotation Library is a collection of attitude representation class definitions that are meant to assist in the implementation of spacecraft analysis and operation code. Each attitude representation is implemented as a class with member functions that perform transformations and retrievals of the rotation information.

The Rotation class is the most general, and useful, of the Kinematics Toolbox classes. All attitudes can be stored as a Rotation, and then retrieved in any of the desired formats (MRP, DCM, Quaternion, Euler Axis & Angle, Euler Angle).

Here are some examples of using the kinematics toolbox in general. For more specific examples refer to the appropriate classes documentation.

Examples:
DirectionCosineMatrix dcm1(deg2rad(30),deg2rad(-10),deg2rad(5), 123); // create a DCM with successive rotations of [30,-10,5] degs in a 123 rotation order
Quaternion q1(dcm1); // create a quaternion that is the same attitude transformation as dcm1
Quaternion q2(~dcm1); // create a second quaternion that is the transpose of dcm1 (~dcm1)
Rotation rot1(q1 * q2); // create a rotation that is the successive rotation of q1 and q2
cout << rot1; // output rot1 to the standard stream (usually the screen)
Vector eulerAxis;
double eulerAngle;
rot1.GetEulerAxisAngle(eulerAxis, eulerAngle);
cout << eulerAxis << eulerAngle;

testRotation.cpp Demonstrates the use of the Rotation class and associated kinematic representations.


Compounds

class  DirectionCosineMatrix
 3x3 direction cosine matrix attitude representation. More...

class  ModifiedRodriguezParameters
 3x1 Modified Rodriguez Parameters attitude representation. More...

class  Quaternion
 The non-singular, redundant Euler parameter (quaternion) vector. More...

class  Rotation
 A generalized rotation class to represent any attitude coordinate transformation. More...


Enumerations

enum  RotationType {
  DCM_Type, EulerAngle_Type, EulerAxisAngle_Type, MRP_Type,
  Quaternion_Type
}
 Various representations of a rotation. More...

enum  RotationSense { LEFT_HAND = -1, RIGHT_HAND = 1 }
 The Sense, or "handedness" of a rotation system. More...


Functions

DirectionCosineMatrix R1 (const Angle &_Angle)
 Calculates the principal rotation of the angle about the 1-axis. DirectionCosineMatrix.

DirectionCosineMatrix R2 (const Angle &_Angle)
 Calculates the principal rotation of the angle about the 2-axis. DirectionCosineMatrix.

DirectionCosineMatrix R3 (const Angle &_Angle)
 Calculates the principal rotation of the angle about the 3-axis. DirectionCosineMatrix.


Variables

const int QUATERNION_SIZE = 4
 Number of elements in a quaternion vector.

const int MRP_SIZE = 3
 Number of elements in a MRP vector.

const int DCM_SIZE = 3
 Number of elements in a DCM row or column.

const int EULERAXIS_SIZE = 3
 Number of elements in an euler axis.

const int EULERANGLES_SIZE = 3
 Number of elements in an euler angle sequence.


Enumeration Type Documentation

enum O_SESSAME::RotationType
 

Various representations of a rotation.

Enumeration values:
DCM_Type 
EulerAngle_Type 
EulerAxisAngle_Type 
MRP_Type 
Quaternion_Type 

Definition at line 74 of file Rotation.h.

enum O_SESSAME::RotationSense
 

The Sense, or "handedness" of a rotation system.

Enumeration values:
LEFT_HAND 
RIGHT_HAND 

Definition at line 77 of file Rotation.h.


Function Documentation

DirectionCosineMatrix O_SESSAME::R1 const Angle _Angle  ) 
 

Calculates the principal rotation of the angle about the 1-axis. DirectionCosineMatrix.

Parameters:
_Angle Angle of Rotation [rad].
Equation:

Definition at line 689 of file Rotation.cpp.

DirectionCosineMatrix O_SESSAME::R2 const Angle _Angle  ) 
 

Calculates the principal rotation of the angle about the 2-axis. DirectionCosineMatrix.

Parameters:
_Angle Angle of Rotation [rad].
Equation:

Definition at line 713 of file Rotation.cpp.

DirectionCosineMatrix O_SESSAME::R3 const Angle _Angle  ) 
 

Calculates the principal rotation of the angle about the 3-axis. DirectionCosineMatrix.

Parameters:
_Angle Angle of Rotation [rad].
Equation:

Definition at line 737 of file Rotation.cpp.


Variable Documentation

const int O_SESSAME::QUATERNION_SIZE = 4
 

Number of elements in a quaternion vector.

Definition at line 63 of file Rotation.h.

const int O_SESSAME::MRP_SIZE = 3
 

Number of elements in a MRP vector.

Definition at line 65 of file Rotation.h.

const int O_SESSAME::DCM_SIZE = 3
 

Number of elements in a DCM row or column.

Definition at line 67 of file Rotation.h.

const int O_SESSAME::EULERAXIS_SIZE = 3
 

Number of elements in an euler axis.

Definition at line 69 of file Rotation.h.

const int O_SESSAME::EULERANGLES_SIZE = 3
 

Number of elements in an euler angle sequence.

Definition at line 71 of file Rotation.h.


Generated on Wed Aug 6 12:59:11 2003 for Open-Sessame Framework by doxygen1.3