hsommer79

11-12-2007, 09:44 AM

> > -----Original Message-----

> > I am interested in how to calculate angular

> > velocity/acceleration from a time serie of 3x3 rotation

> > matrices which I get from marker positions measured by a

> > Vicon motion analysis system.

> > Oliver Rettig

> > Stiftung Orthopdische Universittsklinik Heidelberg

> > Ganglabor Schlierbacher Landstr. 200a

> > 69118 Heidelberg

> > Germany

comments provided below

> > 1. First calculate time series of cardan angles with an

> > arbitray rotation order. Then you can estimate the

> > derivations of these three time series of double values by a)

> > simply calculating differences or by b) low order polynom

> > derivations (a kind of filtering and differentiating in one

> > step, different orders and techniques are possible). One

> > disadvantage of this method can be gimbal lock.

Cardan/Bryant/Euler angles are non-linear functions of

rotation matrices. Taking derivatives of non-linear

functions particularly near ill-conditioned values (gimbal

lock) will magnify noise.

> > 2. Use the formula [~omega]=3D[M'(t)][M(t)]^-1 to calculate the

> > Tensor which includes the components of the angular velocity

> > by time derivatives of each component of the rotation Matrix

> > M(t) multiplicated with the inverse of the rotations matrix.

> > For the estimation of the time derivative of the component

> > the same methods from 1. a),b) can be used. In Comparison

> > with 1. gimbal lock should be no problem.

This provides a first-order finite-difference first-derivative

estimate of angular velocity with no inherent filtering.

> > 3. You can simply estimate the velocity by calculating dot

> > products of the columns between two sequent matrices. The

> > implementation of Vicon PiG seems to do this by using

> > matrices of frames with a time distance of 0.05s by 120Hz frame rate.

This is essentially the same as method 2 above.

> > 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.

Please see

Sommer, H. J. 1992.

Determination of First and Second Order Instant

Screw Parameters from Landmark Trajectories.

ASME J. Mechanical Design 114(2):274-282.

Similar methods have been discussed by Angeles

and Brodeur/Soutas-Little.

This method uses time derivatives of marker motion and

provides linear least-squares equations for angular velocity

and angular acceleration. Because you can use higher

order derivative estimates or splines applied directly to

raw data and not to ill-conditioned non-linear intermediate

functions, this method provides improved linear estimates.

We have recently extended the method to include

sensitivity equations, angular jerk and experimental

measurement of axode invariants.

Joe

************************************************** *****************

H.J. Sommer III, Ph.D., Professor of Mechanical Engineering

Department of Mechanical and Nuclear Engineering

The Pennsylvania State University

337 Leonhard Building, University Park, PA 16802

(814)863-8997 FAX (814)865-9693

hjs1@psu.edu http://www.mne.psu.edu/sommer

> > I am interested in how to calculate angular

> > velocity/acceleration from a time serie of 3x3 rotation

> > matrices which I get from marker positions measured by a

> > Vicon motion analysis system.

> > Oliver Rettig

> > Stiftung Orthopdische Universittsklinik Heidelberg

> > Ganglabor Schlierbacher Landstr. 200a

> > 69118 Heidelberg

> > Germany

comments provided below

> > 1. First calculate time series of cardan angles with an

> > arbitray rotation order. Then you can estimate the

> > derivations of these three time series of double values by a)

> > simply calculating differences or by b) low order polynom

> > derivations (a kind of filtering and differentiating in one

> > step, different orders and techniques are possible). One

> > disadvantage of this method can be gimbal lock.

Cardan/Bryant/Euler angles are non-linear functions of

rotation matrices. Taking derivatives of non-linear

functions particularly near ill-conditioned values (gimbal

lock) will magnify noise.

> > 2. Use the formula [~omega]=3D[M'(t)][M(t)]^-1 to calculate the

> > Tensor which includes the components of the angular velocity

> > by time derivatives of each component of the rotation Matrix

> > M(t) multiplicated with the inverse of the rotations matrix.

> > For the estimation of the time derivative of the component

> > the same methods from 1. a),b) can be used. In Comparison

> > with 1. gimbal lock should be no problem.

This provides a first-order finite-difference first-derivative

estimate of angular velocity with no inherent filtering.

> > 3. You can simply estimate the velocity by calculating dot

> > products of the columns between two sequent matrices. The

> > implementation of Vicon PiG seems to do this by using

> > matrices of frames with a time distance of 0.05s by 120Hz frame rate.

This is essentially the same as method 2 above.

> > 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.

Please see

Sommer, H. J. 1992.

Determination of First and Second Order Instant

Screw Parameters from Landmark Trajectories.

ASME J. Mechanical Design 114(2):274-282.

Similar methods have been discussed by Angeles

and Brodeur/Soutas-Little.

This method uses time derivatives of marker motion and

provides linear least-squares equations for angular velocity

and angular acceleration. Because you can use higher

order derivative estimates or splines applied directly to

raw data and not to ill-conditioned non-linear intermediate

functions, this method provides improved linear estimates.

We have recently extended the method to include

sensitivity equations, angular jerk and experimental

measurement of axode invariants.

Joe

************************************************** *****************

H.J. Sommer III, Ph.D., Professor of Mechanical Engineering

Department of Mechanical and Nuclear Engineering

The Pennsylvania State University

337 Leonhard Building, University Park, PA 16802

(814)863-8997 FAX (814)865-9693

hjs1@psu.edu http://www.mne.psu.edu/sommer