dvrongistinos52

11-12-2007, 01:39 PM

Hi,

The three most direct methods are --- as in Wittenburg (1977)

------------------------------------------------------------------------------------------------------------------

(1) As you and others mentioned either use tensors (solved here)

If world base e(1) (lab coordinates) and a rotating base e(2)

attached to segment

r is attached to e(2) measured as r(2) -- most times the segment

rdot = is the first derivative of r

A12dot is the first derivative of A12

A12 is the transformation matrix that you multiply r(2) to transform

as r(1) in Lab coordinates

OMEGA=is the skew symmetric matrix

r(1)=A12 * r(2) then

rdot(1)= A12dot*r(2) or

rdot(1)=A12*(dr/dt)=A12 * (w x r(2)) = A12 * OMEGA(2) * r(2)

A12dot*r(2)=A12*OMEGA(2)*r(2) => A12dot=A12 * OMEGA(2) => OMEGA(2)=A21*A12dot

So if you multiply

thansformation matrix A21 (transformation matrix to convert a vector

from e(1) to e(2))

with the dotA12 (first derivative of transformation matrix to convert

a vector from e(1) to e(2)

your matrix is then

0 -w3 +w2

+w3 0 -w1 = A21*A12dot

-w2 w1 0

No need for specific angles -- Cardan etc

----------------------------------------------------------------------------------------------

(2) If you do not need to calculate any other angular kinematics

using three markers (or the three less noisy markers and after

smoothing with your preferred method)

r1 r2 r3 markers in 3D

(r1 r2 and r3 should be measured once in static condition otherwise

the r errors will give wrong omegas)

u1, u2, u3 the linear velocities of the three markers in 3D

x is cross product

is dot product

w = 2*(u1xu2+u2xu3+u3xu1)/(u1.(r2-r3)+u2.(r3-r1)+u3.(r1-r2))

No need for any angular quantities -- even better

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

(3) If quaternion Q=[q0,q1,q2,q3] represents the transformation

matrix equivalent

q0 the real part or magnitude (or in practice the angle you are rotating)

and (q1,q2,q3) the imaginary part (or in practice the axis around

which you are rotating)

then your angular velocities are (q dot is the first derivative of

each parameter in terms of time)

|0| |qo q1 q2 q3 | | qo dot|

|w1| | -q1 qo q2 q3 | | q1 dot|

| w2| = 2 | -q2 -q3 qo q1 | | q2 dot|

|w3| | -q3 q2 -q1 -qo| | q3 dot|

with best regards

-----------------------------------------------------------------------------

Konstantinos "Dino" Vrongistinos, Ph.D.

Associate Professor

Redwood Hall 250, Mail Box 8287

Department of Kinesiology,

Biomechanics Laboratory

California State University, Northridge

18111 Nordhoff St

Northridge, California 91330-8287

USA

818-677-7567 (Office)

818-677-7517 (Biomechanics Laboratory)

818-677-3205 (Kinesiology Office)

818-677-3207 (Facsimile)

www.csun.edu/~kv61497

email: kv61497@csun.edu 1-509-267-4528 (e-fax)

-----------------------------------------------------------------------------

The three most direct methods are --- as in Wittenburg (1977)

------------------------------------------------------------------------------------------------------------------

(1) As you and others mentioned either use tensors (solved here)

If world base e(1) (lab coordinates) and a rotating base e(2)

attached to segment

r is attached to e(2) measured as r(2) -- most times the segment

rdot = is the first derivative of r

A12dot is the first derivative of A12

A12 is the transformation matrix that you multiply r(2) to transform

as r(1) in Lab coordinates

OMEGA=is the skew symmetric matrix

r(1)=A12 * r(2) then

rdot(1)= A12dot*r(2) or

rdot(1)=A12*(dr/dt)=A12 * (w x r(2)) = A12 * OMEGA(2) * r(2)

A12dot*r(2)=A12*OMEGA(2)*r(2) => A12dot=A12 * OMEGA(2) => OMEGA(2)=A21*A12dot

So if you multiply

thansformation matrix A21 (transformation matrix to convert a vector

from e(1) to e(2))

with the dotA12 (first derivative of transformation matrix to convert

a vector from e(1) to e(2)

your matrix is then

0 -w3 +w2

+w3 0 -w1 = A21*A12dot

-w2 w1 0

No need for specific angles -- Cardan etc

----------------------------------------------------------------------------------------------

(2) If you do not need to calculate any other angular kinematics

using three markers (or the three less noisy markers and after

smoothing with your preferred method)

r1 r2 r3 markers in 3D

(r1 r2 and r3 should be measured once in static condition otherwise

the r errors will give wrong omegas)

u1, u2, u3 the linear velocities of the three markers in 3D

x is cross product

is dot product

w = 2*(u1xu2+u2xu3+u3xu1)/(u1.(r2-r3)+u2.(r3-r1)+u3.(r1-r2))

No need for any angular quantities -- even better

---------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------

(3) If quaternion Q=[q0,q1,q2,q3] represents the transformation

matrix equivalent

q0 the real part or magnitude (or in practice the angle you are rotating)

and (q1,q2,q3) the imaginary part (or in practice the axis around

which you are rotating)

then your angular velocities are (q dot is the first derivative of

each parameter in terms of time)

|0| |qo q1 q2 q3 | | qo dot|

|w1| | -q1 qo q2 q3 | | q1 dot|

| w2| = 2 | -q2 -q3 qo q1 | | q2 dot|

|w3| | -q3 q2 -q1 -qo| | q3 dot|

with best regards

-----------------------------------------------------------------------------

Konstantinos "Dino" Vrongistinos, Ph.D.

Associate Professor

Redwood Hall 250, Mail Box 8287

Department of Kinesiology,

Biomechanics Laboratory

California State University, Northridge

18111 Nordhoff St

Northridge, California 91330-8287

USA

818-677-7567 (Office)

818-677-7517 (Biomechanics Laboratory)

818-677-3205 (Kinesiology Office)

818-677-3207 (Facsimile)

www.csun.edu/~kv61497

email: kv61497@csun.edu 1-509-267-4528 (e-fax)

-----------------------------------------------------------------------------