calculation and visualization of the dynamic ability of the human...

22
THE JOURNAL OF VISUALIZATION AND COMPUTER ANIMATION J. Visual. Comput. Animat. 10, 57–78 (1999) vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv Calculation and Visualization of the Dynamic Ability of the Human Body By Taku Komura*, Yoshihisa Shinagawa and Tosiyasu L. Kunii vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv There is a great demand for data on the mobility and strength capability of the human body in many areas, such as ergonomics, medical engineering, biomechanical engineering, computer graphics (CG) and virtual reality (VR). This paper proposes a new method that enables the calculation of the maximal force exertable and acceleration performable by a human body during arbitrary motion. A musculoskeletal model of the legs is used for the calculation. Using our algorithm, it is possible to evaluate whether a given posture or motion is a feasible one. A tool to visualize the calculated maximal feasibility of each posture is developed. The obtained results can be used as criteria of manipulability or strength capability of the human body, important in ergonomics and human animation. Since our model is muscle-based, it is possible to simulate and visualize biomechanical effects such as fatigue and muscle training. The solution is based on linear programming and the results can be obtained in real time. Copyright ? 1999 John Wiley & Sons, Ltd. Received 23 June 1998; Revised 17 December 1998 KEY WORDS: muscle-based model; human strength calculation; human strength visualization Introduction There is a great demand for information on the dynamic ability of the human body in various areas. In ergonomics such data are used to design various devices and tools for daily use. In medicine they are used for the design of rehabilitation tools. Also in industries such data are necessary to know in what kind of environment a human can work safely and comfortably without harming the body. In computer graphics (CG) and virtual reality (VR) such data would be helpful to create realistic human animation. For example, they would help animators to make realistic postures used in key frame animation systems. The structure of human bodies is quite different from that of robots. While robots are controlled by motors or engines which can exert a great amount of torque at the joints regardless of posture, the human body is driven by muscles attached to the bones. Since the forces exertable by the muscles depend on their length and contraction velocity, the human joints have limited ability to create joint torques dependent on posture and motion. In this way the muscles characterize human body motion. The configuration space of a body is determined by the ligaments, tendons and passive elements of the muscles. Muscles crossing more than two joints (biarticular muscles) can simultaneously generate torque at a number of joints. For example, the hamstrings can extend the hip joint and flex the knee joint at the same time. For this reason there are dependences among the torques exertable by the joints. It is known that such muscles play important roles in motions such as jumping and gait. 1 As a result, animation of the body becomes unnatural if the dynamics of the muscles is ignored. It is always necessary to check whether the motion of the human body model is actually realizable in dynamic environments by a real human body. Musculoskeletal human body models have been created by many researchers in biomechanics 27 (see Reference 8 for a review of musculoskeletal systems). Such models have been used to simulate body motion in dynamic environments, to check the influence of surgical operations or to analyse how the muscles are controlled to yield human motion. *Correspondence to: T. Komura, Department of Information Science, Faculty of Science, The University of Tokyo, 7-3-1 Hongo, Bunkyo-Ku, 113 Tokyo, Japan. E-mail: kohmura@is.s.u-tokyo.ac.jp. vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv CCC 1049–8907/99/020057–22$17.50 Copyright ? 1999 John Wiley & Sons, Ltd.

Upload: others

Post on 18-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

THE JOURNAL OF VISUALIZATION AND COMPUTER ANIMATIONJ. Visual. Comput. Animat. 10, 57–78 (1999)

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Calculation and Visualization of theDynamic Ability of the Human Body

By Taku Komura*, Yoshihisa Shinagawa and Tosiyasu L. Kuniiv v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

There is a great demand for data on the mobility and strength capability of thehuman body in many areas, such as ergonomics, medical engineering,biomechanical engineering, computer graphics (CG) and virtual reality (VR). Thispaper proposes a new method that enables the calculation of the maximal forceexertable and acceleration performable by a human body during arbitrary motion.A musculoskeletal model of the legs is used for the calculation. Using ouralgorithm, it is possible to evaluate whether a given posture or motion is a feasibleone. A tool to visualize the calculated maximal feasibility of each posture isdeveloped. The obtained results can be used as criteria of manipulability orstrength capability of the human body, important in ergonomics and humananimation. Since our model is muscle-based, it is possible to simulate and visualizebiomechanical effects such as fatigue and muscle training. The solution is basedon linear programming and the results can be obtained in real time. Copyright? 1999 John Wiley & Sons, Ltd.

Received 23 June 1998; Revised 17 December 1998

KEY WORDS: muscle-based model; human strength calculation; human strength visualization

Introduction

There is a great demand for information on the dynamicability of the human body in various areas. In ergonomicssuch data are used to design various devices and tools fordaily use. In medicine they are used for the design ofrehabilitation tools. Also in industries such data arenecessary to know in what kind of environment a humancan work safely and comfortably without harming thebody.

In computer graphics (CG) and virtual reality (VR) suchdata would be helpful to create realistic human animation.For example, they would help animators to make realisticpostures used in key frame animation systems.

The structure of human bodies is quite different fromthat of robots. While robots are controlled by motors orengines which can exert a great amount of torque at thejoints regardless of posture, the human body is driven bymuscles attached to the bones. Since the forces exertableby the muscles depend on their length and contraction

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd.

velocity, the human joints have limited ability to createjoint torques dependent on posture and motion.

In this way the muscles characterize human bodymotion. The configuration space of a body is determinedby the ligaments, tendons and passive elements of themuscles. Muscles crossing more than two joints (biarticularmuscles) can simultaneously generate torque at a numberof joints. For example, the hamstrings can extend the hipjoint and flex the knee joint at the same time. For thisreason there are dependences among the torques exertableby the joints. It is known that such muscles play importantroles in motions such as jumping and gait.1 As a result,animation of the body becomes unnatural if the dynamicsof the muscles is ignored. It is always necessary to checkwhether the motion of the human body model is actuallyrealizable in dynamic environments by a real humanbody.

Musculoskeletal human body models have been createdby many researchers in biomechanics2–7 (see Reference 8for a review of musculoskeletal systems). Such modelshave been used to simulate body motion in dynamicenvironments, to check the influence of surgical operationsor to analyse how the muscles are controlled to yieldhuman motion.

*Correspondence to: T. Komura, Department of Information Science,Faculty of Science, The University of Tokyo, 7-3-1 Hongo, Bunkyo-Ku,113 Tokyo, Japan. E-mail: [email protected].

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

CCC 1049–8907/99/020057–22$17.50

Page 2: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

