irfpy.juice.attitude0
¶
Draft attitude of JUICE, based on the information available in Mar 2016.
Based on the Airbus document, JUI-ADST-INST-TN-000122_01
.
The attitude is defined from several information (vectors) at a certain time.
Usually the vectors are obtained using SPICE.
For use case, see the folder 160222_jdc
.
The attitude convert between the spacecraft frame (SC
) and
a selected refrence frame (REF
).
convert_to_nsc
: A given vector (REF-frame) is converted to SC-frame vector.convert_to_ref
: A given vector (SC-frame) is converted to REF-frame vector.
-
class
irfpy.juice.attitude0.
JuiceNominal
[source]¶ Bases:
object
JUICE of nominal pointing. Based on JUI-ADST-INST-TN-000122_01.
JUICE spacecraft frame (SC) is defined by the nominal approach.
+Z axis points some target (nadir deck): possible target is Sun, Jupiter, and Ganymede.
+-y axis along the normal of ecliptic plane.
-x should be illuminated by the sun.
-
set_configuration
(pos, ecliptic_normal, sundir, vel=None)[source]¶ Set the configuration.
- Parameters
pos – Position relative to the pointing object. -pos is the nadir direction, namely, -z_SC.
vel – Velocity, you may use None if you do not know.
ecliptic_normal – Normal vector of the ecliptic plane. It will be aligned to +y_SC or -y_SC axis.
sundir – Sun direction in order to define the y_SC alignment.
The parameters (vectors) above can be obtained usually using SPICE. No automated way has been implemented. See scenario1.py for the use case.
-
irfpy.juice.attitude0.
JuiceJupiterPointing
¶ JUICE during jupiter pointing attitude. Alias to
JuiceNominal
.alias of
irfpy.juice.attitude0.JuiceNominal
-
irfpy.juice.attitude0.
JuiceEarthPointing
¶ JUICE during earth pointing attitude. Alias to
JuiceNominal
.alias of
irfpy.juice.attitude0.JuiceNominal
-
irfpy.juice.attitude0.
get_juice_jupiter_pointing
(juice_ref_jupiter, ecliptic_normal_vector_ref, sun_ref_juice, vel=None)[source]¶ JUICE’s Jupiter pointing attitude.
- Parameters
juice_ref_jupiter – Position relative to the pointing object presented in REF frame. -pos is the nadir direction, namely, -z_SC.
ecliptic_normal_vector_ref – Normal vector of the ecliptic plane in REF frame. It will be aligned to +y_SC or -y_SC axis.
sun_ref_juice – Sun direction in REF frame in order to define the y_SC alignment.
vel – Velocity of spacecraft relative to the object in REF frame, you may use None if you do not know.
- Returns
JuiceJupiterPointing
object that support conversion between SC and REF.
-
irfpy.juice.attitude0.
get_juice_earth_pointing
(juice_ref_earth, ecliptic_normal_vector_ref, sun_ref_juice, vel=None)[source]¶ JUICE’s Earth pointing attitude.
- Parameters
juice_ref_earth – Position relative to the pointing object presented in REF frame. -pos is the nadir direction, namely, -z_SC.
ecliptic_normal_vector_ref – Normal vector of the ecliptic plane in REF frame. It will be aligned to +y_SC or -y_SC axis.
sun_ref_juice – Sun direction in REF frame in order to define the y_SC alignment.
vel – Velocity of spacecraft relative to the object in REF frame, you may use None if you do not know.
- Returns
JuiceEarthPointing
object that support conversion between SC and REF.
-
class
irfpy.juice.attitude0.
JuiceFarFlyby
[source]¶ Bases:
irfpy.juice.attitude0.JuiceNominal
Flyby attitude for -12h to -1h and +1h to +12h.
Nadir pointing (+Z axis to the Moon)
Y axis perpendicular to Sun direction.
- Parameters
juice_pos_from_cabody – (3,) array in km seen from the CA body to the spacecraft.
sundir – (3,) array in km for the Sun direction from S/C.
- Returns
JuiceNominal
object with attitude configuration ready.
-
set_configuration
(pos, sundir, vel=None)[source]¶ Flyby configuration definition.
- Parameters
pos – Position relative to the pointing object. -pos is the nadir direction, namely, -z_SC.
vel – Velocity, you may use None if you do not know.
sundir – Sun direction in order to define the y_SC alignment.
The parameters (vectors) above can be obtained usually using SPICE. No automated way has been implemented. See scenario4.py for the use case.
-
irfpy.juice.attitude0.
get_juice_farflyby
(juice_ref_moon, sun_ref_juice, vel=None)[source]¶ JUICE’s far flyby attitude used for pm 12 hours except for pm 1 hour.
- Parameters
juice_ref_moon – Position relative to the moon for flyby. -pos is the nadir direction, namely, -z_SC.
sun_ref_moon – Sun direction in REF-frame; used to define the y_SC alignment.
vel – Velocity, you may use None if you do not know.
- Returns
JuiceFarFlyby
object that support conversion between SC and REF.
-
irfpy.juice.attitude0.
JuiceMoonYaw
¶ Juice attitude during the yaw-steering.
alias of
irfpy.juice.attitude0.JuiceFarFlyby
-
irfpy.juice.attitude0.
get_juice_ganymede_yaw_steering
(juice_ref_ganymede, sun_ref_juice, vel=None)[source]¶ JUICE’s far flyby attitude used for pm 12 hours except for pm 1 hour.
- Parameters
juice_ref_moon – Position relative to the moon for flyby. -pos is the nadir direction, namely, -z_SC.
sun_ref_moon – Sun direction in REF-frame; used to define the y_SC alignment.
vel – Velocity, you may use None if you do not know.
- Returns
JuiceFarFlyby
object that support conversion between SC and REF.
-
class
irfpy.juice.attitude0.
JuiceNearFlyby
[source]¶ Bases:
irfpy.juice.attitude0.JuiceNominal
Flyby attitude for -1h and +1h.
Nadir pointing (+Z axis to Moon)
Y axis is aligned with the projection of the velocity vector in the plane orthogonal to Z.
\[\]ec{Y} = ec{V} - ec{Z}cdot ec{V} ec{Z}
- return
-
set_configuration
(pos, vel, sundir)[source]¶ Position and velocity in a reference frame to form the axes.
- Parameters
pos – Position of the JUICE with respeictive to the moon in the reference system.
vel – Velocity of the JUICE in the reference system
sundir – Sundirection (to be used for y-flip condition evaluation)
-
irfpy.juice.attitude0.
get_juice_nearflyby
(juice_ref_moon, v_juice_ref_moon, sun_ref_juice)[source]¶ JUICE’s near flyby attitude. Used pm 1 hour relative to CA.
- Parameters
juice_ref_moon – Position relative to the moon for flyby. -pos is the nadir direction, namely, -z_SC.
v_juice_ref_moon – Velocity of JUICE relative to the flybying moon. You need it to calculate x and y.
sun_ref_moon – Sun direction in REF-frame; used to define the y_SC alignment.
- Returns
JuiceFarFlyby
object that support conversion between SC and REF.
-
irfpy.juice.attitude0.
JuiceMoonNoYaw
¶ Moon orbiting attitude for no yaw steering.
alias of
irfpy.juice.attitude0.JuiceNearFlyby
-
irfpy.juice.attitude0.
get_juice_ganymede_no_yaw_steering
(juice_ref_ganymede, v_juice_ref_ganymede, sun_ref_juice)[source]¶ JUICE’s Ganymede orbiting (both eliptic / orbiting) attitude.
- Parameters
juice_ref_ganymede – Position relative to the moon for flyby. -pos is the nadir direction, namely, -z_SC.
v_juice_ref_ganymede – Velocity of JUICE relative to the flybying moon. You need it to calculate x and y.
sun_ref_moon – Sun direction in REF-frame; used to define the y_SC alignment.
- Returns
JuiceFarFlyby
object that support conversion between SC and REF.
-
irfpy.juice.attitude0.
axis_configuration_xy
(sc, axis=None)[source]¶ Create a plot of the configuration
- Parameters
sc – Spacecraft aattitude class,
irfpy.pep.pep_attitude.NadirLookingSc
for example.axis – Axis class, if you have already. If None is given, a new figure and axis can be produced.
- Returns
Axis class.