从RawValues转换为wiimotion plus陀螺仪的价值 - Wiimotelib 1.8 beta

时间:2010-06-28 12:14:15

标签: c# wii wiimote

使用:

Wiimote.WiimoteState.MotionPlusState.RawValues;

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

我相信:

Wiimote.WiimoteState.MotionPlusState.Values;

将以g为单位提供数据,就像Wiimote库中wiimote的加速度计数据一样。不幸的是,当我使用它时,我没有数据,x,y和z都是零。

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

1 个答案:

答案 0 :(得分:0)

如果您使用的是WiimoteLib,那是因为它是测试版;从RawValues到Values的转换仍然是存根方法。我使用了这种规范化技术:    1.校准Motionplus(即找到对应于零的原始值;我通过将其固定一段时间来完成此操作)    2.对于读取的每个后续原始值,我从中减去零值以获得“相对”原始值。    3.然后,我使用http://wiibrew.org/wiki/Wiimote/Extension_Controllers(检查yaw_fast,pitch_fast等)来缩放此值,其中使用度量计算数值(原始值8192对应于595度/秒)    4.我总结所有这些值随着时间的推移(离散积分)得到wiimote初始方向的角度。

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

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

相关问题