In CG, even though some researchers use musclemodels to obtain a realistic rendering of human9 or animalbodies10, musculoskeletal models have rarely been utilizedto yield human motion data, with a few exceptions.11

Chen and Zeltzer12 created a very precise muscle modelusing the finite element method (FEM), but this has notbeen used for the control of human body models in adynamic environment.

In this paper, using the musculoskeletal human bodymodel, a method to calculate the maximal torque andacceleration of the lower extremities is proposed. First theuser has to specify the posture of the human body, andnext the direction of the torque or acceleration vector inconfiguration space. Then the maximal norm for thistorque or acceleration is calculated. It is also possible tocalculate the upper limit of force and acceleration exertedby the end effector of the body in the direction specifiedby the user in Cartesian space. Since the algorithm is basedon linear programming, the calculation is accomplished inreal time. The results of the calculation also contain theamount of force exerted by each muscle. Therefore it ispossible to know which muscles are mainly used forcreating motion specified by the user. The results arevisualized using rods and polygons. It is also possible totake into account the effect of muscle fatigue or weighttraining.

The composition of the paper is as follows. Section 2describes the background and previous work. Section 3includes the explanation of the body model used in thispaper. In Section 4 the properties of the Hill-based musclemodel are explained. In Sections 5–8 the algorithms tocalculate and visualize the maximum ability by the humanbody model, such as moments, acceleration and forces, areexplained. In Section 9 the fatigue and recovery model ofmuscles proposed by Giat et al.13,14 is used to visualize theeffect of fatigue of the muscles. In Section 10 an exampleof using our algorithm for the creation of human motion isshown.

Related Work

A large number of data on human mobility and strengthcapability have been collected by researchers in ergo-nomics, medicine and biomechanics. Fothergill et al.15 havecollected one-handed maximum strength data in all direc-tions in the fore and aft plane. Ruhmann and Schmidtke16

have investigated the isometric maximal force by the armsunder nine kinds of manipulation from people working inindustries. However, since such data were collected underspecific conditions, they do not necessarily represent the

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 58

real mobility or capability of the human body under otherconditions in daily life.

Wei and Badler17 have developed software that visual-izes human strength using coloured 3D rods. The rodshave been used to display either the joint torque or theforce exertable by the end effector. The data on strengthwere obtained from a database system and it was notpossible to calculate the torque or force for arbitrarymotion.

Yoshikawa18,19 proposed the idea of manipulability ofrobot manipulators. The manipulability was visualizedusing ellipsoids, defined as manipulability ellipsoids. Thismethod offers a good way to evaluate the posture ofrobot manipulators, which enables the yield of trajectoriesby robot manipulators avoiding singular postures.

There has been no attempt, however, to calculate themaximum strength and mobility of human bodies byanatomy-based human models for use in either ergonom-ics or computer graphics. The advantages of using such amodel for the calculation of maximum capability are asfollows.

- Calculations for arbitrary posture are possible.- Calculations under various conditions—such as when

external forces are applied to the body, when the forcesexertable by the muscles have declined because offatigue, or when the forces exertable have increasedafter a long term of muscle training—are possible.

Musculoskeletal ModelFor the musculoskeletal human body model the datapublished by Delp and co-workers6,20 have been used.*The data include the attachment sites of 43 muscles oneach leg and physiological parameters such as the lengthof tendons, range of joint angles, etc. In their research,some basic properties such as the passive joint torques andmaximum isometric joint torques were calculated andcompared with biomechanically measured data to evaluatethe validity of the model. Other necessary data, such asthe mass and inertia of the body segments were obtainedfrom Reference 21 (see Appendix 2 for data).

The lower half of the human body model is composedof 13 segments. The pelvis is at the top and each leg iscomposed of the femur, tibia, patella, talus, calcaneus andtoes. In this research the talus, calcaneus and toes are stucktogether to form a rigid foot. The joints of the legs areassumed here either as a three degree-of-freedom (3-DOF)gimbal joint (hip joint) or as a 1-DOF pin joint (knee and

*Data can be downloaded from http://isb.ri.ccf.org/isb/data/delp.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 3: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

DYNAMIC ABILITY OF THE HUMAN BODY

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

ankle joint). The total number of DOFs is therefore 10.Four variables, èh–flex, èh–add, èh–rot and èknee, are definedhere for hip flexion, hip adduction, hip external rotationand knee flexion of the right leg as shown in Figure 1 Thefrontal and dorsal views of the body model with musclesare shown in Figure 2. The muscles are rendered usinggeneralized cylinders. The radii of the generalized cylin-ders are calculated using the length of the muscle and thephysical cross-section area (PCSA). The PCSA was calcu-lated using the peak isometric force data included in

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 59

Reference 20 and the scale factor of 25 N cm"2 fromReference 22.

Hill-based Muscle Model

