系统概览

WirelessIMU 是一套可穿戴多 IMU Body Tracker,将节点采集、人体解算和外部平台适配分离:

WirelessIMU 统一状态数据链路

这是技术数据流示意图,不代表实测时序。

只有中心动捕链路可以解析 IMU 数据包、执行人体校准或计算 claw。Web、ROS、Unity 和回放 只消费统一的 MocapState,不得各自复制一套解算器。

追踪范围

一次追踪使用 chest 参考节点,以及 upper_armforearmpalm 节点和可选的 finger 节点;它解算选定的 leftright 佩戴侧,从肩部到指尖。公开实现因此是多节点上肢追踪器, 并不宣称已经覆盖完整全身动捕。

人体坐标系

body_rh 是唯一的正式人体坐标系:

X:前
Y:左
Z:上

因为 X cross Y = Z,它是右手系。旧 chest_old 为 X 前、Y 右、Z 上,只能用于解释旧记录; 不能将旧方向、欧拉角或四元数直接混入新的 body_rh 会话。

动捕输出

字段

单位

含义

yaw

rad

肩到腕连线在水平面的投影相对 +X 前方的夹角。

rollpitch

rad

手掌右手系 ZYX 欧拉角。

distance

m

肩到腕连线的水平投影长度。

z

m

腕部相对肩部高度。

claw

0 到 1

0 闭合,1 张开。

有手指 IMU 时,手指与手掌的绝对 pitch 差 0 度映射为 claw=1,120 度映射为 claw=0; 存在实测闭合参考时优先使用实测值。没有手指 IMU 时,桌面可视化中按 1/2 以 0.2 步进 减小/增大手动 claw

验证状态

仓库已覆盖 Python 协议、时钟同步、共同时间轴、回放、WebSocket、ROS 载荷和坐标系契约测试。 硬件时钟同步、人体佩戴校准、ROS 2 运行时、Unity 运行时和当前绝对末端精度仍需要相应环境 与真机实验,详见评测说明