PDA

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



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