Attitude Reference Frames

Top  Previous  Next

The attitude reference frame defines the coordinate system to which the Spacecraft's attitude is referenced. The AttitudeConvert function can be used to convert attitudes between any of the supported systems, which are as follows. To find information about the non-attitude orbital reference frames available in FreeFlyer, that can be found in the Orbit Reference Frames guide.

 

LVLH - Earth Pointing

MJ2000 Earth Equator

Geodetic

VNB

UVW

RIC

Custom CoordinateSystem object

 

 

LVLH - Earth Pointing


Description:

Z-axis: Vector pointing in the opposite direction to the position vector (points to center of Earth)

Y-axis: Vector pointing in the opposite direction to the orbit normal (the orbit normal is the cross product of position and velocity)

X-axis: Vector perpendicular to the y- and z-axes, forming a right-handed coordinate system

Origin: Center of the Spacecraft

 

 

Prior to setting the Spacecraft's attitude state, its attitude reference frame must be set:

 

Spacecraft1.AttitudeRefFrame = "LVLH";

 

// or

 

Spacecraft1.SetAttitudeRefFrame(0);

 

The EulerAnglesLVLH property can be used to display the Euler Angles that define the orientation of the Spacecraft BCS with respect to its LVLH frame:

 

Report Spacecraft1.EulerAnglesLVLH;

 

 

MJ2000 Earth Equator


Description:

Z-axis: Vector normal to the mean equatorial plane at Julian year 2000.0, pointing towards the Northern Hemisphere

X-axis: Vector pointing from the center of the Earth to the mean vernal equinox at Julian year 2000.0

Y-axis: Vector perpendicular to the x- and z-axes, forming a right-handed coordinate system

Origin: Center of the Earth

 

Notes:

This is the principal coordinate system used for computations in FreeFlyer

Commonly referred to as Mean of J2000, J2000, ECI, or GCI

This is the only frame available when working with the Spinner Attitude System

 

 

Prior to setting the Spacecraft's attitude state, its attitude reference frame must be set:

 

Spacecraft1.AttitudeRefFrame = "MJ2000";

 

// or

 

Spacecraft1.SetAttitudeRefFrame(1);

 

The EulerAnglesMJ2000 property can be used to display the Euler Angles that define the orientation of the Spacecraft BCS with respect to the MJ2000 frame:

 

Report Spacecraft1.EulerAnglesMJ2000;

 

 

Geodetic


Description:

Z-axis: Vector pointing toward Earth which is normal to the Earth's surface at intersection with Earth's surface

Y-axis: Vector pointing the opposite direction of the orbit normal

X-axis: Vector perpendicular to the y- and z- axes, forming a right-handed coordinate system

Origin: Center of the Spacecraft

 

 

Prior to setting the Spacecraft's attitude state, its attitude reference frame must be set:

 

Spacecraft1.AttitudeRefFrame = "GEODETIC";

 

// or

 

Spacecraft1.SetAttitudeRefFrame(2);

 

The EulerAngles property can be used to display the Euler Angles that define the orientation of the Spacecraft BCS with respect to its current attitude reference frame:

 

Report Spacecraft1.EulerAngles;

 

 

VNB


Description:

X-axis: Vector pointing in the direction of the Spacecraft's velocity

Y-axis: Vector pointing in the direction normal to the orbit

Z-axis: Vector perpendicular to the x- and y-axes, forming a right-handed coordinate system

Origin: Center of the Spacecraft

 

 

Prior to setting the Spacecraft's attitude state, its attitude reference frame must be set:

 

Spacecraft1.AttitudeRefFrame = "VNB";

 

// or

 

Spacecraft1.SetAttitudeRefFrame(3);

 

The EulerAngles property can be used to display the Euler Angles that define the orientation of the Spacecraft BCS with respect to its current attitude reference frame:

 

Report Spacecraft1.EulerAngles;

 

 

UVW


Description:

Z-axis: Vector pointing in the direction normal to the orbit (along the angular momentum vector)

X-axis: Vector pointing in the direction of the Spacecraft's position vector

Y-axis: Vector perpendicular to the x- and z-axes, forming a right-handed coordinate system

Origin: Center of the Spacecraft

 

Notes:

The UVW coordinate system is quasi-inertial, in the sense that it is treated as an inertial coordinate system (for example, for the purpose of velocity conversions), but it is redefined at each point of interest.

 

 

Prior to setting the Spacecraft's attitude state, its attitude reference frame must be set:

 

Spacecraft1.AttitudeRefFrame = "UVW";

 

// or

 

Spacecraft1.SetAttitudeRefFrame(4);

 

The EulerAnglesUVW property can be used to display the Euler Angles that define the orientation of the Spacecraft BCS with respect to the UVW frame:

 

Report Spacecraft1.EulerAnglesUVW;

 

 

RIC


Description:

Z-axis: Vector pointing in the direction normal to the orbit plane (along the angular momentum vector, also commonly called "cross-track")

X-axis: Vector pointing in the direction of the Spacecraft's position vector ("radial")

Y-axis: Vector perpendicular to the x- and z-axes, forming a right-handed coordinate system (also commonly called "in-track")

Origin: Center of the Spacecraft

 

Notes:

The RIC coordinate system is aligned with the UVW coordinate system, but is not considered quasi-inertial (it is not treated as an inertial coordinate system for the purposes of velocity vector conversions).

 

 

Prior to setting the Spacecraft's attitude state, its attitude reference frame must be set:

 

Spacecraft1.AttitudeRefFrame = "RIC";

 

// or

 

Spacecraft1.SetAttitudeRefFrame(5);

 

The EulerAnglesRIC property can be used to display the Euler Angles that define the orientation of the Spacecraft BCS with respect to the RIC frame:

 

Report Spacecraft1.EulerAnglesRIC;

 

 

Custom CoordinateSystem Objects


Description:

You can also reference your Spacecraft's attitude to a custom CoordinateSystem object

FreeFlyer will maintain the Spacecraft's attitude with respect to that CoordinateSystem as the Spacecraft is propagated or maneuvered, maintaining the attitude during each integration step

CoordinateSystems can be built using two Vectors as the axes, or by specifying a direction cosine matrix, Euler angles, quaternions, or the body coordinate system of a Spacecraft/CelestialObject/Star, or by chaining together multiple existing CoordinateSystems

 

The screenshot below shows how to configure a Spacecraft to reference its attitude to a custom CoordinateSystem object through the Spacecraft object editor. The attitude can then be entered in any of the available attitude systems (Euler Angles, Quaternions, or Attitude Matrix).

 

Spacecraft configured to reference its attitude using Euler Angles with respect to a custom CoordinateSystem

Spacecraft configured to reference its attitude using Euler Angles with respect to a custom CoordinateSystem

 

In order to set the Spacecraft's attitude to use a custom CoordinateSystem in a FreeForm script editor, the attitude reference frame is set:

 

Spacecraft1.SetAttitudeRefFrame(CoordinateSystem1);

 

The following properties can be used to display the Euler Angles, Quaternion, or Attitude Matrix that define the orientation of the Spacecraft BCS with respect to its Attitude Reference Frame:

 

Report Spacecraft1.EulerAngles, Spacecraft1.Quaternion, Spacecraft1.AttitudeMatrix;

 

 

See Also


Attitude Systems

Orbit Reference Frames

AttitudeConvert

Vectors and CoordinateSystems