For each musculotendon a model based on Hill’s three-component-model (Figure 3 is used. There are numerousmuscle models which are derived from Hill’s model. Since

Figure 1. Parameters of right leg

Figure 2. Frontal (left) and dorsal (right) views of human body model

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 4: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

a discussion of these models is outside the scope of thispaper, interested readers may refer to the literature, e.g.Reference 23. The model used here is that from References6 and 20. It is composed of three elements: the contractileelement (CE, muscle fibres), the series elastic element (SEE,muscle tendon) and the parallel elastic element (PEE,connective tissue around fibres and fibre bundles). There isan inclination between the muscle part (CE and PEE) andthe tendon part (SEE). The angle between them is calledthe pennation angle of the muscle and is denoted á here.The force exerted by the CE ( f ce) is a function of its lengthl ce, contraction velocity vce and the muscle activationlevel a which is controlled by the central nervous system(CNS).

f ce= f (l ce,vce,a) (1)

The activation level is not actually controlled directly bythe CNS, but through the neural control signals u. Therelationship between the neural signals and the muscleactivation level is often modelled by the differentialequation24

where 0¦u¦1, ôfall and ôrise are the rise and decay timeconstants for muscle activation, and amin is the lowerbound of the muscle activation level. This relationship isomitted in this research, because only static or smoothmotion is considered. Therefore it is assumed that theactivation level can take an arbitrary value between zeroand 1 during the motion. The muscle tendon length (lmt) isthe sum of the muscle fibre length and the tendon length:

lmt= lm cos á+ l t (3)

lm= l ce (4)

lm= lpe (5)

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 60

lmt and vmt can be calculated by the joint angles andangular velocities of each leg. The force exerted by theSEE ( f t) and PEE ( fpe) are functions only of their length (l t

and lpe):

f t= f (l t) (6)

fpe= f (lpe) (7)

The relationship between the force exerted at eachelement is

f t= ( f ce+ fpe) cos á (8)

The tendon is a passive element that exerts an elastic forcef t only when its length is longer than the slack length l st.The relationship between the tendon strain and thenormalized elastic force is shown in Figure 4. The curve isdefined here as f t

o((l t–l ts)/l

ts).

The CE can exert the maximum force fMo when its

length is set to the natural length lmo and the contraction

velocity vce is set to zero. The curve of f ce/fMo versus the

normalized muscle length l ce/lmo (a=1, vce=0) is shown in

Figure 5 together with the curve of fpe/fMo versus lpe/lm

o.These two curves are defined here as f ce

o(lm/lmo) and

fpeo(lm/lm

o).The force exertable by the CE decreases as the contrac-

tion velocity increases. The curve of f ce/fMo (a=1,

l ce= lmo) versus vce is shown in Figure 6; vo is the

maximum contraction velocity of the CE, which isassumed to be 10lm

o/s.3 This curve will be defined here asgce(vce/vo). Using f ce

o, fpeo, f t

o and gce, equations (1), (6)and (7) are rewritten as follows:

Figure 3. Hill-based muscle model used in this research

Figure 4. Relationship between tendon strain (lt" lts)/lts and

normalized force f t/fMo. Plotted data from Reference 20

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 5: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

DYNAMIC ABILITY OF THE HUMAN BODY

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

f ce(lm,vm,a)= fMo . f ce

o(lm/lmo) . gce(vm/vo) . a (9)

f t(l t)= fMo . f t((l t–l t

s/lts) (10)

fpe(lm)= fMo . fpe

o(lm/lmo) (11)

Let us now consider how to calculate the maximal andminimal amounts of force that can be exerted by the

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 61

musculotendon when the length lmt is given. In order tosolve this problem, first vm must be calculated. If themotion is a static one, the length of each element stays thesame and therefore vm=0. However, if the legs are goingthrough some motion, vm should be approximated by thefinite difference

where lmprev is the length of lm at the previous time step

and Ät is the length of the time step. By substitution ofequations (9)–(11) into equation (8) together with (3)–(5)and (12) the following equation is derived:

f to((lmt" lm cos á–l t

s)/lts)" [ f ce

o(lm/lmo) . gce((lm" lm

prev)/Ät) . a+ fpe

o(lm/lmo)] cos á=0 (13)

As the muscle activation level a is specified and themusculotendon length lmt is determined, the onlyunknown variable in equation (13) is lm, which can besolved numerically from this equation. The maximum andminimum musculotendon forces fmax and fmin can becalculated by setting a to either one or zero. Then themusculotendon force f t is limited by

fmin(a=0)¦f t¦fmax(a=1) (14)

When the motion is not a static one, lmprev must be known

to calculate vm and finally fmin and fmax. Inverse dynamicsis used to solve this problem. In the case of a dynamicmotion the profile of the whole motion must be specifiedby the user, which means that the history of joint angles è,angular velocities è~ and angular accelerations è} since thebeginning of the motion must be given. The joint torquescan be calculated from è, è~ and è} using inverse dynamics.The muscle forces are predicted by decomposing the jointtorques by an optimization method which takes intoaccount fM

o, lmt and lmprev (see Appendix 1). When the

muscle force f t is obtained, lm can be calculated fromequations (3)–(5) and (8)–(11). Using this lm as lm

prev inequation (12) at the next stage, fmin and fmax can becalculated.

Calculation of MaximalMoment

In this section the algorithms to calculate the maximummoment

Figure 5. Force–length curves of active (fce–lce) and passive(f pe–lpe) muscle elements. Plotted data from Reference 20

Figure 6. Velocity–force curve of contractile element whenlm= lom and a=1; vo is maximal contraction velocity, assumed to

be 10lom/s.3 Plotted data from Reference 20

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 6: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

- by one joint and- by a group of joints or all the joints for a ratio specified

by the user

are explained.

Maximal Moment at Each Joint

The algorithm to calculate the maximal joint torquearound an axis specified by the user is proposed here. Inthe beginning the user must specify the state of each leg,i.e. the angles, angular velocities and angular accelerationsof the joints (è, è~ and è}). The axis around which the userexpects the joint to maximize the moment must also bespecified. The problem is solved using linear program-ming. As the kinematic values of the body are determined,using equation (14), the forces of the muscles are limitedby

fmini¦f t

i¦fmaxi (i=1, 2, . . ., n) (15)

where n is the number of muscles on each leg.Each muscle is a line segment which starts from the

origin point on some body segment, passing through anumber of ‘via points’, crossing a number of joints andfinally arriving at the insertion point (Figure 7) on anothersegment.The torque ô generated by the muscles crossingthe joint can be written in the form:

where ri and fi are the moment arm and the force exertedby muscle i respectively and ‘# ’ is the outer product

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 62

operator. To calculate the maximum moment of the jointaround some axis a, the following scalar f must bemaximized:

where ni is fi’s normal vector and ‘.’ is the inner productoperator. Since the knee and the ankle have only oneDOF, a must be parallel to the joint axis. Maximizing fwith inequality constraints (15) is a linear programmingproblem. The problem has been solved using the simplexmethod. We have calculated the maximum moments ofthe hip joint around a number of axes in various postures.The maximum knee and ankle moments have also beencalculated. The result of the calculation is visualized usingrods or polygons. The direction of each rod indicates theaxis around which the moment is to be maximized, in aright-handed co-ordinate system. The length of the rodexpresses the value of the maximum exertable momentaround that axis.

The maximum moment by the hip joint in a static phaseis shown using rods in Figures 8–10. They are drawn in acoordinate system which is attached to the pelvis asshown in Figure 8.

Figure 8 shows the maximum moments when the hipangles are all 0) and the knee is at full extension (posture1). The moments in the +x direction are larger than thosetoward the "x direction. This means that more torquecan be generated at the hip when kicking backward thanforward. Another characteristic is that the +y and "ycomponents of moments are relatively small. This indi-cates that the hip can exert small moments for internal andexternal rotation.

Next, the hip joint is flexed 45) to the front with theknee joint left extended (posture 2). The frontal view ofthe maximal moment rods is shown in Figure 9(a). Thereason the rods toward the "x direction have a verysmall maximal moment value is that when the hip is flexedwith the knee joint extended, the biarticular muscles thatcross both the hip and knee joint at the back of the thigh(hamstring muscles) are fully stretched. Such muscles exerta passive force that prevents further flexion of the hipjoint. As the knee is flexed 90) while the hip angles arekept the same (posture 3), the maximal moment rodschange as shown in Figure 9(b). Since the hamstringmuscles are relaxed this time, the rods toward the "x

