Description
This module is designed to work as the pointing program in an ADCS software chain as shown in the figure below.
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 principle pointing axis, which is derived from the inertial position of the parent spacecraft and target :
A coordinate system about this principle 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.
References
[1] Hanspeter Schaub and John L. Junkins. Analytical Mechanics of Space Systems. AIAA Education Series, Reston, VA, 3rd edition, 2014.