ECI-ROE Transformations¶
Transformations between Earth-Centered Inertial (ECI) state vectors and Relative Orbital Elements (ROE).
These functions combine the ECI↔KOE and OE↔ROE transformations to provide direct conversion between inertial Cartesian states and quasi-nonsingular Relative Orbital Elements.
Note
For conceptual explanations of ROE, see ROE Transformations.
state_eci_to_roe builtin ¶
state_eci_to_roe(x_chief: Union[ndarray, Sequence], x_deputy: Union[ndarray, Sequence], angle_format: AngleFormat, axis: int = -1) -> ndarray
Converts chief and deputy satellite ECI state vectors to quasi-nonsingular Relative Orbital Elements (ROE).
This function converts both ECI states to Keplerian orbital elements, then computes the quasi-nonsingular Relative Orbital Elements between them.
The ROE formulation provides a mean description of relative motion that is nonsingular for circular and near-circular orbits. The ROE vector contains: - da: Relative semi-major axis (dimensionless) - dλ: Relative mean longitude (degrees or radians) - dex: x-component of relative eccentricity vector (dimensionless) - dey: y-component of relative eccentricity vector (dimensionless) - dix: x-component of relative inclination vector (degrees or radians) - diy: y-component of relative inclination vector (degrees or radians)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x_chief | ndarray or list | 6D ECI state vector of the chief satellite [x, y, z, vx, vy, vz] (m, m/s), shape (6,), or a batch of vectors with the 6 components along | required |
x_deputy | ndarray or list | 6D ECI state vector of the deputy satellite [x, y, z, vx, vy, vz] (m, m/s), shape (6,), or a batch of vectors with the 6 components along | required |
angle_format | AngleFormat | Format of angular elements in output (DEGREES or RADIANS) | required |
axis | int | The axis along which the 6 components of a single vector lie; the remaining axes enumerate the batch. For a batch of shape (n, 6) the components lie along the last axis, so the default | -1 |
Returns:
| Type | Description |
|---|---|
ndarray | numpy.ndarray: Relative orbital elements [da, dλ, dex, dey, dix, diy] shape (6,), or the layout of the batched argument for batched input. |
Example
state_roe_to_eci builtin ¶
state_roe_to_eci(x_chief: Union[ndarray, Sequence], roe: Union[ndarray, Sequence], angle_format: AngleFormat, axis: int = -1) -> ndarray
Converts chief satellite ECI state and quasi-nonsingular Relative Orbital Elements (ROE) to deputy satellite ECI state.
This function converts the chief ECI state to Keplerian orbital elements, applies the ROE to obtain deputy orbital elements, then converts back to ECI state.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x_chief | ndarray or list | 6D ECI state vector of the chief satellite [x, y, z, vx, vy, vz] (m, m/s), shape (6,), or a batch of vectors with the 6 components along | required |
roe | ndarray or list | Relative orbital elements [da, dλ, dex, dey, dix, diy] shape (6,), or a batch of vectors with the 6 components along | required |
angle_format | AngleFormat | Format of angular elements in input ROE (DEGREES or RADIANS) | required |
axis | int | The axis along which the 6 components of a single vector lie; the remaining axes enumerate the batch. For a batch of shape (n, 6) the components lie along the last axis, so the default | -1 |
Returns:
| Type | Description |
|---|---|
ndarray | numpy.ndarray: 6D ECI state vector of the deputy satellite [x, y, z, vx, vy, vz] (m, m/s), shape (6,), or the layout of the batched argument for batched input. |