
浏览器原型
200 HzGyroscope / LinearAccelerationSensor 请求频率
1 s静止偏置校准时间
12.5 Hz服务器监视快照上传频率
浏览器版本优先使用 Generic Sensor API;不可用时回退到 DeviceMotion 与 DeviceOrientation。传感器计算在手机端完成,服务器主要接收监视快照。
处理流程
Gyroscope + LinearAccelerationSensor
↓
Static bias calibration
↓
Grip orientation calibration
↓
Device → world coordinate transform
↓
Filtering / deadzone
↓
Short-window velocity & position integration
↓
Stationary detection
↓
ZUPT velocity reset
↓
3D monitor
位移估计
已使用的处理
- 加速度和陀螺仪静止偏置估计。
- 软死区和低通滤波。
- 运动窗口与静止检测。
- 短时速度积分与位置积分。
- 检测静止后执行 ZUPT,将速度归零。
- 轴向位移范围限制,控制长时间积分漂移。
当前限制
- 姿态变化可以较稳定地映射到剑体旋转。
- 平移位置需要两次积分,对传感器偏置和时间误差非常敏感。
- 快速前刺、抽回等短时动作容易出现位置幅度不稳定。
- 浏览器传感器接口的采样与时间戳能力有限。
开发阶段
网页传感器采集
先确认手机能否稳定提供高速陀螺仪与线性加速度数据。
握持姿态校准
以当前持剑姿势建立相对坐标,使不同握持方向能落到统一剑体坐标。
3D 监视
建立桌面监视页,显示剑体方向、位置、轨迹、速度和加速度。
短时积分与 ZUPT
加入静止判断和速度归零,限制单次动作结束后的累计漂移。
Android 原生分支
建立 SensorManager 原生测试项目,用于继续测试更直接的传感器采样路径。