Satellite

Satellite Overview

The satellite module provides the Satellite class for satellite specific computations. The following sections will detail the functionality of the Satellite class as well as providing a more in depth discussion of the attitude and look-angle calculations.

Satellite Class

The Satellite class represents an Earth observation satellite and allows for satellite specific computations.

Note

The Satellite.attitude() method requires both satellite position and velocity to be defined.

The Satellite class can be imported via the following:

from celest.satellite import Satellite
class Satellite(position, velocity=None)

Bases: object

Representation of an Earth orbiting satellite.

Parameters
  • position ({GCRS, ITRS}) – Satellite position in the GCRS or ITRS frame.

  • velocity ({GCRS, ITRS}, optional) – Satellite velocity in the GCRS or ITRS frame. Attitude calculations require the velocity parameter.

altitude()

Return the satellite’s geodetic altitude.

This method uses the WGS84 reference ellipsoid and an iterative method to calculate the satellite’s geodetic altitude above the Earth’s surface.

Returns

The satellite’s geodetic altitude.

Return type

Quantity

Notes

This method uses an ellipsoid based model of the Earth to calculate the ellipsoid height in an iterative manner described in “Coordinate Systems in Geodesy” by E. J. Krakiwsky and D.E. Wells. [KW98b]

References

KW98b

E. J. Krakiwsky and D. E. Wells. Coordinate Systems in Geodesy. Jan. 1998, pp. 31–33.

attitude(location)

Return satellite roll, pitch, and yaw angles.

This method returns the roll, pitch, and yaw angles required to rotate the satellite from the lvlh frame to a ground-target-pointing orientation. This method assumes a downward-pointing camera fixed to the satellite’s nadir.

Parameters

location (GroundLocation) – Location for satellite attitude pointing.

Returns

Satellite attitude for target pointing.

Return type

Attitude

Notes

The methods of attitude determination were taken from [adcs1].

References

adcs1

G. H. J. van Vuuren, “The design and simulation analysis of an attitude determination and control system for a small earth observation satellite_old,” Master of Engineering, Stellenbosch University, Stellenbosch, South Africa, Mar 2015.

distance(location)

Return the satellite’s distance to a ground location.

Parameters

location (GroundLocation) – Location for satellite distance calculation.

Returns

The satellite’s distance to location.

Return type

Quantity

look_angle(location)

Return look-angles to a ground location.

The look-angle (or off-nadir angle) is the angle between the ground location and the satellite’s nadir. A zero look-angle indicates the satellite is directly overhead the ground location.

Parameters

location (GroundLocation) – Ground location of interest.

Returns

Satellite’s look-angle to location.

Return type

Quantity

save_text_file(file_name)

Save data as a pretty text file.

Parameters

file_name (str) – Name of the text file for the saved data.

Return type

None

Satellite Attitude Definition

A satellite’s attitude defines the orientation of the attitude in some frame by providing the Euler angles required to rotate the satellite from the given frame into it’s body fixed frame. Therefore, defining the satellite’s attitude requires the satellite’s initial and final orientations in a common frame: the LVLH frame. With this knowledge, the angles required to rotate from the initial to final orientation can be computed; these angles are the roll, pitch, and yaw angles.

Assuming an Earth observation satellite, the initial orientation is defined as having the satellite’s camera pointing in the direction of the lvlh’s positive z-axis. The final orientation is the orientation in the lvlh frame where the camera is pointing in the direction a target of interest (i.e. when the camera is pointing towards a ground location). The attitude angles are then determined and adhere to the following definitions:

  1. Roll is the angle about the lvlh’s x-axis,

  2. Pitch is the angle about the lvlh’s y-axis, and

  3. Yaw is the angle about the lvlh’s z-axis.

Rotating a vector from the satellites initial orientation to the final orientation is performed by applying a Euler-213 (or pitch-roll-yaw) sequence to the vector.

Satellite Look-Angle Definition

The look-angle (or off-nadir angle) is the angle between a vector pointing from the satellite to the target and the satellite’s nadir vector and is a measure of a ground target’s position relative to the satellite’s nadir. This can be a useful metric for determining the satellite’s image quality. If a large look-angle exists for a ground target, then imaging of that location would induce significant skew in the resultant data. In the other extreme, if a zero look-angle exists, the satellite would be directly overhead the target inducing little to no distortion in the data. The look-angle is always positive by definition.