Figure 7. Joint torques generated by muscles

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 7: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

DYNAMIC ABILITY OF THE HUMAN BODY

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

direction are longer than those in the previous posture.Therefore further flexion of the hip is possible. The hip isat 45) adduction in Figure 10 (posture 4). The maximal

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 63

moment for abduction is greater in this configuration thanin the first posture (Figure 8) because of the passive forceof the antagonist muscles. The maximal moment values for

Figure 8. (a) Frontal and (b) lateral views of maximum moments around various axes when hip and knee are totally extended

Figure 9. Maximal moment rods when hip is flexed 45) with knee (a) fully extended and (b) flexed 90)

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 8: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

several axes at each posture are shown in Table 1 Werendered the maximal moment polygon by attachingquadratic patches to the tips of the rods. The maximalmoment polygon from various viewpoints is shown inFigure 11.

Another example is shown in Figure 12, in which theleg is moving at different velocities. The leg is at the basicposture, with the hip joint angles set to 0) and the kneeextended. The maximal moment polygon has differentshapes, which is caused by the characteristics of muscledynamics. In Figure 12(b) the hip joint is flexed at the rateof 1·0 rad s"1. The angular accelerations of the jointangles are all zero at this moment. Since the muscles usedto flex the hip joint are shortening, they can exert lessforce than when they are statically contracting (see Figure6). Therefore the left side of the maximal moment polygonshrinks more than in the static phase (Figure 12(a)). On theother hand, the muscles for extension are lengthening atthis moment, so they can exert a larger force than in thestatic phase. This is why the right side of the maximalmoment polygon has more volume this time.

In Figure 12(c) the hip joint is extended backward at therate of 1.0 rad s"1, with the angular accelerations all zero.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 64

This time the left side of the maximal polygon has shrunkwhile the right side has expanded.

Maximum Moment by Specifying Ratioof Joint Torques

It is also possible to specify the ratio of the joint torquesto be generated at all DOFs of the leg and to calculate themaximal amount of joint torque in this ratio:

where m is the total number of DOFs of one leg, which isfive here, ôj is the intersegmental resultant moment at the

Figure 10. Maximal moment rods when hip is at 45) adduction

Axis Posture 1 Posture 2 Posture 3 Posture 4

(1, 0, 0) 159·053 224·793 172·332 82·2737("1, 0, 0) 77·829 "8·9432 94·4379 48·1878(0, 1, 0) 22·0006 105·011 93·011 38·3839(0, "1, 0) 52·1495 36·74 54·3624 110·324(0, 0, 1) 137·633 116·94 109·84 203·413(0, 0, "1) 103·745 86·1093 105·63 20·8189

Table 1. Maximal moment (N m) around main axes at various postures. At eachposture, (èh–flex, èh–add, èh–rot, èknee) is (1) (0, 0, 0, 0), (2) (45), 0, 0, 0), (3) (45), 0,

0, 90)) and (4) (0, 45), 0, 0)

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 9: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

DYNAMIC ABILITY OF THE HUMAN BODY

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

jth DOF, rijj is the moment arm of the ijth muscle that

crosses the joint and fijis the force exerted by that muscle.

In matrix form, equations (20)–(23) can be written as

ô=Af (24)

where ô is the vector of torques at the joints, f is thevector of muscle forces and A is the matrix that convertsmuscle forces to joint torques. We define here the normalvector of ô as N and its norm as N:

NN=ô (25)

QNQ=1 (26)

Then equation (24) can be rewritten as

NN=Af (27)

As a result, the calculation of maximum joint torques for aspecified ratio can be considered as a linear programmingproblem with n+1 variables ( f1, . . ., fn, N) m equalityconstraints (equation (27)), and 2n inequality constraints(equation (15)). The objective function that is to bemaximized is N.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 65

Calculation of MaximalAngular Acceleration

In this section the algorithm to calculate the maximalangular acceleration is explained. The solution is almostthe same as calculating the maximal joint moment. Thisproblem is a linear programming problem as well. Themethod to calculate the maximal angular acceleration

- by each DOF of a joint and- by a group of joints or all joints for a ratio specified by

the user

is explained.

Maximal Angular Acceleration by EachJoint’s DOF

The relationship between the angular accelerations and thejoint torques is

ô=Mè}+V(è,è~)+G(è) (28)

Figure 11. Maximum moment polygon of hip joint from various points of view

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 10: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

where M is the mass matrix of the system, V(è, è~) is thevector of centrifugal and Coriolis terms, G(è) is the vectorof gravity terms and è} is the acceleration of the joint

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 66

angles. By substituting (28) into (24), è} can be derivedfrom the muscle forces f as

è}=M"1(Af"V"G) (29)

The user should now choose which DOF’s accelerationis to be maximized. To maximize the acceleration of thejth DOF, the jth row of (29) should be chosen. Theequation is used as the objective function for linearprogramming with muscle constraints (15).

The maximal acceleration of the right hip flexion/extension joint is shown in Figure 13. The posture is astatic one, which means that the angular velocities are allzero. The results are visualized using rods. In posture (a)the maximal acceleration for flexion is 311·4 rad s"1, andfor extension is 443·8 rad s"1. In posture (b) the maximalacceleration for flexion is 493·138 rad s"1 and for exten-sion is 188·8 rad s"1. From these results we can concludethe following.

- The maximal acceleration for backward kicking is largerwhen the knee is totally extended.

- The maximal acceleration for forward kicking is largerwhen the knee is flexed.

Maximal Angular Acceleration byJoints in a Specified Ratio

If the user specifies the ratio of all the joint angles by n, è}can be rewritten as

è}=È} n (30)

By another substitution of (29) for (30) we obtain

È} n=M"1(Af"V"G) (31)

Now we have n+1 variables ( f1, f2, . . ., fn, È} ), m equalityconstraints (equation (31)), and 2n inequality constraints(equation (15)). The problem is to calculate the maximumÈ} , which is obviously a linear programming problem. Anexample of creating human animation using this algorithmis explained in Section 10.

Maximal Acceleration by EndEffectors

The next problem is to calculate how much accelerationthe foot can exert in various directions. First the velocity

Figure 12. Shape of maximum moment polygon of hip joint (a)in static phase, (b) when flexed forward at 1·0 rad s"1 and (c)

