SDK Data Reference
Coordinate Transforms
Device-level coordinate transforms, published independently of the per-stream data flows.
| API | Returns | Description |
|---|---|---|
manager.tf_static() | FrameTransforms | Static coordinate transforms (sent at 1 Hz) |
manager.tf() | FrameTransforms | Dynamic coordinate transforms (data-driven) |
sub = manager.tf_static().subscribe()
transforms = await sub.recv_async()
for tf in transforms.transforms:
print(f"{tf.parent_frame_id} → {tf.child_frame_id}")For the coordinate transform type definitions, see SDK FrameTransform and FrameTransforms. For the coordinate-frame conventions and frame tree, see Coordinate Frames.
tf_static — Static Coordinate Transforms
Publishes fixed coordinate-frame relationships at 1 Hz. Subscribe through manager.tf_static().
{
"transforms": [
{
"timestamp_us": 1709876543210,
"parent_frame_id": "l_wrist",
"child_frame_id": "l_hand_emf_tx",
"translation": [0.01, 0.042, 0.005],
"rotation": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"w": 1.0
}
}
]
}tf — Dynamic Coordinate Transforms
Driven by the dorsum IMU orientation. Publishes the waist → {l/r}_wrist real-time transform at the IMU sampling rate. Subscribe through manager.tf().
{
"transforms": [
{
"timestamp_us": 1709876543210,
"parent_frame_id": "waist",
"child_frame_id": "l_wrist",
"translation": [0.0, -0.3, -0.5],
"rotation": {
"x": 0.0,
"y": 0.17,
"z": 0.0,
"w": 0.98
}
}
]
}