Description
The Ephemeris Orbital Translation Software is a flight software module that converts spacecraft state vectors from Cartesian ephemeris representation to classical Keplerian orbital elements. This transformation is fundamental for orbit analysis, mission planning, and spacecraft operations, providing intuitive parameters that describe the size, shape, and orientation of an orbit. The module computes the six classical orbital elements along with derived quantities such as orbital period, periapsis radius, and apoapsis radius.
Example Use Cases
- Orbit Determination: Convert navigation state estimates to orbital elements for mission analysis and reporting.
- Conjunction Analysis: Compute orbital elements for collision avoidance screening and manoeuvre planning.
- Mission Planning: Determine orbital parameters for coverage analysis, eclipse prediction, and ground station passes.
- Orbit Maintenance: Monitor orbital element drift to trigger station-keeping manoeuvres.
- Telemetry Generation: Provide orbital elements for spacecraft housekeeping data and ground display systems.
Module Implementation
The Ephemeris Orbital Translation Software is a Software component that processes ephemeris and planetary state messages to produce classical Keplerian orbital elements. It performs coordinate transformations from the inertial frame to a planet-centred reference and applies the standard vector-to-elements conversion algorithm.
Input Messages
The module requires two input messages:
| Input Message | Type | Description |
|---|---|---|
In_EphemerisMsg | EphemerisMessage | Spacecraft position and velocity in the inertial frame |
In_PlanetStateMsg | PlanetStateMessage | Central body state including position, velocity, and gravitational parameter |
By default, the planet state message is initialised to Earth from the Solar System.
Planet-Centred Inertial State
The first step computes the spacecraft state vector relative to the central body. Given the spacecraft position , velocity , and the planet’s position and velocity :
where and are the position and velocity vectors of the spacecraft relative to the central body, expressed in the inertial frame.
Classical Orbital Elements
The state vectors are converted to the six classical Keplerian elements using standard astrodynamics algorithms. Given the gravitational parameter of the central body:
Specific Angular Momentum
The specific angular momentum vector is:
with magnitude .
Node Vector
The ascending node vector is:
where is the unit vector along the inertial -axis.
Eccentricity Vector
The eccentricity vector points toward periapsis:
where and . The eccentricity is:
Semi-Major Axis
The specific orbital energy is:
For elliptical and hyperbolic orbits, the semi-major axis is:
The reciprocal of the semi-major axis (alpha parameter) is:
Inclination
The orbital inclination is the angle between the angular momentum vector and the inertial -axis:
where is the -component of .
Right Ascension of the Ascending Node
The longitude of the ascending node is:
where and is the -component of . The quadrant is resolved using:
Argument of Periapsis
The argument of periapsis is the angle from the ascending node to periapsis:
The quadrant is resolved using:
True Anomaly
The true anomaly is the angle from periapsis to the current position:
The quadrant is resolved using the flight path angle:
Derived Quantities
Additional orbital parameters are computed from the classical elements:
Periapsis and Apoapsis Radii
The periapsis radius (closest approach) is:
The apoapsis radius (farthest distance) is:
Note that for hyperbolic orbits (), the apoapsis radius is negative, indicating an unbound trajectory.
Orbital Period
For elliptical orbits (), the orbital period is:
For parabolic () and hyperbolic () orbits, the period is undefined (infinite or non-periodic).
Output Message
The module produces an OrbitalMessage containing:
| Field | Symbol | Units | Description |
|---|---|---|---|
SemiMajorAxis | m | Semi-major axis of the orbit | |
Eccentricity | - | Orbital eccentricity | |
Inclination | deg | Orbital inclination | |
OmegaAscension | deg | Right ascension of the ascending node | |
ArgumentOfPeriapsis | deg | Argument of periapsis | |
TrueAnomaly | deg | True anomaly | |
PositionMagnitude | m | Current orbital radius | |
Alpha | 1/m | Reciprocal of semi-major axis | |
RadiusPeriapsis | m | Periapsis radius | |
RadiusApoapsis | m | Apoapsis radius | |
Period | s | Orbital period |
Angular elements are converted from radians to degrees for the output message.
Update Sequence
At each simulation time step, the module performs the following operations:
- Validate Inputs: Check that both ephemeris and planet state messages are connected; skip update if either is missing.
- Compute Relative State: Calculate position and velocity vectors relative to the central body.
- Convert to Elements: Apply the vector-to-elements algorithm to obtain classical orbital elements.
- Compute Derived Quantities: Calculate periapsis radius, apoapsis radius, and orbital period.
- Update Output Message: Populate the orbital message with computed values, converting angles to degrees.
Special Cases
The algorithm handles several degenerate orbital geometries:
| Condition | Handling |
|---|---|
| Circular orbit () | Argument of periapsis undefined; set to zero |
| Equatorial orbit ( or ) | Ascending node undefined; set to zero |
| Circular equatorial orbit | Both and undefined; true longitude used |
| Radial trajectory () | Orbit undefined; elements may be singular |
| Parabolic orbit () | Semi-major axis infinite; |
Assumptions/Limitations
- The conversion assumes two-body Keplerian motion; perturbations from oblateness, third bodies, and other forces are not considered in the element definitions.
- Angular elements are output in degrees for user convenience, though internal calculations use radians.
- The algorithm may produce numerical instabilities for near-circular or near-equatorial orbits where some elements become undefined.
- For hyperbolic orbits, the semi-major axis is negative by convention, and the apoapsis radius is not physically meaningful.
- The orbital period is only valid for elliptical orbits; parabolic and hyperbolic trajectories have infinite or undefined periods.
- The module does not perform orbit propagation; it only converts the instantaneous state to elements.
- No validation is performed to ensure the ephemeris message corresponds to an object orbiting the specified planet.
- The gravitational parameter is taken directly from the planet state message; variations in are not modelled.
- Mean anomaly, eccentric anomaly, and other anomaly representations are not computed; only true anomaly is provided.
- The algorithm assumes the inertial frame is aligned with the standard