ECI-ROE¶
ECI to Quasi-Nonsingular Relative Orbital Elements (ROE) conversions.
Provides direct transformations between Earth-Centered Inertial (ECI) state vectors and Relative Orbital Elements (ROE), combining the ECI↔KOE and OE↔ROE transformations for convenience.
References
- Sullivan, J. "Nonlinear Angles-Only Orbit Estimation for Autonomous Distributed Space Systems", 2020.
state_eci_to_roe(x_chief, x_deputy, use_degrees=False)
¶
Compute Relative Orbital Elements (ROE) from chief and deputy ECI states.
Converts both ECI state vectors to Keplerian orbital elements, then computes the quasi-nonsingular Relative Orbital Elements between them.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x_chief
|
ArrayLike
|
6-element ECI state of the chief satellite
|
required |
x_deputy
|
ArrayLike
|
6-element ECI state of the deputy satellite
|
required |
use_degrees
|
bool
|
If |
False
|
Returns:
| Type | Description |
|---|---|
Array
|
Relative Orbital Elements |
Examples:
import jax.numpy as jnp
from astrojax.constants import R_EARTH
from astrojax.coordinates import state_koe_to_eci
from astrojax.relative_motion import state_eci_to_roe
oe_c = jnp.array([R_EARTH + 700e3, 0.001, 97.8, 15.0, 30.0, 45.0])
oe_d = jnp.array([R_EARTH + 701e3, 0.0015, 97.85, 15.05, 30.05, 45.05])
x_c = state_koe_to_eci(oe_c, use_degrees=True)
x_d = state_koe_to_eci(oe_d, use_degrees=True)
roe = state_eci_to_roe(x_c, x_d, use_degrees=True)
roe.shape
References
Sullivan, J. "Nonlinear Angles-Only Orbit Estimation for Autonomous Distributed Space Systems", 2020.
state_roe_to_eci(x_chief, roe, use_degrees=False)
¶
Compute deputy ECI state from chief ECI state and Relative Orbital Elements.
Converts the chief ECI state to Keplerian orbital elements, applies the ROE to obtain deputy orbital elements, then converts back to an ECI state vector.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x_chief
|
ArrayLike
|
6-element ECI state of the chief satellite
|
required |
roe
|
ArrayLike
|
Relative Orbital Elements |
required |
use_degrees
|
bool
|
If |
False
|
Returns:
| Type | Description |
|---|---|
Array
|
6-element ECI state of the deputy satellite
|
Examples:
import jax.numpy as jnp
from astrojax.constants import R_EARTH
from astrojax.coordinates import state_koe_to_eci
from astrojax.relative_motion import state_roe_to_eci
oe_c = jnp.array([R_EARTH + 700e3, 0.001, 97.8, 15.0, 30.0, 45.0])
x_c = state_koe_to_eci(oe_c, use_degrees=True)
roe = jnp.array([0.000142857, 0.05, 0.0005, -0.0003, 0.01, -0.02])
x_d = state_roe_to_eci(x_c, roe, use_degrees=True)
x_d.shape
References
Sullivan, J. "Nonlinear Angles-Only Orbit Estimation for Autonomous Distributed Space Systems", 2020.