when extended backward at 1·0 rad s"1

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 11: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

DYNAMIC ABILITY OF THE HUMAN BODY

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

at any point on the foot can be given as a linear functionof the joint angular velocities:

r=Jè~ (32).

where r is the velocity of some point on the foot in.

Cartesian space and J is a matrix, called the Jacobian,which converts the angular velocities of the joints to thelinear velocity of a point on the end effector. Thedifferentiation of equation (32) by time yields

r=Jè}+J~è~ (33)

By substitution of (29) for (33), we obtain

r=JM"1(Af"V"G)+J~è~ (34)

As the direction to maximize the acceleration of the foot isspecified, r can be decomposed to a scalar and normalvector:

where â is the normal of r, and (nx,ny,nz) is the direction ofthe acceleration of the end effector. From equations (34)and (35) the following equation is obtained:

Here the problem is to maximize â. The variables are â(the maximal force) and the components of f (the force

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 67

exerted by the muscles). This is again a linear program-ming problem, with equation (36) as equality constraintsand equation (15) as inequality constraints. When nosolution is found, this means that the foot cannot exertany positive acceleration in the direction specified.

The results are again visualized using rods and poly-gons. In Figure 14 the maximum acceleration that can begenerated at the ankle in various directions when flexingthe hip angle 45) and the knee angle 90) is shown. Thefeature of the result is that the maximum frontal–backwardacceleration is larger than the acceleration toward thesides. It can also be observed that in this posture, greateracceleration can be made toward the front than the back.The angular velocities of the joints are all set to zero inthis example. The maximal acceleration values for severaldirections are shown in Table 2. The axes in the table aredefined in the global co-ordinate system shown in Figure14. The side view of the maximum acceleration rods andpolygon when extending the foot is shown in Figure 15.When the knee angle is fully extended, the maximumacceleration polygon is a flat two-dimensional polygon,because the Jacobian matrix J degrades.

Maximal Force by EndEffectors

Data on the amount of force that the body’s end effectorcan exert in various directions are useful in several areas.This section explains the method to calculate this force.There is a relationship between the joint torque ô and theforce exerted by the end effector, Fr:

Figure 13. Maximum acceleration for hip flexion/extension (a) when hip and knee are fully extended and (b) when knee is flexed 130)

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 12: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

ô=JTFr (37)

The user should specify the normal vector of the force bythe end effector, ( fx,fy,fz), and the problem is to maximizeits norm Fr:

f2x+ f2y+ f2z=1 (39)

Using equation (24) together with equation (38), thefollowing equation is derived:

Using equation (40) as equality constraints and equation

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 68

(14) as inequality constraints, the norm of the end effectorforce, Fr, is maximized.

The results are again visualized using rods and poly-gons. In Figure 16 the maximum force that can be exertedat the ankle in various directions is shown when flexingthe hip angle 45) and the knee angle 90). The values of themaximal force for several axes are shown in Table 3. Theaxes are again defined in the global co-ordinate systempreviously shown in Figure 14. The side view of themaximum force rods and polygon at each configuration inan extension motion of the foot are shown in Figure 17.When the knee angle is fully extended, an infinite forceis exertable in the vertical direction because of thedegradation of the Jacobian matrix J.

Simulation and Visualization ofEffect of Fatigue

In this section the effect of fatigue on the maximalmoment polygon is visualized. The model of fatigue andrecovery proposed by Giat et al.13,14 is used to determinethe maximal amount of force exertable by the muscles astime passes.

In biomechanical areas it has been revealed that musclesare composed of three types of fibres: fast glycolitic (FG),fast oxidative glycolitic (FOG) and slow oxidative (SO)fibres. The FG fibres can produce a large force with a lowendurance, while the SO fibres have a high endurance buta small maximal force. The type of fibres recruited to exertforce is determined by the activation level of the muscle.The SO fibres are recruited first, and as the activation levelincreases, next the FOG and finally the FG fibres are usedto generate the maximal amount of force. When the FGfibres are used, the intracellular pH level inside the muscle

Figure 14. Maximum acceleration at ankle, visualized using rods and translucent polygons

Axis Maximalacceleration

(m s"2)

("0·08, "0·51, 0·86) 494·9("0·08230, 0·6428, "0·7616) 229·1("0·88, 0·40, "0·28) 219·0(0·99, 0·06, 0·06) 94·08(0·00, 0·71, 0·71) 64·00(0·00, "0·71, "0·71) 104·00

Table 2. Maximal acceleration at ankle whenhip is flexed 45) and knee 90)

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 13: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

DYNAMIC ABILITY OF THE HUMAN BODY

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

declines and the maximum amount of force exertable bythe contractile element decreases.

Giat et al.13 observed the intracellular pH level insidethe electronically stimulated quadriceps muscle using 31Pnuclear magnetic resonance spectroscopy and obtained therelationship between the intracellular pH and the forceexerted by the muscle.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 69

The decay of the pH level during the fatigue phase withtime t is calculated by

pHF(t)=c1"c2tanh[c3(t"c4)] (41)

with constant parameters c1, c2, c3 and c4. The pH duringthe recovery phase is similarly calculated by

pHR(t)=d1+d2tanh[d3(t"d4)] (42)

Figure 15. Side view of maximum acceleration rods and polygon when extending foot

Figure 16. Maximum force at ankle, visualized using rods andtranslucent polygons

Axis Maximal force(N)

(1·00, 0·00, 0·00) 70·59("1·00, 0·00, 0·00) 135·44(0·00, 1·00, 0·00) 271·8(0·00, "1·00, 0·00) 344·63(0·00, 0·00, 1·00) 153·09(0·00, 0·00, "1·00) 262·38

Table 3. Maximal force at ankle when hip isflexed 45) and knee 90)

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 14: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v v v v v v v v v v v v v

Copyright ? 199

Figure 17. Side view of maximum force rods and polygon when extending foot

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

9 John Wiley & Sons, Ltd. J. Visual. Comput. Animat. 10: 57–78 (1999)70

Page 15: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

DYNAMIC ABILITY OF THE HUMAN BODY

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

with the constant parameters d1, d2, d3 and d4. The forceoutput was fitted by the function

fpH(pH)=d5(1"ed6(pH"d7)) (43)

where d5, d6 and d7 are constant values. Equation (43) isnormalized by the force obtained at the beginning of theexperiment:

where 0<f NpH<1. The values of the constant parameters

defined here are listed in Table 4. The normalizedforce–pH function f N

pH(pH) is combined with equation (1)to compose a new dynamic equation of the CEcomponent:

