Herman J. Woltring

05-23-1989, 09:47 PM

RECONSTRUCTING BODY SEGMENT AND JOINT KINEMATICS FROM 2-D OR 3-D POSITION DATA

A number of groups (both academic and industrial) are currently looking into 3-D

rigid-body kinematics in biomovement studies, both in gait analysis and in other

types of movement research: various commercial systems (e.g., CODA-3, EXPERT

VISION, IROS, OPTOTRAK, ORTHOTRAK, PRIMAS, SELSPOT, VICON, WATSMART) provide

reconstructed 3-D positions of identified landmarks on moving body segments.

As some BIOMCH-L readers have asked for help in this respect, it might be useful

to provide a little information.

If the body segment (or a cluster of landmarks marking the segment) is viewed as

a rigid body, i.e., the interlandmark distances are invariant under a displace-

ment of the segment proper, there are standard algorithms in the (bio)mechani-

cal, robotics, and aeronautics literature for transforming 3-D landmark position

data into 3-D rigid-body position and attitude data. Once these data have been

reconstructed, joint motion, i.e., movement of the distal body segment with

respect to the proximal segment can be assessed. Recent publications in the

biomechanical litterature include Spoor & Veldpaus, J. of Biomechanics 13(1980)

391-393 and Veldpaus et al., J. of Biomechanics 21(1988)1, 45-54; the latter one

includes some information on error propagation effects.

An interesting paper assessing 3-D rigid-body kinematics directly from SINGLE

camera image data was published last month by Joseph S.-C. Yuan at Spar Aero-

space Ltd. in Toronto, Canada: `A General Photogrammetric Method for Determining

Object Position and Orientation', IEEE Trans. on Robotics and Automation

5(1989-4)2, 129-142.

For a spatial distribution of landmarks, five out of six degrees of freedom are

well-determined from single-camera data: only the distance from the camera is

relatively ill-determined (unless the object subtends a very wide angle on the

camera). However, if all degrees of freedom (three for position, three for

attitude) are to be recovered with comparable accuracy, multi-camera measurement

is called for.

In the context of 3-D instantaneous joint kinematics and inverse dynamics where

3-D velocity and acceleration data (both rotational and translational) are

required, rigid-body algorithms should be complemented by suitable low-pass

filtering and differentiation. Since biological movement data are generally

low-frequent (apart from impact phenomena such as heel strike in gait) and

disturbed by additive, `white' measurement noise, it becomes important to

smooth and differentiate the data prior to any strong, non-linear operation

such as when transforming image or 3-D landmark data into rigid-body data.

Here, it becomes useful to smooth and interpolate the image or 3-D landmark

data (the intervening transformation being only mildly nonlinear), whence

smoothed AND interpolated rigid-body data are assessed. Because of the inter-

polation process on the smoothed data, finite differencing on rigid-body data

will provide sufficiently reliable estimates of the true, instantaneous

derivatives.

Thus, given estimated position vectors Pi and attitude matrices Ri, with

(interpolated) sampling interval T, the velocity and acceleration estimates

follow from:

Translation velocity: Vi = (Pi+1 - Pi-1) / 2T

acceleration: Ai = (Vi+1 - Vi-1) / 2T

