I know this question is asked before, but the reason why was still not clear to me.

If you've a 6-DOF IMU, the gyroscope measures is degrees/s or radian/s.

Why do we want to convert the body rates to Euler rates. If you could measure the gyroscope angle by multiply it by dt. Than the starting point is the reference for the object. So this calculates the angle with respect to the body frame with a reference to the starting point. Why bother using the Euler rates?

I know Euler angles describe the orientation of an object with respect to a fixed coordinate system, the problems that Eulers angles has like gimbal lock and how to solve those with quaternions. But what are the advantages/ difference of using Euler angles and why instead of multiply the output of the gyroscope by elapsed time (dt).

Theoretically the drone would be able to fly in both cases.


1 Answer 1


You can read about how a MEMS gyroscope works here, but the key concept I'd like to point out is that a gyroscope measures angular rate.

It's not measuring an angle and dividing that by some sample time, it's actually measuring the angular speed.

You can try to get more information about the drone by using a gyroscope for each of the three axes of motion, which then gives you your Euler rates.

You can integrate those Euler rates to get Euler angles. It's not that people use Euler angles because they're a good representation for orientation, but because they're "easy" (at-a-glance).

  • 1
    $\begingroup$ Thank you for your explanation. It does measure angular rate, and if you would divide it and intergrate this value you would get the travelled angle if I am correct. It does only work for one axes as you mention. But the gyroscope delivers data for all three axes. So if I would divide it by sample time and intergrate them for each axes this would give me the angle based on starting point? ~ at least this is what I see alot of people do, example: youtube.com/watch?v=uTFBW-Mm4b0&t=1784s (around minute 7) $\endgroup$ Mar 16, 2022 at 19:14
  • $\begingroup$ @Xandervandenberg you multiply (not divide) the angular rate by the sample time to get the angular step, and then you add all of those steps together to get the angle estimate. angle = angle + angle_rate*dt There is no way to get starting angle from a gyroscope. Because of precision issues (numbers can only be represented so accurately) and because of sensor issues (drift, bias, etc.) your numerically integrated result will eventually fail to represent reality, even if you were able to provide a perfect starting angle. $\endgroup$
    – Chuck
    Mar 16, 2022 at 19:22
  • $\begingroup$ Ohhh my bad, I meant all the time multiply. I will edit this in the original question. So I would use Eulers angle because of the drift bias etc. This could be avoided by sensor fusion with the accelerometer? And the Euler angle has the same problem right? Why do alot of people use angle = angle + angle_rate*dt? And why does it work. $\endgroup$ Mar 16, 2022 at 20:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.