System Overview

WirelessIMU is a wearable multi-IMU Body Tracker. It keeps node acquisition, body solving, and external-platform integration separate:

WirelessIMU shared motion-state data path

This is a technical data-flow diagram, not a measured timing diagram.

Only the central motion path is allowed to parse IMU packets, calibrate body segments, or compute claw. Web, ROS, Unity, and replay consume the shared MocapState; they do not create competing solvers.

Tracker Scope

One tracking session uses a chest reference plus upper_arm, forearm, and palm nodes, with an optional finger node. It solves one selected wearing side (left or right) from shoulder to fingertip. The public implementation is therefore a multi-node upper-body arm tracker, not a claim of complete full-body coverage.

Body Coordinate Convention

body_rh is the only current public body frame:

X: forward
Y: left
Z: up

It is right handed because X cross Y = Z. The legacy chest_old frame used X forward, Y right, Z up and is retained only for interpreting historical records. Do not mix legacy directions, Euler angles, or quaternions into a body_rh session.

Motion Outputs

The current control target has these units and meanings:

Field

Unit

Meaning

yaw

rad

Angle between the horizontal shoulder-to-wrist vector and +X forward.

roll, pitch

rad

Palm attitude in right-handed ZYX convention.

distance

m

Horizontal length of the shoulder-to-wrist vector.

z

m

Wrist height relative to the shoulder.

claw

0 to 1

0 closed, 1 open.

With a finger IMU, an absolute palm/finger pitch delta of 0 degrees maps to claw=1; 120 degrees maps to claw=0 unless a measured closed reference is available. Without a finger IMU, the desktop visualizer uses 1 and 2 to decrease or increase manual claw in 0.2 steps.

Validation Status

Python protocol, time synchronization, timeline, replay, WebSocket, ROS payload, and coordinate-contract tests run in this repository. Hardware clock sync, wearable calibration, ROS 2 runtime, Unity runtime, and current absolute endpoint accuracy still require their documented target environments and physical experiments. See Evaluation.