Units & Conventions
SRB uses SI units and a right-handed, Z-up coordinate system. Follow each API’s documented exceptions.
Unit System
APIs such as sunlight_rpy and solar angular diameters may declare degrees; follow each API’s documentation.
| Quantity | Unit | Symbol |
|---|---|---|
| Length | meter | m |
| Mass | kilogram | kg |
| Time | second | s |
| Angle | radian | rad |
| Force | newton | N |
| Torque | newton-meter | N·m |
| Gravity | meters per second squared | m/s² |
Coordinate Frame
SRB uses a right-handed coordinate system with Z-up convention:
- X — forward
- Y — left
- Z — up
- Gravity — applied in the negative Z direction
Quaternion Format
Quaternions use (x, y, z, w) in SRB and Isaac Lab. Convert at interfaces that use another order.
SRB asset-pose APIs and sensor mount offsets use this order. skrl AMP motion assets use (w, x, y, z); the adapter converts live orientations.
USD/OpenUSD APIs such as Gf.Quatf may use (w, x, y, z); SRB converts at that boundary.
Frame Suffix Convention
State variables use suffixes to indicate the reference frame:
| Suffix | Reference Frame | Example |
|---|---|---|
_w | World frame (absolute) | root_pos_w, body_quat_w |
_b | Body/base frame (relative) | ee_vel_b |
Domain-Specific Gravity
Each simulation domain defines its own gravitational acceleration:
| Domain | Gravity (m/s²) |
|---|---|
| Earth | 9.80665 |
| Mars | 3.72076 |
| Moon | 1.62496 |
| Asteroid | 0.14219 |
| Orbit | 0.0 |
Component Specs
Action groups, sensors, and observation managers declare metadata with
@spec from srb.core.spec. Descriptors are serialized contract metadata:
increment their schema version when term names, axes, normalization, scaling,
frame, or units change. Versioned action descriptors are checked against
runtime widths; observation shapes may be reconciled with a warning and sensor
widths are not validated. Version-0 reflection metadata makes no dimensional
claim. Observation terms that must not appear in deployed policies can be
marked privileged=True.