Frame Graph¶
ReferenceFrame, the unified frame identity spanning celestial, orbit-relative, and body frames, and BodyFrame, the object-local body/sensor/actuator frame kind it wraps.
Note
For conceptual explanations and examples, see Frame Graph in the Learn section.
ReferenceFrame¶
ReferenceFrame ¶
Unified frame identity spanning celestial, orbit-relative, and body frames.
Covers three kinds of frame: a CelestialFrame (see ReferenceFrame.celestial to wrap one and the celestial_frame attribute to read one back), a local orbital frame of a specific object (RTN, LVLH, ...), and an object-local body/sensor frame (SC_BODY, CSS, ...). Orbit-relative and body frames carry an optional bound object: a frame constructed through one of the family staticmethods below (ReferenceFrame.RTN("SC")) is always bound; ReferenceFrame.body with object=None and ReferenceFrame.orbit_relative with object=None construct an unbound label.
Example
Initialize instance.
celestial_frame property ¶
celestial_frame: Optional[CelestialFrame]
The wrapped CelestialFrame when this is a celestial frame.
This is the Python spelling of matching on the Celestial arm in Rust, and is how a caller reaches CelestialFrame.axes and CelestialFrame.center from a frame handed back by a trajectory or a message.
Returns:
| Type | Description |
|---|---|
Optional[CelestialFrame] | Optional[CelestialFrame]: The celestial frame, or |
ACC staticmethod ¶
ACC(object: str, designator: str) -> ReferenceFrame
Bound accelerometer frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Sensor instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
ACTUATOR staticmethod ¶
ACTUATOR(object: str, designator: str) -> ReferenceFrame
Bound actuator frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Actuator instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
AST staticmethod ¶
AST(object: str, designator: str) -> ReferenceFrame
Bound autonomous star tracker frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Sensor instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
CSS staticmethod ¶
CSS(object: str, designator: str) -> ReferenceFrame
Bound coarse sun sensor frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Sensor instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
DSS staticmethod ¶
DSS(object: str, designator: str) -> ReferenceFrame
Bound digital sun sensor frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Sensor instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
EQW staticmethod ¶
EQW(object: str) -> ReferenceFrame
Bound Equinoctial orbit-relative frame (inertial-snapshot variant; EQW is SANA-registered only as inertial).
Among the orbit-relative kinds only RTN has an axes derivation today, so this frame is constructible but every transform through it raises until issue #452 adds the remaining derivations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
ESA staticmethod ¶
ESA(object: str, designator: str) -> ReferenceFrame
Bound Earth sensor assembly frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Sensor instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
GYRO_FRAME staticmethod ¶
GYRO_FRAME(object: str, designator: str) -> ReferenceFrame
Bound gyroscope frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Sensor instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
IMU_FRAME staticmethod ¶
IMU_FRAME(object: str, designator: str) -> ReferenceFrame
Bound inertial measurement unit frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Sensor instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
INSTRUMENT staticmethod ¶
INSTRUMENT(object: str, designator: str) -> ReferenceFrame
Bound instrument frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Instrument instance designator (e.g. "A") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
LVLH staticmethod ¶
LVLH(object: str) -> ReferenceFrame
Bound Local-Vertical Local-Horizontal orbit-relative frame (rotating variant).
Among the orbit-relative kinds only RTN has an axes derivation today, so this frame is constructible but every transform through it raises until issue #452 adds the remaining derivations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
MTA staticmethod ¶
MTA(object: str, designator: str) -> ReferenceFrame
Bound magnetic torque assembly frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Actuator instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
NSW staticmethod ¶
NSW(object: str) -> ReferenceFrame
Bound Nadir/Sun/Normal orbit-relative frame (rotating variant).
Among the orbit-relative kinds only RTN has an axes derivation today, so this frame is constructible but every transform through it raises until issue #452 adds the remaining derivations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
NTW staticmethod ¶
NTW(object: str) -> ReferenceFrame
Bound Normal/Tangential/cross-track orbit-relative frame (rotating variant).
Among the orbit-relative kinds only RTN has an axes derivation today, so this frame is constructible but every transform through it raises until issue #452 adds the remaining derivations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
PQW staticmethod ¶
PQW(object: str) -> ReferenceFrame
Bound Perifocal orbit-relative frame (inertial-snapshot variant; PQW is SANA-registered only as inertial).
Among the orbit-relative kinds only RTN has an axes derivation today, so this frame is constructible but every transform through it raises until issue #452 adds the remaining derivations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
RTN staticmethod ¶
RTN(object: str) -> ReferenceFrame
Bound Radial/Transverse/Normal orbit-relative frame (rotating variant). SANA: RSW.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
RW staticmethod ¶
RW(object: str, designator: str) -> ReferenceFrame
Bound reaction wheel frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Actuator instance designator (e.g. "4") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
SA staticmethod ¶
SA(object: str, designator: str) -> ReferenceFrame
Bound solar array frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Array instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
SC_BODY staticmethod ¶
SC_BODY(object: str) -> ReferenceFrame
Bound spacecraft body frame (no instance designator).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
SENSOR staticmethod ¶
SENSOR(object: str, designator: str) -> ReferenceFrame
Bound generic sensor frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Sensor instance designator (e.g. "10") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
SEZ staticmethod ¶
SEZ(object: str) -> ReferenceFrame
Bound topocentric South/East/Zenith orbit-relative frame (rotating variant).
Among the orbit-relative kinds only RTN has an axes derivation today, so this frame is constructible but every transform through it raises until issue #452 adds the remaining derivations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
STARTRACKER staticmethod ¶
STARTRACKER(object: str, designator: str) -> ReferenceFrame
Bound star tracker frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Sensor instance designator (e.g. "2") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
TAM staticmethod ¶
TAM(object: str, designator: str) -> ReferenceFrame
Bound three-axis magnetometer frame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
designator | str | Sensor instance designator (e.g. "1") | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
TNW staticmethod ¶
TNW(object: str) -> ReferenceFrame
Bound Tangential/Normal/cross-track orbit-relative frame (rotating variant).
Among the orbit-relative kinds only RTN has an axes derivation today, so this frame is constructible but every transform through it raises until issue #452 adds the remaining derivations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
VNC staticmethod ¶
VNC(object: str) -> ReferenceFrame
Bound Velocity/Normal/Co-normal orbit-relative frame (rotating variant).
Among the orbit-relative kinds only RTN has an axes derivation today, so this frame is constructible but every transform through it raises until issue #452 adds the remaining derivations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The bound |
body staticmethod ¶
body(object: str, body_frame: BodyFrame) -> ReferenceFrame
Constructs a body frame, general form. Covers designator-less and non-standard BodyFrame cases beyond the family-specific staticmethods (e.g. ReferenceFrame.CSS, ReferenceFrame.RW).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
object | str | The object the frame is defined relative to. | required |
body_frame | BodyFrame | The body frame kind and optional instance designator | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The body frame, bound to |
celestial staticmethod ¶
celestial(frame: CelestialFrame) -> ReferenceFrame
Wraps a CelestialFrame as a ReferenceFrame. Mirrors Rust's From<CelestialFrame> for ReferenceFrame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
frame | CelestialFrame | The celestial frame to wrap | required |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The wrapped celestial frame |
is_bound method descriptor ¶
is_bound() -> bool
Whether the frame is evaluable: a celestial frame, or an orbit-relative/body frame with a bound object.
Returns:
| Name | Type | Description |
|---|---|---|
bool | bool | True if the frame is bound (celestial frames are always bound) |
object method descriptor ¶
orbit_relative staticmethod ¶
orbit_relative(kind: OrbitRelativeFrameKind, variant: OrbitRelativeFrameVariant, object: str = None) -> ReferenceFrame
Constructs an orbit-relative frame, validating the kind/variant combination. General form of the family staticmethods (ReferenceFrame.RTN, ...), for callers that hold a runtime kind/variant pair and an optional, not-yet-bound object.
Among the orbit-relative kinds only RTN has an axes derivation today; the others construct successfully but every transform through them raises until issue #452 adds the remaining derivations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
kind | OrbitRelativeFrameKind | Frame construction (axes definition) | required |
variant | OrbitRelativeFrameVariant | Rotating (true local orbital frame) or inertial (quasi-inertial snapshot) | required |
object | str | The bound object, or | None |
Returns:
| Name | Type | Description |
|---|---|---|
ReferenceFrame | ReferenceFrame | The orbit-relative frame |
Raises:
| Type | Description |
|---|---|
ValueError | If |
BodyFrame¶
BodyFrame ¶
An object-local spacecraft body frame (spacecraft body, sensor, or actuator), with an optional instance designator (e.g. CSS("1")).
The families are the values of the SANA spacecraft body reference frame registry: https://sanaregistry.org/r/spacecraft_body_reference_frames/
Bind to an object with ReferenceFrame.body(object, body_frame).
Example
Initialize instance.
ACC staticmethod ¶
ACTUATOR staticmethod ¶
AST staticmethod ¶
CSS staticmethod ¶
DSS staticmethod ¶
ESA staticmethod ¶
GYRO_FRAME staticmethod ¶
IMU_FRAME staticmethod ¶
INSTRUMENT staticmethod ¶
MTA staticmethod ¶
RW staticmethod ¶
SA staticmethod ¶
SC_BODY staticmethod ¶
SENSOR staticmethod ¶
STARTRACKER staticmethod ¶
See Also¶
- Frame Graph (Learn) - Conceptual explanation and worked examples
- Reference Frame Router -
CelestialFrameand the frame-to-frame router functions - Reference Frames Module - Complete API reference for frames module