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

An efficient orientation filter for MARG sensor arrays (real-time demonstration)

Loading...

Sign in or sign up now!
Alert icon
Upgrade to the latest Flash Player for improved playback performance. Upgrade now or more info.
17,715
Google+
Loading...
Alert icon
Sign in or sign up now!
Alert icon

Uploaded by on Jan 20, 2010

University of Bristol, Mechanical Engineering Department, PhD year 1/3 (2009-10) - An efficient orientation filter for MARG (Magnetic, Angular Rate and Gravitational) sensor arrays

A real-time demonstration of an efficient orientation filter capable of providing an estimate of the sensor arrays orientation relative to the earth through the fusion of tri-axis gyroscope, tri-axis accelerometer and tri-axis magnetometer data. Unlike an IMU, the inclusion of the magnetometer mean that the filter is not subject to any accumulating errors. The filter also incorporates magnetic distortion compensation to overcome soft-iron disturbances and gyroscope bias drift compensation. The algorithm is an alternative to more computationally expensive Kalman based solutions that are commonly used in this application. The total computation requirement of this filter is 278 scalar arithmetic operations per sample.

Source code and documentation available here: http://code.google.com/p/imumargalgorithm30042010sohm/

Hardware used in video: Sparkfun 6DOF IMU Razor (ADXL335, LPR530 and LPY530) with gyroscope RC HP filters removed, Sparkfun HMC5843 breakout board (low ESR cap replacement), x-io Board with .NET interface library (http://www.x-io.co.uk).

  • likes, 0 dislikes

Link to this comment:

Share to:

Uploader Comments (SebMadgwickResearch)

  • @SebMadgwickResearch I have watched the video 1000 times, because I think its staggering that you can track positions, and orientations with these types of resolutions with such a small and compact device. Just think of the applications this could have! Amazing work man. Can this be done using the Euler angles representations or is quaternion only? Also the angle rates that the sensor measures, Is it based on fixed or current frame definitions? Thanks!

  • @GTXAbunada Euler angles and quaternions are different representations of the same thing, like miles and kilometres. However, Euler angles have a problem known as “gimbal lock”. Use of Euler angles should be avoided if possible. The gyroscope obviously measures angular rates in the senor frame but as the orientation is known, the rates can be calculated in the Earth frame, this is the basis of my "Rolling Ball Tracking" video.

  • @GTXAbunada Euler angles and quaternions are different representations of the same thing, like miles and kilometres. However, Euler angles have a problem known as “gimbal lock”. Use of Euler angles should be avoided if possible. The gyroscope obviously measures angular rates in the senor frame but as the orientation is known, the rates can be calculated in the Earth frame, this is the basis of my "Rolling Ball Tracking" video.

  • @SebMadgwickResearch Thanks for reply, appreciate it, but I did not quite get it. What I understand is that Euler angles and quaternions are different ways of describing the orientation of one (body) frame relative to another (fixed) frame. But aren't there 12 sets of Euler angles. Which one does the gyroscope use? aren't gyroscopes used to measure the rate of change of the Euler angles? Thanks a lot for your help!

  • @GTXAbunada Gyroscopes do not measure the rate of change of Euler angles, this is a fundamental misunderstanding. I suggest you find an introductory textbook or website and understand the basics. Craig's book “Introduction to robotics...” provides a good introduction.

see all

All Comments (61)

Sign In or Sign Up now to post a comment!
  • @SebMadgwickResearch I see, so the gyroscope measures angular velocities around each of the unit body frame vectors x, y and z. I was thinking in terms of the Euler angles since I am using the IMU to estimate them and their rates for implementing a UAV controller for my SDP, and the dynamic model derived were in terms of the 1-2-3 current frame Euler angles. Now that I know that I can easily relate the measurements to Euler Angle rates. THANKS a million for the explanation.

  • This looks good, why don't you sell the idea to sparkfun so that they can make it a product and sell it. This works much better than their crappy 9DOF.

  • @SebMadgwickResearch Thanks , i will check it later

  • Google "gimbal lock". The Wiki page has a 'solutions' section.

  • @SebMadgwickResearch can I solve this kind of problem ?

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