Gyroscope Measurement and Angular Rates

  1. Do gyroscopes give the angular rates about its local axes or about a frame that is fixed and initially coincides with its local frame? I mean: would this sensor give the rate of change of the Euler's angles or the angular velocity ω (about the inertial frame)?

    One more question: I know that Gyroscopes measure the rate of change of rotation (angular velocities), so I think that they actually don't give any information about the angle values and these angles can later be found by differentiating these rates. Is what I think true?

  2. jcsd
  3. D H

    Staff: Mentor

    A three-axis gyro gives angular velocity with respect to inertial but expressed in case frame coordinates.

    You can't integrate angular velocity, nor can you integrate Euler angle rates. Rotation in three dimensional space doesn't work that way. What you can do is use the angular velocity to find the derivative of the transformation matrix or quaternion and integrate this.

    Even this is tricky. Typical numerical integration techniques will yield something that isn't an orthonormal matrix or isn't a unit quaternion. A standard trick is to force the result to be an orthonormal matrix or to normalize the quaternion. A better approach is to use Lie group integration techniques, but that's pretty advanced stuff.
  4. What do you mean by case frame coordinates? Is it same as the global frame which initially coincide with the local frame?

    Well, what I understood from you is that we need to find the relationship between the angular velocities ωx, ωy and z and the rates of Euler's angles (which are not orthogonal). This is handled by finding the matrix mapping these rates. After doing so, we can integrate to find position or differentiate to find acceleration.

    My knowledge in quaternion actually is not that good.
  5. D H

    Staff: Mentor

    The case frame is the frame defined by the manufacturer of the gyro. It's some kind of gyro-fixed frame, specified by the manufacturer. If you mount the gyro in some goofy orientation, the gyro doesn't know that. You do. You need to transform case frame outputs of the gyro to the body frame of the object to which the gyro is attached. If the attachment isn't perfect (nothing is perfect), there are going to be misalignment errors between the case frame and what you think the case frame is. The gyro doesn't know these misalignment errors, and neither do you. You can deduce these misalignment errors, either by testing or if you have a smart enough Kalman filter.

    You can't integrate angular velocity. Well, you can, but the results of that integration are not physically meaningful. You similarly can't integrate Euler rates. Using angular velocity to deduce how orientation has changed is non-trivial. If you don't know the subject at all, you unknowingly are verging on asking me to write a book.
  6. Hi DH hope you don't mind me resurrecting this thread but something you posted caught my interest. I work in this field but like many of my colleagues my knowledge is practical rather than deeply rooted in the mathematical background. I know about the practical issues with using quaternion integration to track attitude changes of a rotating body. I circumvent these problems, where possible, by increasing the measurement/integration frequency. This is a practical solution in many cases, but you alluded to a better approach - Lie group integration techniques. Is this out of reach for a non-mathematician? I'll obviously google it, but do you have any favourite links to good material? TIA
  7. D H

    Staff: Mentor

    Here are a couple of a recently published review/survey style articles:

    H. Christiansen, H.Z. Munthe-Kaas, and B. Owren, Topics in structure-preserving discretization, Acta Numerica 20 (2011), 1-119
    [You can find the PDF on the internet. Search for the title at]

    E. Celledoni, H. Marthinsen, and B. Owren, An introduction to Lie group integrators -- basics, new developments and applications, J. Comput. Phys. 257 B (2014), 1040-1061
    arxiv preprint:

    Both give nice, but perhaps mathematically dense, overviews of the concept of Lie group integrators. There are three primary approaches, the Crouch-Grossman techniques, the Runge Kutta Munthe-Kaas techniques, and Celledoni's commutator-free techniques. Note that the papers cited include the developers of two of those three techniques. The cited papers discuss all three approaches.

    One thing neither discusses is how to adapt these concepts to unit quaternions for rotations in three dimensional space. Nobody apparently has discussed that. It's too specific a topic for general mathematical consumption. My technical monitor wants me to write a paper on what I've done, but aimed at a more utilitarian audience (e.g., physics-based simulations and graphics).
  8. D H

    Staff: Mentor

    Continued …

    At their heart, numerical solvers of an initial value problem are based on mean value theorem: ## x(t+\Delta t) = x(t) + \Delta t\, \dot x(t+\kappa\Delta t)##, where κ∈(0,1). Here ##\dot x(t+\kappa\Delta t)## is the derivative of x(t) at some point t+κΔt, which lies between t and t+Δt . There always exists such a κ and a ##\dot x(t+\kappa\Delta t)## per the mean value theorem. That leaves just one minor problem for numerical solves of an ODE: Find that value!

    That's all well and good when the problem space is Euclidean. There the mathematical operators +, -, *, and / work just as expected. That's not so good for a mathematical group where the only operator is *, and also / if the group has an inverse. There is no addition, no subtraction. How are you going to use ## x(t+\Delta t) = x(t) + \Delta t\, \dot x(t+\kappa\Delta t)## when addition isn't even a defined operation?

    For that matter, how do you get a derivative out of a group? After all, the canonical definition of the derivative involves subtraction, which is a form of addition. The answer is, you can't in general. You can for things called Lie groups. Here there's enough structure that the concept of a derivative can be defined. Every Lie group has an associated Lie algebra. Even though the group does not seem to have the mathematical structure needed to form a derivative, the connection between the Lie group and Lie algebra gives the tools to form the derivative. For example, the rotations in three dimensional space form a Lie group. Their Lie algebra? It's essentially (i.e., it's isomorphic to) angular velocity.

    So how to deal with ## x(t+\Delta t) = x(t) + \Delta t\, \dot x(t+\kappa\Delta t)## ? One way to do that is via a kludge. Rotations in N dimensional space can be represented by an orthogonal NxN matrix. An NxN matrix that is a function of time has a time derivative. Simply differentiate element by element. Now we can use the above to advance the matrix in time. There's a problem here: The result is an NxN matrix, but it is not an orthogonal matrix. This is a kludge. It ignores geometry and it ignores the fact that addition doesn't exist for the orthogonal matrices.

    The Lie group integration techniques do not use ## x(t+\Delta t) = x(t) + \Delta t\, \dot x(t+\kappa\Delta t)##. It is not a valid operation, so why use it? They instead use the connection between the Lie group and Lie algebra. This connection is a generalization of the exponential function, the exponential map. The basic idea is that it is easier to work in the Lie algebra space than in the Lie group space, using the exponential map in lieu of that (invalid) addition.
  9. Thank you DH, that's a very comprehensive answer that will take me some time to digest. I'll start tomorrow! Many thanks

Have something to add?

Draft saved Draft deleted