Reducing wiimote pitch/roll variations

天涯浪子 提交于 2020-02-10 04:29:27

问题


I want to use the wiimote to control a cursor WITHOUT the infrared sensor bar. I'm using the pitch and roll values for this. The problem is that when the pitch is close to 0 degrees, the roll is very unstable, and when the pitch is close to 90 degrees, it is itself very unstable, but the roll is fine. Im polling the wiimote very frequently, so im averaging the last 20 values for both pitch and roll, and I can get the cursor to go where I want. The only problem is that there is still alot of uncontrolable shaking. Any ideas on how I can reduce it? (Or even get a more precise position without the IR sensorbar?)

Thanks!

Dave


回答1:


This is a common problem with pitch and roll. You can reduce this annoying effect but you cannot get rid of it as long as you are using pitch and roll (Euler angles). Look at 38:25

http://www.youtube.com/watch?v=C7JQ7Rpwn2k

I use rotation matrices instead of Euler angles in my motion sensing application. For an introduction to rotation matrices I recommend:

Direction Cosine Matrix IMU: Theory

Quaternions are also very popular and said to be the most stable.




回答2:


A simple (some times simple is the best) solution would be average out your readings.

Buffer the last, say five readings, and then take the average of those as your value. Their will be a slight delay between being flat and being quickly rotated, but for a cursor will result in a slight, sort of friction almost, it will sort of resist sudden changes.



来源:https://stackoverflow.com/questions/5010978/reducing-wiimote-pitch-roll-variations

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!