No announcement yet.

Re: Estimation of angular velocity/acceleration from 3x3 matrices

This topic is closed.
  • Filter
  • Time
  • Show
Clear All
new posts

  • Re: Estimation of angular velocity/acceleration from 3x3 matrices

    My comments:

    > 1. First calculate time series of cardan angles with an
    > arbitray rotation order. [...]. One
    > disadvantage of this method can be gimbal lock.

    Young-Hoo Kwon already cited his page which gives the equations to
    obtain the angular velocity vector from cardan angle derivatives. Near
    gimbal lock, these derivatives will be very noisy. I suspect (without
    proof) that this noise will disappear again after going through the
    angular velocity equations, but still... You have to set a threshold to
    define when you are so close to gimbal lock to treat this as missing
    data etc.

    This method is actually what I generally use in a linked multibody
    model, you differentiate the generalized coordinates and use forward
    kinematics equations to get the angular velocities of the body segments.

    When using this method, it is best to define kinematic variables
    (generalized coordinates) in a way that gimbal lock is avoided in your
    particular application.

    For any differentiation, I would not recommend polynomial fitting but
    use a proper low pass filter such as Butterworth digital filter, or
    splines as Paolo de Leva suggested.

    > 2. Use the formula [~omega]=[M'(t)][M(t)]^-1 to calculate the
    > Tensor which includes the components of the angular velocity

    In my experience, this works well (Bellchamber & van den Bogert, J
    Biomech 2000). Still it seems less elegant to differentiate 9 signals
    when there are only 3 rotational degrees of freedom.

    > 3. You can simply estimate the velocity by calculating dot
    > products of the columns between two sequent matrices. The

    If that is indeed mathematically correct, it must be done after
    appropriate smoothing as in method 2. Then the results become
    independent of the frame rate and resolution.

    > 4. Because my rotations matrices are typically based on cross
    > products of vectors between markers I can analytical
    > calculate formulars of the angular velocity as function from
    > the derivations of the marker positions.

    Yes, intuitively it should be optimal to estimate angular velocity from
    marker velocities directly. In the past, I have suggested the following
    (van den Bogert, Exerc Sports Sci Rev 1994):

    (1) Obtain marker velocities from raw data via smoothing and
    (2) Rigid body model for marker velocity v_i as a function of segment
    velocity v and angular velocity omega:
    v_i = v + omega x (p_i - p)
    where p us the position of the segment origin and p_i is measured marker
    (3) With N markers, these are 3N linear equations with 6 unknowns: v and
    (4) Write the equations as A*x = b, where A is a 3N x 6 matrix and solve
    x = (v, omega) using linear least-squares (Matlab: x = A\b)

    I believe (without proof) that this method would give the least error in
    angular velocity. And there are no singularities.

    If you used your analytical expressions, you would be essentially using
    only 6 of the 9 equations (when you have three markers). It is better
    to use all information in the marker data to minimize the effect of
    non-rigidity of the marker set. Also the least-squares numerical method
    extends nicely to using more than 3 markers on a segment. These are the
    same reasons as for using least squares to estimate segment position p
    and rotation matrix R (e.g.

    I suspect that, in practice, there is little difference between the
    methods you listed, but it would be nice to have that confirmed.
    Especially in certain "pathological" situations (e.g. near gimbal lock,
    near-colinear marker placement, high noise, ...


    Ton van den Bogert
    Department of Biomedical Engineering
    Cleveland Clinic Foundation

    P Please consider the environment before printing this e-mail

    Cleveland Clinic is ranked one of the top hospitals
    in America by U.S. News & World Report (2007).
    Visit us online at for
    a complete listing of our services, staff and

    Confidentiality Note: This message is intended for use
    only by the individual or entity to which it is addressed
    and may contain information that is privileged,
    confidential, and exempt from disclosure under applicable
    law. If the reader of this message is not the intended
    recipient or the employee or agent responsible for
    delivering the message to the intended recipient, you are
    hereby notified that any dissemination, distribution or
    copying of this communication is strictly prohibited. If
    you have received this communication in error, please
    contact the sender immediately and destroy the material in
    its entirety, whether electronic or hard copy. Thank you.