f ce= f(l ce,vce,a) . f NpH (45)

The decay and increase of the normalized force during thefatigue and recovery phase are shown in Figure 18. Theproblem with this model is that the relationship betweenthe activation level and the pH derivation is not included.

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 71

Previous experiments have shown that the FG fibres beginto be recruited when the activation level is above 50 % ofmaximal contraction.25 Therefore in this research thephase of each muscle is switched between fatigue andrecovery according to its activation level. The threshold isset to 0·5.

In this section the maximum moment polygon isobserved while the musculotendon model isometricallyexerts the maximum hip torque around the x-axis definedin Section 5.1. The isometric torque at the hip joint andthe muscle force have been obtained using the maximummoment calculation algorithm explained in Section 5.1.The results are shown in Figures 19 and 20. It is possibleto see the effect of fatigue by the shrinking polygon.When the maximum torque to flex the hip to the front isapplied, the left side of the polygon mainly shrinks. Thismeans that the maximum moment exertable by the hipjoint for flexing the leg to the front decreases as timepasses. In contrast, when the maximum torque to extendthe hip backward is applied, the right side of the polygonshrinks. The effect of fatigue on the maximum accelerationand force can be observed as well.

Application to ComputerGraphics and Simulation

This section discusses how properties such as the maximalacceleration or maximal force explained in previoussections can be used for

- creating human motion (for animation use) and- simple simulation of the human body (for ergonomic,

biomechanical and medical applications).

Simulating Exhaustive Motion

When creating a fully exhaustive and powerful motion,the maximal acceleration is a useful property to determine

Figure 18. Relationship between time (seconds) and normalized force exerted by a muscle during fatigue (left) and recovery (right) phases

Function Parameter Value

pHF c1 6·70c2 0·502c3 0·0406c4 30·0

pHR d1 6·55d2 0·502d3 0·0026d4 475·806

fpH d5 1136d6 "0·0097d7 6·0934

Table 4. Values of constant parameters forGiat’s fatigue and recovery model

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 16: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

the upcoming motion. In this subsection a kicking motionby the leg is created.

For creating the motion, the ratio of the joint angles ateach moment must be specified. This ratio is the vector nin equation (30). Therefore either the trajectory of themotion or at least two postures must be determined. Herewe prepared two postures of a kicking motion, one withthe leg extended backward as the initial frame, and onewith the leg kicked to the front (Figure 21). The ratiovector n is obtained by subtracting the joint angle of thesecond frame, è*2, from that of the first frame, è*1:

Next, frame 1 is set as the initial frame. The angularvelocities of the joint angles are set to zero. We define thejoint angles and angular velocities as è0 and è~0, and theinitial time as t0:

è0=è*1 (47)

è~0=0 (48)

Using this initial state, the maximal acceleration by thelegs, è}0, is calculated using the algorithm explained inSection 6:

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 72

è0= f(è0,è~0) (49)

Then, using (è0,è~0,è}0), the posture at the next time step isobtained:

è~1=è}0Ät+è~0 (50)

è1=è~0Ät+è0 (51)

where Ät is the time step. This forward integration isrepeated until the normal of the velocity vector è~ is smallenough, i.e. when the kicking leg reaches the maximalheight. The time at which the leg reaches this state isdefined as tf, while the joint angle and angular velocity attf are defined as èf and è~f. At each moment the maximalacceleration is calculated and used as the acceleration ofthe leg:

è}n= f(èn,è~n) (52)

è~n+1=è}nÄt+è~n (53)

èn+1=è~nÄt+èn (54)

The motion obtained in this way can be considered as aquick kick done by the body with full effort. Since neither

Figure 19. Maximum moment polygon of hip joint under maximum isometric contraction of muscles for flexing hip to front, atbeginning (left), after 30 s (middle) and after 60 s (right)

Figure 20. Maximum moment polygon of hip joint under maximum isometric contraction of muscles for extending hip backward, atbeginning (left), after 30 s (middle) and after 60 s (right)

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 17: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

DYNAMIC ABILITY OF THE HUMAN BODY

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

path planning nor optimization is done, it is obvious thatthe algorithm explained here can be applied only to arather simple and short motion. On the other hand, thecomputation for the whole motion is accomplished in realtime. For example, the calculation of the first kickingmotion takes 86 s using a Pentium II 450 MHz processor.The kicking motion was repeated with the musculotendonmodel to observe the effect of muscle fatigue. The firstkicking motion and those after 50, 100 and 150 repetitionsare shown in Figure 22. The joint angle and the height ofthe ankle at tf are shown in Table 5. t0 for each motion isdefined as t0=0. It is possible to observe that the maximalheight of the leg at tf decreases and the time for the leg toreach the maximal height from the initial state increases asthe kicking motion is repeated. The obvious fact that akicking motion by a tired leg is much slower and lesspowerful compared with that by a vigorous leg has beenproperly simulated.

Combination with Other Methods

The maximal properties can be utilized for other algor-ithms to create computer animation. First, they are usefulin methods which use torque limits for motion path

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 73

planning, such as in Reference 26. They could also becombined with optimization methods, such as in Refer-ences 11, 27 and 28, for creating an objective function orconstraints for the whole motion. Application to inversekinematics could also be considered, since it is possible tocheck whether a given posture can be realized statically ordynamically.

Discussions

There are a number of biomechanical factors which areomitted in this research. First, as explained in Section 4,the muscle activation level is not actually a quantity whichcan take an arbitrary value, but is controlled by thenervous signals from the brain. In fact, the initial activitystate of muscles modifies the efficiency of muscle actionsduring the motion. Even though this factor can be omittedfor static or slow simulation, for precise simulation andcalculation of maximal properties it must be taken intoaccount.

The way the simplex method maximizes the objectivefunction is not necessarily the way the neuromuscularsystem achieves that. This is because the muscles are

Figure 21. Initial (left) and final (right) frames of kicking motion used to determine acceleration ratio of joint angles

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 18: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

v v v v

Cop

Figure 22. Kicking motion by musculoskeletal model (a) at first and after (b) 50, (c) 100 and (d) 150 repetitions of motion

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

yright ? 1999 John Wiley & Sons, Ltd. J. Visual. Comput. Animat. 10: 57–78 (1999)74

Page 19: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

DYNAMIC ABILITY OF THE HUMAN BODY

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

