Attitude
Library for simulating space-based VLBI missions (spacevlbi)
Copyright 2024 Ben Hudson
Licensed under the GNU General Public License, Version 3.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
- spacevlbi.Attitude.AttitudePropagation(spaceTelescopes, rSun, rMoon, sourceRa, sourceDec, i, timeStep)
Propagate space telescope’s attitude state. This function calculates the attitude matrix required to point the antenna at the target source. The constraint axis is pointed in a direction perpendicular to the antenna direction, defined by the rollAngle parameter of a SpaceTelescope.
- Parameters:
spaceTelescopes (list) – Array of SpaceTelescope objects, defaults to None
rSun (numpy.ndarray) – Sun position vector in ECI frame in metres, defaults to None
rMoon (numpy.ndarray) – Moon position vector in ECI frame in metres, defaults to None
sourceRa (float) – Right ascension of target source in degrees, defaults to None
sourceDec (float) – Declination of target source in degrees, defaults to None
i (int) – Current time step, defaults to None
timeStep (int) – simulation time step in seconds, defaults to None
- Returns:
Array of SpaceTelescope objects
- Return type:
- spacevlbi.Attitude.TRIAD(r1, r2, b1, b2)
TRIAD algorithm to calculate the attitude matrix from two pairs of body and inertial constraint vectors.
- Parameters:
r1 (numpy.ndarray) – Inertial pointing vector, defaults to None
r2 (numpy.ndarray) – Inertial constraint vector, defaults to None
b1 (numpy.ndarray) – Body pointing vector, defaults to None
b2 (numpy.ndarray) – Body constraint vector, defaults to None
- Returns:
Attitude Matrix
- Return type:
numpy.ndarray