Package gaiasky.util.gaia
Class AttitudeConverter
java.lang.Object
gaiasky.util.gaia.AttitudeConverter
public class AttitudeConverter
extends java.lang.Object
Convert a given set of heliotropic angles into a quaternion
-
Constructor Summary
Constructors Constructor Description AttitudeConverter()
-
Method Summary
Modifier and Type Method Description static HeliotropicAnglesRates
getHeliotropicAnglesRates(long gt, Attitude att)
Calculate the heliotropic angles and rates for a given attitudestatic Quaterniond[]
getQuaternionAndRate(long gt, HeliotropicAnglesRates h)
Converts heliotropic angles and rates to an attitude quaternion and its derivativestatic Quaterniond[]
heliotropicToQuaternions(double lSun, double xi, double nu, double omega, double lSunDot, double nuDot, double omegaDot)
Converts heliotropic angles and rates to an attitude quaternion and its derivativestatic double[]
heliotropicToQuaternionSrsRates(double lSun, double xi, double nu, double omega, double lSunDot, double nuDot, double omegaDot)
Converts heliotropic angles and rates to the attitude quaternion components and the inertial rates in SRSMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
AttitudeConverter
public AttitudeConverter()
-
-
Method Details
-
heliotropicToQuaternions
public static Quaterniond[] heliotropicToQuaternions(double lSun, double xi, double nu, double omega, double lSunDot, double nuDot, double omegaDot)Converts heliotropic angles and rates to an attitude quaternion and its derivative- Parameters:
lSun
- longitude of the nominal sun [rad]xi
- solar aspect angle [rad]nu
- revolving phase angle [rad]omega
- scan phase angle [rad]lSunDot
- time derivative of lSun [rad/day]nuDot
- time derivative of nu [rad/day]omegaDot
- time derivative of omega [rad/day]- Returns:
- an array of two quaternions, q (the attitude quaternion) and qDot (the time derivative of q, per day)
-
heliotropicToQuaternionSrsRates
public static double[] heliotropicToQuaternionSrsRates(double lSun, double xi, double nu, double omega, double lSunDot, double nuDot, double omegaDot)Converts heliotropic angles and rates to the attitude quaternion components and the inertial rates in SRS- Parameters:
lSun
- longitude of the nominal sun [rad]xi
- solar aspect angle [rad]nu
- revolving phase angle [rad]omega
- scan phase angle [rad]lSunDot
- time derivative of lSun [rad/day]nuDot
- time derivative of nu [rad/day]omegaDot
- time derivative of omega [rad/day]- Returns:
- double[] array {qx, qy, qz, qw, rateX, rateY, rateZ} with rates in [rad/day]
-
getQuaternionAndRate
Converts heliotropic angles and rates to an attitude quaternion and its derivative- Parameters:
gt
- GaiaTimeh
- heliotropic angles and their rates in [rad] and [rad/day]- Returns:
-
getHeliotropicAnglesRates
Calculate the heliotropic angles and rates for a given attitude- Parameters:
gt
- Time for the attitudeatt
- attitude- Returns:
-