Description

This module is designed to work as the pointing program in an ADCS software chain as shown in the figure below.

Untitled

This model provides a general method to establish a pointing frame between two known positions. Specifically, this module constructs a reference frame that aligns a vector () defined by the user in the body frame of the parent object with a vector that points to a target object () in the body frame. This is for one Spacecraft to point towards another.


Example Use Cases

  • Space-based Observations: Establish a pointing reference frame between a nearby space object and an on-board sensor.
  • Terrestrial Observations: Establish a pointing reference frame between a plane based on received ADS-B (flight tracking) position information.

Module Implementation

The relative pointing frame is constructed about a principal pointing axis, which is derived from the inertial position of the parent spacecraft and target :

A coordinate system about this principal axis is then built such that:

Where and the DCM is . The angular velocity of the frame may then simply be calculated from the time-step as:

Using this result, and applying equation 3.164 in [1], the angular velocity of the frame with respect to in the frame components may be computed as:

The above definitions will align the reference frame’s x-axis with the target. To align with a user-specific vector, we create a second coordinate frame . In the case that the frame aligns with the frame, has to align with . For this reason, an frame is built around the vector, such that:

where all the above are in . The resultant DCM . Converting to MRPs, the final rotation between and is simply:

The angular velocity and angular acceleration remain the same.

Parameters

ParameterUnitsDescriptionDefault
AlignmentVector_B—Body-frame vector defining the axis to align with the target (Up)

Assumptions/Limitations

  • The first two simulation steps produce zeroed angular velocity and angular acceleration outputs due to the numerical differentiation method used.
  • If AlignmentVector_B is set to zero, it defaults to the body +Z axis.
  • The module assumes the input navigation messages provide valid inertial position data for both the parent spacecraft and target.
  • MRP shadow switching is handled automatically to avoid singularities when the rotation approaches .

References

[1] Hanspeter Schaub and John L. Junkins. Analytical Mechanics of Space Systems. AIAA Education Series, Reston, VA, 3rd edition, 2014.