Rotation velocity: S{Wi} = (Ri+1 - Ri-1')/ 2T

acceleration: Ei = (Wi+1 - Wi-1) / 2T

where S{X} is the skew-symmetric (or anti-symmetric) matrix with axial vector X

| 0 -z +y | |x|

S{X} = | z 0 -x |, X = |y|

| -y x 0 | |z|

Quite a bit of software in source code form accomodating these operations is in

the public or academic domain; see, for example, the quoted references and the

mathematical file-servers NETLIB@MCS.ANL.GOV and NETLIB@RESEARCH.ATT.COM: the

simple request SEND INDEX to either fileserver will provide further information

(NB: SEND INDEX in CAPITALS will result in all caps; if your machine can accomo-

date lower case, you would be well advised to put any request in lower case!).

I would like to know how many readers on BIOMCH-L find this kind of information

useful in their work, so as to judge whether this kind of `tutorial' serves a

purpose. Please send me a note at one of the email addresses below.

Herman J. Woltring

(Research Associate in Biomedical and Health Technology at Eindhoven University

of Technology, The Netherlands)

A number of groups (both academic and industrial) are currently looking into 3-D

rigid-body kinematics in biomovement studies, both in gait analysis and in other

types of movement research: various commercial systems (e.g., CODA-3, EXPERT

VISION, IROS, OPTOTRAK, ORTHOTRAK, PRIMAS, SELSPOT, VICON, WATSMART) provide

reconstructed 3-D positions of identified landmarks on moving body segments.

As some BIOMCH-L readers have asked for help in this respect, it might be useful

to provide a little information.

If the body segment (or a cluster of landmarks marking the segment) is viewed as

a rigid body, i.e., the interlandmark distances are invariant under a displace-

ment of the segment proper, there are standard algorithms in the (bio)mechani-

cal, robotics, and aeronautics literature for transforming 3-D landmark position

data into 3-D rigid-body position and attitude data. Once these data have been

reconstructed, joint motion, i.e., movement of the distal body segment with

respect to the proximal segment can be assessed. Recent publications in the

biomechanical litterature include Spoor & Veldpaus, J. of Biomechanics 13(1980)

391-393 and Veldpaus et al., J. of Biomechanics 21(1988)1, 45-54; the latter one

includes some information on error propagation effects.

An interesting paper assessing 3-D rigid-body kinematics directly from SINGLE

camera image data was published last month by Joseph S.-C. Yuan at Spar Aero-

space Ltd. in Toronto, Canada: `A General Photogrammetric Method for Determining

Object Position and Orientation', IEEE Trans. on Robotics and Automation

5(1989-4)2, 129-142.

For a spatial distribution of landmarks, five out of six degrees of freedom are

well-determined from single-camera data: only the distance from the camera is

relatively ill-determined (unless the object subtends a very wide angle on the

camera). However, if all degrees of freedom (three for position, three for

attitude) are to be recovered with comparable accuracy, multi-camera measurement

is called for.

In the context of 3-D instantaneous joint kinematics and inverse dynamics where

3-D velocity and acceleration data (both rotational and translational) are

required, rigid-body algorithms should be complemented by suitable low-pass

filtering and differentiation. Since biological movement data are generally

low-frequent (apart from impact phenomena such as heel strike in gait) and

disturbed by additive, `white' measurement noise, it becomes important to

smooth and differentiate the data prior to any strong, non-linear operation

such as when transforming image or 3-D landmark data into rigid-body data.

Here, it becomes useful to smooth and interpolate the image or 3-D landmark

data (the intervening transformation being only mildly nonlinear), whence

smoothed AND interpolated rigid-body data are assessed. Because of the inter-

polation process on the smoothed data, finite differencing on rigid-body data

will provide sufficiently reliable estimates of the true, instantaneous

derivatives.

Thus, given estimated position vectors Pi and attitude matrices Ri, with

(interpolated) sampling interval T, the velocity and acceleration estimates

follow from:

Translation velocity: Vi = (Pi+1 - Pi-1) / 2T

acceleration: Ai = (Vi+1 - Vi-1) / 2T

Rotation velocity: S{Wi} = (Ri+1 - Ri-1')/ 2T

acceleration: Ei = (Wi+1 - Wi-1) / 2T

where S{X} is the skew-symmetric (or anti-symmetric) matrix with axial vector X

| 0 -z +y | |x|

S{X} = | z 0 -x |, X = |y|

| -y x 0 | |z|

Quite a bit of software in source code form accomodating these operations is in

the public or academic domain; see, for example, the quoted references and the

mathematical file-servers NETLIB@MCS.ANL.GOV and NETLIB@RESEARCH.ATT.COM: the

simple request SEND INDEX to either fileserver will provide further information

(NB: SEND INDEX in CAPITALS will result in all caps; if your machine can accomo-

date lower case, you would be well advised to put any request in lower case!).

I would like to know how many readers on BIOMCH-L find this kind of information

useful in their work, so as to judge whether this kind of `tutorial' serves a

purpose. Please send me a note at one of the email addresses below.

Herman J. Woltring

(Research Associate in Biomedical and Health Technology at Eindhoven University

of Technology, The Netherlands)