Uploaded by SebMadgwickResearch 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).
Category:
Tags:
License:
Standard YouTube License
-
33 likes, 0 dislikes
Link to this comment:
Uploader Comments (SebMadgwickResearch)
Video Responses
All Comments (61)
-
@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.
GTXAbunada 2 weeks ago
-
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.
syalcin123 2 months ago
-
@SebMadgwickResearch Thanks , i will check it later
givechance87 8 months ago
-
Google "gimbal lock". The Wiki page has a 'solutions' section.
SebMadgwickResearch 8 months ago
-
@SebMadgwickResearch can I solve this kind of problem ?
givechance87 8 months ago
3:28
3D Tracking with IMUby SebMadgwickResearch7,207 views
1:33
Open Source IMU and AHRS Algorithm with x-IMUby SebMadgwickResearch4,585 views
0:57
An efficient orientation filter for IMUs (real-time demonstration)by SebMadgwickResearch12,120 views
9:29
Tutorial: Kalman Filter with MATLAB example part1by TheScienceguy300021,100 views
0:56
Accelerometer with Kalman filter and PID controllerby reivilo1653,605 views
0:50
Aerial camera mountby viktor97633,734 views
0:46
Attitude estimation with a 6 DOF Inertial Measurement Unit and a Kalman Filterby djzzRobotic2,703 views
1:55
IMU camera control / stabilisationby SebMadgwickResearch39,057 views
35 videos

Quadcopters UAVs
3:29
Parrot AR Drone and Gyro Flyer - RC Helicopters Raceby stuffmagazine957,879 views
0:44
ITDB02 2.4" 8bits BUS with ILI9325 controller for Pinguino32Xby anunakin5,258 views
0:34
Sparkfun IMU Razor 9DOF AHRS codeby jjulio1234549,719 views
2:43
Attitude estimation (Tilt Sensor) w/ Kalman Filter (Roll Only) - Arduino + Processingby Ray29erau5,480 views
3:40
IMU tag v1.0 - Bluetooth / SD-card data loggerby SebMadgwickResearch5,023 views
5:36
9DOF/DOM MARG IMU orientation filter with Arduino and ADXL345, ITG3200, HMC5843by fax83,955 views
2:03
Introducing the 3-Axis Compass ICby ibizradio3,969 views
7:39
The Vision Gyroscopeby RuffNikz8,704 views
2:28
Magnet Gunby gilbondfac8,331,969 views
0:51
Razor 6 DOF board from SparkFun hooked up to an Arduinoby moverstreet1,870 views
0:57
Arduino + ADXL 335 Controlling 3 Servos.by mrwar0072,889 views
0:24
kalmen filter demo in actionby dentompie36,676 views
- Loading more suggestions...
@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 2 weeks ago
@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 2 weeks ago
@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 2 weeks ago
@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 2 weeks ago
@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.
SebMadgwickResearch 2 weeks ago