0

使用:

Wiimote.WiimoteState.MotionPlusState.RawValues;

我可以从 WiiMotion plus 中检索陀螺仪的原始值,但是,这些旋转加速度值完全是任意的,对我来说几乎没有用处。

我相信:

Wiimote.WiimoteState.MotionPlusState.Values;

会给我 g's 中的数据,就像 Wiimote 库中 wiimote 中的加速度计数据一样。不幸的是,当我使用它时,我没有得到任何数据,x、y 和 z 都为零。

有人可以解释如何将原始值转换为有意义的 g,或者解释一下为什么我不能正常检索信息。

4

1 回答 1

0

如果您使用的是 WiimoteLib,那是因为它是 beta 版本;从 RawValues 到 Values 的转换仍然是存根方法。我使用了这种标准化技术: 1. 校准 Motionplus(即找到对应于零的原始值;我通过保持它静止一段时间来做到这一点) 2. 对于每个后续读取的原始值,我从它以获得“相对”的原始值。3. 然后,我使用http://wiibrew.org/wiki/Wiimote/Extension_Controllers缩放这个值(检查 yaw_fast、pitch_fast 等),其中数值是使用度量计算的(原始值 8192 对应于 595 度/s) 4. 我将所有这些值随时间相加(离散积分)以获得 wiimote wrt 初始方向的角度。

当我通过将 wiimote 在偏航方向旋转 90 度并返回来测试这个时,我确实得到了一个很好的相应图表。但是,我的值不是按比例的,我不知道如何在不知道最大值的情况下转换它(即360 度对应的值)也许我应该对此进行更多测试,

但如果有人有任何其他想法,我也在等待......

于 2010-12-05T09:33:51.227 回答