使用:
Wiimote.WiimoteState.MotionPlusState.RawValues;
我可以从WiiMotion plus中检索陀螺仪的原始值,但是,这些旋转加速度值完全是任意的,对我来说没什么用处。
我相信:
Wiimote.WiimoteState.MotionPlusState.Values;
将以g为单位提供数据,就像Wiimote库中wiimote的加速度计数据一样。不幸的是,当我使用它时,我没有数据,x,y和z都是零。
有人可以解释如何将原始值转换为有意义的g或者解释为什么我不能正常地检索信息。
答案 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度对应的值)也许我应该对它进行更多测试,
但如果有人有任何其他想法,我也在等待......