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 nonattitude orbital reference frames available in FreeFlyer, that can be found in the Orbit Reference Frames guide.
LVLH  Earth Pointing
Description:
•Zaxis: Vector pointing in the opposite direction to the position vector (points to center of Earth) •Yaxis: Vector pointing in the opposite direction to the orbit normal (the orbit normal is the cross product of position and velocity) •Xaxis: Vector perpendicular to the y and zaxes, forming a righthanded 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";
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:
•Zaxis: Vector normal to the mean equatorial plane at Julian year 2000.0, pointing towards the Northern Hemisphere •Xaxis: Vector pointing from the center of the Earth to the mean vernal equinox at Julian year 2000.0 •Yaxis: Vector perpendicular to the x and zaxes, forming a righthanded 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";
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:
•Zaxis: Vector pointing toward Earth which is normal to the Earth's surface at intersection with Earth's surface •Yaxis: Vector pointing the opposite direction of the orbit normal •Xaxis: Vector perpendicular to the y and z axes, forming a righthanded 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";
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:
•Xaxis: Vector pointing in the direction of the Spacecraft's velocity •Yaxis: Vector pointing in the direction normal to the orbit •Zaxis: Vector perpendicular to the x and yaxes, forming a righthanded 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";
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:
•Zaxis: Vector pointing in the direction normal to the orbit (along the angular momentum vector) •Xaxis: Vector pointing in the direction of the Spacecraft's position vector •Yaxis: Vector perpendicular to the x and zaxes, forming a righthanded coordinate system •Origin: Center of the Spacecraft 
Notes:
•The UVW coordinate system is quasiinertial, 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";
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:
•Zaxis: Vector pointing in the direction normal to the orbit plane (along the angular momentum vector, also commonly called "crosstrack") •Xaxis: Vector pointing in the direction of the Spacecraft's position vector ("radial") •Yaxis: Vector perpendicular to the x and zaxes, forming a righthanded coordinate system (also commonly called "intrack") •Origin: Center of the Spacecraft 
Notes:
•The RIC coordinate system is aligned with the UVW coordinate system, but is not considered quasiinertial (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";
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
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