controlled by the CNS. The CNS is a closed-loop system,which is not a one-way controller that just send thepre-programmed nervous signals to the muscles, butaccepts a lot of feedback from the peripheral sensors8 inorder to create stable and accurate motion. There are a lotof reflexion systems in the CNS, and the force exerted byone muscle influences those exerted by other muscles.Therefore, for the precise calculation of maximal force/acceleration, some people might think modelling the CNSis inevitable. Research has been done to model suchreflexion systems of the muscles.29,30 However, sincequantitative data necessary to model the CNS neuralnetwork have been quite limited, there are still a lot ofdifficulties to complete such work. The optimal valuecalculated by the simplex method is at least the convexhull of the actual maximal values by the body. Thereforeour results could be considered as an outermost layer ofthe maximal limit. Such limits are very important factorsfor simulation of the human body model, and our simu-lation results in the last section have shown that they areuseful and sufficiently precise values for making realistichuman animation.

Another problem is that since the geometry of theskeleton and muscle attachments differs from person toperson, it is doubtful whether the characteristic pattern ofour results is applicable to every human body. Since noprecise comparison has been done with a real human body,giving answers to such questions requires further research.On the other hand, the maximal properties explained inthis paper might be good factors to evaluate the precise-ness of the muscle-based human body model by compar-ing the calculation results with the measured data from thetarget human body which one is attempting to model.

Conclusions and Future Work

This paper has proposed a method to calculate themaximal dynamical abilities of the human body using a

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 75

musculoskeletal human body model. The calculated valueshave been visualized using rods and polygons. Theobtained results match our experience well and arefeatured by the inner structure of the human body. Themaximal force, torque and acceleration obtained in thisresearch can be used as criteria for strength capability ormanipulability of the leg, and as a result, they can also beutilized to develop criteria for path planning of humanmodels in CG.

There are, however, several problems with the calcu-lation of maximal acceleration and force of end effectors tobe used in path planning.

- The maximum acceleration of the foot becomes a flatplanar polygon at singular points because of thedegraded Jacobian.

- The foot can exert an infinite force in the verticaldirection when the leg is in a singular configuration,but such a force is not realistic with real human bodies.

To remedy these problems, it is our intention to find othercriteria that give an appropriate value for manipulabilityand dynamic capability of the body.

Creating a model of other parts of the body andcalculating the dynamic ability of the whole body are leftas future work.

Another important task is to compare the results of ourcalculation with biomechanically obtained data to validateour method.

Appendix 1

The method to predict the muscle forces from the jointtorques and the profile of the motion is explained here.

The torque applied at joint i, ôi, is generated by themuscles crossing the joint:

Number ofrepetitions

tf èh–flex at tf(deg)

èknee at tf(deg)

Ankleheight

0 0·44 95·13 3·96 0·673150 0·45 78·90 9·20 0·3989

100 0·50 61·05 15·08 0·1296150 0·55 55·11 17·04 0·1185

Table 5. Values of parameters at final posture in maximal kicking motion

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 20: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

where rj and fj are the moment arm and the force exertedby muscle j respectively and ‘# ’ is the outer productoperator.

Using inverse dynamics, by specifying the joint anglesè, angular velocities è~ and angular accelerations è}, thejoint torques can be calculated.

However, since the number of muscles crossing joint i isalways greater than the degrees of freedom of the joint,solving fj in equation (55) is a redundant problem. Anoptimization method is applied to determine the muscleforce.

Crowninshield and Brand2 proposed a criterion which isbased on the inversely non-linear relationship of muscleforce and contraction endurance. Their criterion u waswritten in the form

where f ti=PfiP, Ai is the PCSA of muscle i and n=1, 2, 3 or

100. They compared the calculation results with electro-myographic data and reported that n=2 gave goodresults. In this research we set n=2.

If at the beginning of the motion the leg is in staticphase, we can determine the upper and lower limits of theforce exerted by each muscle as explained in Section 4:

fmini¦f t

i¦fmaxi (57)

Using equation (55) as equality constraints and equation(57) as inequality constraints, u can be minimized byquadratic programming. The muscle force f t at thismoment is obtained at the same time. Using f t and lmt, lm

is calculated. This lm is used as lmprev in the next stage to

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 76

calculate vm by finite differentiation, then fmin and fmax canbe calculated again at the next stage. By forward rep-etition of this calculation it is possible to calculate fmin andfmax at any stage during the motion.

Appendix 2

The constant values of the musculoskeletal model arelisted in Table 6. See Figure 23 for the definitions of theparameters.

Figure 23. Definitions of segmental parameters. MT, MS andMF are the masses of the right thigh, shank and foot. GT, GS andGF are the position vectors of the centre of mass of each bodysegment from the corresponding joint. Ix, Iy and Lz are the

moments of inertia around the axes x, y, z

Segment Mass(kg)

Centre of gravity(m)

