System Overview¶
WirelessIMU is a wearable multi-IMU Body Tracker. It keeps node acquisition, body solving, and external-platform integration separate:
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 |
|---|---|---|
|
rad |
Angle between the horizontal shoulder-to-wrist vector and +X forward. |
|
rad |
Palm attitude in right-handed ZYX convention. |
|
m |
Horizontal length of the shoulder-to-wrist vector. |
|
m |
Wrist height relative to the shoulder. |
|
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.