Pages: [1]   Go Down
Author Topic: Wii Motion Plus gyro drift  (Read 839 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
   I've been experimenting with Wii Motion Plus as an orientation controller, and so far, I understand this much.
   The motion plus add on can measure rate of change of angle in 3 dimensions (yaw, pitch, roll), however all three suffer from 'gyroscopic drift' where the integration error gradually adds up and causes inaccuracies. The solution to this is either a kalman filter or complementary filtering, where you combine the short term gyro information with long term accelerometer info. I understand how that works for pitch and roll, because the accelerometer can measure the angle against gravity. What I don't understand is how to fix the Yaw, because the accelerometer complementary filtering seems useless in this regard.
   In my experiments, I've hooked it up to a screen to I can move a cursor with the output, and I've been incrementing this offset by the difference between the current angular velocity and the average during calibration.
   So, I spend a few seconds with the remote flat on the table, and average out the value (on one remote I get about 7800, and on another I get 8400). Then, every frame I get the current value, and subtract the average from it, multiply it by a fudge factor (time period multiplied by a scaling factor to make it map to the screen reasonably).
   My problem is that I seem to get huge drift on the Yaw axis, a couple of seconds of movement results in at least 15 degrees of deviation, which seems rather extreme.
   What I found interesting was that the remote that averages 7800 drifts to the left, whereas the 8400 remote drifts to the right.
   I guess what I'm asking, is how do people deal with wii motion plus input on the Yaw axis properly, and is there any way of making it more reliable?

Thanks.
Logged

Massachusetts, USA
Offline Offline
Tesla Member
***
Karma: 208
Posts: 8849
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You could try adding a three-axis magnetometer (compass) so you can orient relative to the local magnetic field.
Logged

Send Bitcoin tips to: 1L3CTDoTgrXNA5WyF77uWqt4gUdye9mezN
Send Litecoin tips to : LVtpaq6JgJAZwvnVq3ftVeHafWkcpmuR1e

0
Offline Offline
Shannon Member
****
Karma: 206
Posts: 12177
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

If you make the assumption that the use of the Wii Motion stays facing the same way you could correct to 0 degrees yaw.
Logged

[ I won't respond to messages, use the forum please ]

Pages: [1]   Go Up
Jump to: