PDA

View Full Version : Angular velocity vector

kwon3d
02-04-2004, 02:37 AM
Dear Ton and all,

I am sending this reply to the List since I thought some members may

>We were decomposing the angular velocity vector w along the JCS axes,
so:
w = wi*i + wj*j + wk*k
And then we simply assumed that wi would be the time derivative of the
first Cardanic angle. Now I'm not sure if that is the case.

My answer is: the above equation is correct. Let's use the trunk-UA
example again that I used in the previous posting. There are two
rerefence frames defined: trunk and UA. Both of them have the shoulder
joint as the origin for simplicity. Say the trunk frame is denoted as
the XYZ system and the UA frame is denoted as X'"Y'"Z'" system. We can
also define two intermediate frames: X'Y'Z' and X"Y"Z". If we use the
XYZ-type rotation sequence, the first rotation will rotate the XYZ
system to the X'Y'Z' system (angle A). Since the first rotation is about
the X axis, the X' axis coincides with the X axis: I = I'. The second
rotation (angle B) is about the Y' axis from the X'Y'Z' system to the
X"Y"Z" system (J' = J"). The third rotation (angle C) is about the Z"
axis from the X"Y"Z" system to the X'"Y'"Z'" system (K" = K'"). We can
compute three Eulerian angles (A, B, and C) to show the relative
orientation of the UA to the trunk.

The relative angular velocity of the UA to the trunk (W) can be written
as

W = w1 I + w2 J' + w3 K" [1]

where w1, w2, w3 = first time-derivatives of the three Cardanic angles,
I = unit vector of the X (or X') axis, J' = unit vector of the Y' (or
Y") axis, and K" = unit vector of the Z" (or C) axis. Eq 1 is a standard
procedure and you will be able to find this approach in any mechanics or
classical dynamics textbook. It was also used in several airborne
movement simulation studies (Ramey & Yang, 1981; Yeadon et al., 1990;
Kwon, 2001). Conceptually speaking, an angular velocity can be magnitude
* direction (unit) vector. The direction vector shows the orientation of
the axis of rotation while the magnitude shows how fas it rotates. The
three angular velocity vectors shown in Eq 1 represent three independent
rotations.

Unit vector I is already described in the XYZ system:

I = [ 1 0 0 ]^t [2]

where ^t = transpose. J' and K" can be described in the XYZ system as
well:

J' = Rx(-A).[ 0 1 0 ]^t [3]

K" = Rx(-A).Ry(-B).[ 0 0 1 ]^t [4]

where Rx = rotational transformation matrix about the X axis, and Ry =
rotational transformation matrix about the Y axis. And

J' = [ 0 cA sA ]^t [5]

K" = [ sB -sA.cB cA.cB ]^t [6]

where c = cos, and = sin. So the angular velocity can be written in a
matrix form:

[ 1 0 sB ][ w1 ]
W = [ 0 cA -sA.cB ][ w2 ] [7]
[ 0 sA cA.cB ][ w3 ]

where w1 = dA/dt, w2 = dB/dt, and w3 = dC/dt. Eq 7 can be used to
compute the angular velocity of a segment when the orientation angles
are available.

>Then derive dR/dt * inv(R) to get the angular velocity vector w in a
segment-fixed reference frame, and then do a cardanic decomposition of w
along the non-orthogonal axes. If the final answer is not (da/dt,
db/dt, dc/dt), we have been chasing the wrong problem.

Let's see the relationship between the angular velocity and the
transformation matrix from the UA frame to the trunk frame. Let vector
Quvw be the position vector of a fixed point on the UA, described in the
UA frame:

Quvw = [ qu qv qw ]^t [8]

where qu, qv, and qw = local coordinates of the fixed point (constant).
The position of the same point described in the trunk frame will be then

Qxyz = T^t.[ qu qv qw ]^t [9]

where T = transformation matrix from the trunk frame to the UA frame
showing the relative orientation of the UA to the trunk (XYZ rotation
assumed):

[ cB.cC sA.sB.cC+cA.sC -cA.sB.cC+sA.sC ]
T = [ -cB.sC -sA.sB.sC+cA.cC cA.sB.sC+sA.cC ]
[10]
[ sB -sA.cB cA.cB ]

In Eq 9, it was assumed that both the trunk frame and the UA frame are
at the same origin (shoulder joint). The velocity of the point fixed on
the UA can be expressed in two different ways:

V = W x Qxyz [11]

V = dQxyz/dt [12]

Eq 11 can be converted to an equivalent matrix form:

V = .Qxyz [13]

where is a skew-symmetric matrix with the following form:

[ 0 -wz wy ]
= [ wz 0 -wx ] [14]
[ -wy wx 0 ]

>From Eqs 9 and 13:

V = .( T^t.Quvw ) [15]

>From Eq 9 and 12:

V = dQxyz/dt = d(T^t)/dt.Quvw [16]

since

dQuvw/dt = 0 [17]

The point is fixed on the UA and rotates with the UA, so the local
coordinates are constant.

>From Eqs 15 and 16:

.T^t = d(T^t)/dt [18]

or

= d(T^t)/dt.T [19]

T^t shown in Eq 19 is equivalent to R used by Ton above and

= dR/dt.R^t [20]

So the right side of Eq 20 is identical to Ton's eq but the left side is
, not W. Eq 20 can be used if one wants to compute the angular
velocity of a segment directly from the transformation matrix.

Although it was a tedious process, I actually tried wz (row 2, column 1
of ) for an example and got

w3 = d/dt([ t12 t22 t32 ] ).[ t11 t21 t31 ]^t
= d(t12)/dt.t11 + d(t22)/dt.t21 + d(t32)/dt.t31
= sA.w2 + cA.cB.w3 [21]

Eq 21 matches to the 3rd row of Eq 7. I expect similar results for wx
and wy and Eq 1 is correct after all. I will try to put together a
webpage since text-based email is not the most ideal place for running
down equations.

References
Ramey, M.R. & Yang, A.T. (1981). A simulation procedure for human motion
studies. Journal of Biomechanics, 14, 203-213.
Yeadon, M.A., J. Hales, F.D. (1990). The simulation of aerial
movement--IV. A computer simulation model. Journal of Biomechanics, 23,
85-89.
Kwon, Y.-H. (2001). Experimental simulation of an airborne movement:
applicability of the body segment parameter estimation methods. Journal
of Applied Biomechanics, 17, 232-240.

Young-Hoo
------------------------------------------------------
- Young-Hoo Kwon, Ph.D.
- Biomechanics Lab, Texas Woman's University
- kwon3d@kwon3d.com
- http://kwon3d.com
------------------------------------------------------

-----Original Message-----
From: Ton van den Bogert [mailto:bogert@bme.ri.ccf.org]
Sent: Tuesday, February 03, 2004 9:06 AM
To: rubenson@cyllene.uwa.edu.au
Cc: richard.baker@RCH.ORG.AU; kwon3d@kwon3d.com; vxz1@PSU.EDU
Subject: Re: thanks for help

rubenson@cyllene.uwa.edu.au wrote:

> I want to thank you for all the input you gave to my questions
> regarding 3D joint power. I was very impressed at the amount of time
> and thought that you put into them. I suppose it's not a
> improved my understanding and given me lots of food for thought.

You're welcome, it is nice to have discussions like this once in a
while.

I was going to respond to Young-Hoo's last posting, because I realized
we may have done something wrong all along. But I had no time to do
this well, so I will just raise the question without answer.

We were decomposing the angular velocity vector w along the JCS axes,
so:
w = wi*i + wj*j + wk*k

And then we simply assumed that wi would be the time derivative of the
first Cardanic angle. Now I'm not sure if that is the case. The way to
check this would be to write the rotation matrix R in terms of Cardanic
angles, e.g.

R =

Cos[b]Cos[c] Cos[c]Sin[a]Sin[b]-Cos[a]Sin[c]
Cos[a]Cos[c]Sin[b]+Sin[a]Sin[c]

Cos[b]Sin[c] Cos[a]Cos[c]+Sin[a]Sin[b]Sin[c]
-Cos[c]Sin[a]+Cos[a]Sin[b]Sin[c]

-Sin[b] Cos[b]Sin[a] Cos[a]Cos[b]

(not sure for which rotation sequence this one is)

Then derive dR/dt * inv(R) to get the angular velocity vector w in a
segment-fixed reference frame, and then do a cardanic decomposition of w
along the non-orthogonal axes. If the final answer is not (da/dt,
db/dt, dc/dt), we have been chasing the wrong problem.

I don't have time to do this, is there an easier way?

I still think intuitively that total power should be the same, whether
we use dot product of the w and M vectors:

P = w.M

or sum the three "motor-equivalent" powers from a joint coordinate
system:
P = da/dt*Mi + db/dt*Mj + dc/dt*Mk.

Maybe these will be the same if we do this right.

> Ton, I'm aware that it is customary to post a summary of the
> responses. Do we still do that for longer discussions such as this
> one (I'm up to 30 pages!)? I could break the summary into two; one
> being the interpretation of 3D joint power and the other being the
> mathematical issue of JCS vs ACS if you feel that it will be of use
> for future reference in the archives.

I think a brief summary for Biomch-L would be great.

Ton
--

A.J. (Ton) van den Bogert, PhD
Department of Biomedical Engineering
Cleveland Clinic Foundation
9500 Euclid Avenue (ND-20)
Cleveland, OH 44195, USA
Phone: (216)444-5566
Fax: (501)665-1506

-----------------------------------------------------------------
To unsubscribe send SIGNOFF BIOMCH-L to LISTSERV@nic.surfnet.nl
For information and archives: http://isb.ri.ccf.org/biomch-l