Alert icon
We're changing our privacy policy. This stuff matters.  Learn more  Dismiss

Comparison of Methods for IMU Orientation Estimation (Part.1)

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
871 views
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on Mar 31, 2011

*UPDATE* You can download the VS2008 solution now.

This demo compares different methods for 6 DOF IMU orientation estimation in real-time. The orientation is calculated with 3 methods and shown simultaneously on the screen (from left to right):
1. Simple Simpson integration with hard thresholding + weighted gravity update
2. Gradient descent
3. Mayhony's DCM

2 & 3 are based on Madgwick's implementation with minor modifications. Source code and documentation available here: http://code.google.com/p/imumargalgorithm30042010sohm/
My implementation is here: http://dl.dropbox.com/u/14624144/OriMote.h
http://dl.dropbox.com/u/14624144/OriMote.cpp
http://dl.dropbox.com/u/14624144/OriDemo.rar

The yaw cannot be calibrated and the orientation eventually drifts away. I'm not sure if my implementation of Mayhony's DCM is correct, but its compensation term makes the drifting in yaw even worse. I plan to use Wiimote as an orientation tracker for short-term and highly dynamic motions. In such case, I think Madgwick's gradient descent approach works best.

NOTE:
6 DOF IMU: the new Wiimote with Motion Plus inside.
Ogre + WiiYourself!
The LED mounted at the head of Wiimote is for the purpose of position tracking and is not used in this demo.

Category:

Science & Technology

Tags:

License:

Standard YouTube License

  • likes, 0 dislikes

Link to this comment:

Share to:

Uploader Comments (mingyu623)

  • Well done! But without a magnometer will be very hard to keep the drift at bay. You could try Move. I´m in a simillar search, but want to add real 6DOF, you see, orientation is only 3DOF, to achieve 6 you´ll need to input position, or called atitude, or tranlsation, all 3 mean the same: position in 3D space.

    Check out FreeIMU project, just google it.

    About position using the led, you´ll stumble at the same wall as me: deadreckoning: When the controller is behind the player.

  • @fernandohildebrand I agree with you about the need of a magnetometer. Maybe i'll use PS3 Move in the future. For the position tracking, I use another device that tracks infrared dots (not shown in this video). We try to alleviate the deadreckon problem with multi-cameras though.

  • nice work there!! really nice! is there anyway I could get the source code including the ogre implementation?

  • @PizzaKiller85 I update the code for the orientation estimation. It is exactly the same as what I'm using now. As for the ogre implementation, try "Advanced Ogre Framework, which I believe is a good start point.

see all

All Comments (5)

Sign In or Sign Up now to post a comment!
  • @mingyu623 To track the IR dots u can use the wiimote, it has a camera that´s able to track up to four points. U can even use 4 wiimotes, since the angle of the camera is not wide. Problem of wiimote is this situation is that it only gives you x,y positions of the dots, to get distance you will need openCV and a bigger object to be tracked.

    Since my search is for a open game plataform, using more than one camera is not viable, some rooms are not large enough.

Loading...

Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more