Principal momentsof inertia(kg m"2)

Thigh 7·58 GTx=0·000 ITx=0·126

GTy= "0·183 ITy=0·080GT

z=0·000 ITz=0·126Shank 3·75 GS

x=0·000 ISx=0·065GS

y= "0·188 ISy=0·019GS

z=0·000 ISz=0·065Foot 1·10 GF

x=0·000 IFx=0·008GF

y=0·0664 IFy=0·008GF

z=0·0457 IFz=0·002

Table 6. Segment dimensions and inertial parameters from Reference 21. Thecentre of mass is modified to match our foot’s local co-ordinate system

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 21: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

DYNAMIC ABILITY OF THE HUMAN BODY

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Appendix 3

The average computation time for each linear program-ming optimization is listed in Table 7. A Pentium II450 MHz computer was used for the calculation.

References

1. G. J. van Ingen Schenau, M. F. Bobbert and A. J. van Soest,‘The unique action of bi-articular muscles in leg extensions’,in Jack M. Winters and Savio L-Y. Woo (eds), MultipleMuscle Systems: Biomechanics and Movement Organization,Springer, New York, 1990, Chap. 41, pp. 638–652.

2. R. D. Crowninshield, ‘Use of optimization techniques topredict muscle forces’, Transactions of the ASME: Journal ofBiomechanical Engineering, 100, 88–92 (1978).

3. M. G. Pandy, F. E. Zajac, E. Sim and W. S. Levine,‘An optimal control model for maximum-height humanjumping’, Journal of Biomechanics, 23(12), 1185–1198 (1990).

4. M. G. Hoy, F. E. Zajac and M. E. Gordon, ‘A musculoskeletalmodel of the human lower extremity: the effect of muscle,tendon, and moment arm on the moment–angle relation-ships of musculotendon actuators at the hip, knee, andankle’, Journal of Biomechanics, 23(2), 157–169 (1992).

5. R. A. Brand, R. D. Crowninshield, C. E. Wittstock, D. R.Pedersen, C. R. Clark and F. M. Van Krieken, ‘A model oflower extremity muscular anatomy’, Journal of BiomechanicalEngineering, 104, 304–310 (1982).

6. S. Delp, P. Loan, M. Hoy, F. Zajac, S. Fisher and J. Rosen, ‘Aninteractive graphics-based model of the lower extremity tostudy orthopaedic surgical procedures’, IEEE Transactions onBiomedical Engineering, BE-37(8), 757–767 (1990).

7. F. C. T. Van Der Helm, ‘A finite element musculoskeletalmodel of the shoulder mechanism’, Journal of Biomechanics,27(5), 551–569 (1994).

8. F. E. Zajac and J. M. Winters, ‘Modeling musculoskeletalmovement systems: Joint and body segmental dynamics,musculoskeletal actuation, and neuromuscular control’, inJack M. Winters and Savio L-Y. Woo (eds), Multiple Muscle

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 77

Systems: Biomechanics and Movement Organization, Springer,New York, 1990, Chap. 8, pp. 121–147.

9. F. Scheepers, R. E. Parent, W. E. Carlson and S. F. May,‘Anatomy-based modeling of the human musculature’,Computer Graphics (Proceedings of SIGGRAPH 97), 31,163–172 (1997).

10. J. Wilhelms and A. Van Gelder, ‘Anatomically basedmodeling’, Computer Graphics (Proceedings of SIGGRAPH 97),31, 172–180 (1997).

11. T. Komura, Y. Shinagawa and T. L. Kunii, ‘Muscle-basedfeed-forward controller of the human body’, ComputerGraphics Forum, 16(3), C165–C176 (1997).

12. D. T. Chen and D. Zeltzer, ‘Pump it up: computer animationof a biomechanically based model of muscle using thefinite element method’, Computer Graphics (Proceedings ofSIGGRAPH 92), 26, 89–98 (1992).

13. Y. Giat, J. Mizrahi and M. Levy, ‘A musculotendon model ofthe fatigue profiles of paralyzed quadriceps muscle underFES’, IEEE Transactions on Biomedical Engineering, BE-40(7),664–674 (1993).

14. Y. Giat, J. Mizrahi and M. Levy, ‘A model of fatigue andrecovery in paraplegic’s quadriceps muscle subjected tointermittent FES’, Transactions of the ASME: Journal ofBiomechanical Engineering, 118, 357–366 (1996).

15. D. M. Fothergill, D. W. Grieve and S. T. Phesan, ‘Humanstrength capabilities during one-handed maximum voluntaryexertions in the fore and aft plane’, Ergonomics, 34(5),563–573 (1991).

16. H. Ruhmann and H. Schmidtke, ‘Human strength: measure-ments of maximum isometric forces in industry’, Ergonomics,32(7), 865–879 (1989).

17. S. Wei and N. I. Badler, ‘Graphical displays of humanstrength data’, The Journal of Visualization and ComputerAnimation, 3(1), 13–22 (1992).

18. T. Yoshikawa, ‘Manipulability of robotic mechanisms’,International Journal of Robotics Research, 4(2), 3–9 (1985).

19. T. Yoshikawa, ‘Dynamic manipulability of robot manipu-lators’, Journal of Robotic Systems, 2(1), 113–124 (1985).

20. S. L. Delp, ‘Surgery simulation: a computer graphics systemto analyze and design musculoskeletal reconstructions of thelower limb’, PhD Thesis, Stanford University, 1990.

21. G. T. Yamaguchi and F. E. Zajac, ‘Restoring unassistednatural gait to paraplegics via functional neuromuscularstimulation: a computer simulation study’, IEEE Transactionson Biomedical Engineering, BE-37, 886–902 (1990).

22. J. A. Friederich and R. A. Brand, ‘Muscle fiber architecture inthe human lower limb’, Journal of Biomechanics, 23(1), 91–95(1990).

23. J. M. Winters, ‘Hill-based muscle models: a systems engin-eering perspective’, in Jack M. Winters and Savio L-Y. Woo(eds), Multiple Muscle Systems: Biomechanics and MovementOrganization, Springer, New York, 1990, Chap. 5, pp. 69–93.

24. M. G. Pandy, F. C. Anderson and D. G. Hull, ‘A parameteroptimization approach for the optimal control of large-scalemusculoskeletal systems’, Journal of Biomechanical Engineering:Transactions of the ASME, 114, 450–460 (1992).

25. R. L. Lieber, ‘Skeletal muscle physiology’, in John P. Butler(ed.), Skeletal Muscle Structure and Function, Williams andWilkins, 1992, Chap. 2, pp. 95–100.

Calculation Time(ms)

Maximal moment (axis) 343·124Maximal moment (ratio) 364·540Maximal acceleration (axis) 364·57Maximal acceleration (ratio) 413·726Maximal force by foot 96·7413Maximal acceleration by foot 87·2813

Table 7. Average computation time for eachcalculation

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)

Page 22: Calculation and visualization of the dynamic ability of the human bodyhomepages.inf.ed.ac.uk/tkomura/jvca.pdf · human body in many areas, such as ergonomics, medical engineering,

T. KOMURA, Y. SHINAGAWA AND T. L. KUNII

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

26. P. Lee, S. Wei, J. Zhao and N. I. Badler, ‘Strength guidedmotion’, Computer Graphics (Proceedings of SIGGRAPH 90),24, 253–262 (1990).

27. M. F. Cohen, ‘Interactive spacetime control for animation’,Computer Graphics (Proceedings of SIGGRAPH 92), 26,293–302 (1992).

28. C. Rose, B. Guenter, B. Bodenheimer and M. F. Cohen,‘Efficient generation of motion transitions using spacetimeconstraints’, Computer Graphics (Proceedings of SIGGRAPH96), 30, 147–152 (1996).

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

Copyright ? 1999 John Wiley & Sons, Ltd. 78

29. M. N. Oguztoreli and R. B. Stein, ‘Analysis of a model forantagonistic muscles’, Biological Cybernetics, 45, 177–186(1982).

30. R. B. Stein and M. N. Oguztoreli, ‘Modification of muscleresponses by spinal circuitry’, Neuroscience, 11, 231–240(1984).

31. R. D. Crowninshield and R. A. Brand, ‘A physiologicallybased criterion of muscle force prediction in locomotion’,Journal of Biomechanics, 14, 793–800 (1981).

v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v

J. Visual. Comput. Animat. 10: 57–78 (1999)