robot kinematics and dynamics for modeling the human body

12
Robot Kinematics and Dynamics for Modeling the Human Body Katsu Yamane and Yoshihiko Nakamura Department of Mechano-Informatics, University of Tokyo {yamane|nakamura}@ynl.t.u-tokyo.ac.jp Summary. A body of effort has been devoted to developing efficient algorithms for kine- matics and dynamics computation of robotic mechanisms, and has been successfully applied to control and simulation of complex mechanisms including industrial manipulators and hu- manoid robots. Thanks to such effort, as well as the recent progress in the computation power, it is becoming more realistic to apply these algorithms to human body dynamics modeling and simulation. On the other hand, the human body has a number of different properties from robotic systems in its complexity, actuators, and controllers. This paper describes our attempt towards building a precise human body dynamics model for its motion analysis and simula- tion. In particular, we present how the algorithms developed in robotics are combined with physiological models and data to address the difficulties of handling real human body. 1 Introduction Computing the dynamics of the human body as precisely as possible has a num- ber of important applications in robotics such as human-machine interface, welfare and rehabilitation robotics, and prosthetics. Also related are such fields as computer graphics, biomechanics, medicine, and sport science. A musculoskeletal model commonly used in literature is composed of rigid bod- ies connected by mechanical joints representing the skeleton, and a set of linear actu- ators representing the muscles. It would therefore be natural to apply the algorithms developed in the robotics field for kinematics and dynamics computation of kine- matic chains. In the robotics field, a body of effort has been devoted to developing efficient al- gorithms for kinematics and dynamics modeling and computation of robotic mecha- nisms. Examples of the pioneering work include compact representation of the joint kinematic parameters [1], realtime forward kinematics and inverse dynamics for con- trol [2], and linear-time forward dynamics algorithms [3]. These models and algo- rithms have been successfully applied to control and simulation of complex mecha- nisms including industrial manipulators and humanoid robots. However, applying existing algorithms is not straightforward due to the differ- ences between the human body and robotic mechanisms. The main difference is that

Upload: duongminh

Post on 10-Feb-2017

218 views

Category:

Documents


0 download

TRANSCRIPT

Robot Kinematics and Dynamics forModeling the Human Body

Katsu Yamane and Yoshihiko Nakamura

Department of Mechano-Informatics, University of Tokyo{yamane|nakamura }@ynl.t.u-tokyo.ac.jp

Summary. A body of effort has been devoted to developing efficient algorithms for kine-matics and dynamics computation of robotic mechanisms, and has been successfully appliedto control and simulation of complex mechanisms including industrial manipulators and hu-manoid robots. Thanks to such effort, as well as the recent progress in the computation power,it is becoming more realistic to apply these algorithms to human body dynamics modelingand simulation. On the other hand, the human body has a number of different properties fromrobotic systems in its complexity, actuators, and controllers. This paper describes our attempttowards building a precise human body dynamics model for its motion analysis and simula-tion. In particular, we present how the algorithms developed in robotics are combined withphysiological models and data to address the difficulties of handling real human body.

1 Introduction

Computing the dynamics of the human body as precisely as possible has a num-ber of important applications in robotics such as human-machine interface, welfareand rehabilitation robotics, and prosthetics. Also related are such fields as computergraphics, biomechanics, medicine, and sport science.

A musculoskeletal model commonly used in literature is composed of rigid bod-ies connected by mechanical joints representing the skeleton, and a set of linear actu-ators representing the muscles. It would therefore be natural to apply the algorithmsdeveloped in the robotics field for kinematics and dynamics computation of kine-matic chains.

In the robotics field, a body of effort has been devoted to developing efficient al-gorithms for kinematics and dynamics modeling and computation of robotic mecha-nisms. Examples of the pioneering work include compact representation of the jointkinematic parameters [1], realtime forward kinematics and inverse dynamics for con-trol [2], and linear-time forward dynamics algorithms [3]. These models and algo-rithms have been successfully applied to control and simulation of complex mecha-nisms including industrial manipulators and humanoid robots.

However, applying existing algorithms is not straightforward due to the differ-ences between the human body and robotic mechanisms. The main difference is that

2 Katsu Yamane and Yoshihiko Nakamura

the objective of the computations for human body dynamics is to know what is hap-pening in the human body, while that for robotic systems is to drive the system asdesired. The results of analysis and simulation of the human body should thereforebe both physically and physiologically consistent, although it is virtually impossibleto collect all the data required to validate the results especially for human subjects.

The problem of human motion analysis and simulation using musculoskeletalmodels has been intensively investigated in the biomechanics and prosthetics fieldsfor years, and even several commercial and non-commercial software packages areavailable [4–6]. There are two main streams of computation that correspond to in-verse and forward dynamics in the robotics terminology.

Inverse dynamics of musculoskeletal models is used to estimate the joint torquesand muscle tensions from motion, ground contact force, and/or electromyograph(EMG) measurements [7–13]1. The inverse dynamics analysis has two inherent prob-lems: inconsistency between the measured data (e.g. motion vs. ground contact force)due to modeling error [14], and indeterminate muscle tensions due to actuation re-dundancy. A common solution to the latter problem is to apply optimization tech-niques to obtain a unique solution [9–11].

Forward dynamics computation, on the other hand, is performed to simulate themotion assuming a muscle activation pattern obtained by some control or optimiza-tion techniques. Thelen et al. [15] developed a controller analogous to computedtorque control and resolved acceleration control [16]. Pandy and colleagues [17–19]applied optimization techniques to optimize the motion for various tasks. These com-putations are particularly useful for cases where exact reference motions are notknown, e.g. synthesizing new motions for different subjects. However, control andoptimization would be difficult for complex models due to the instability and com-putational cost.

In graphics, several musculoskeletal models have been developed for renderingrealistic characters [20–24]. Most of the work in this area is focused on synthesizingvisually plausible geometry and motion of virtual characters. Realtime computation,or interactivity, is often more important than physical or physiological consistency.

In this paper, we describe our attempt towards building a precise human bodydynamics model for its motion analysis and simulation. In particular, we presenthow the algorithms developed in robotics are combined with physiological modelsand data to address the difficulties of handling real human body.

2 Robot and Human Dynamics

The musculoskeletal human model consists of amusculo-tendon networkand askele-ton. The skeleton is a set of rigid links connected by mechanical joints, while themusculo-tendon network is composed of wires representing the elements to driveand/or constrain the bones including muscles, tendons, ligaments, and cartilages.

1 In biomechanics, computing the muscle tensions or joint torques directly from EMG mea-surements is sometimes referred to as forward simulation.

Robot Kinematics and Dynamics for Modeling the Human Body 3

Table 1.Complexity of the musculoskeletal model.

musculo-tendon networkmuscles 997tendons 50ligaments 117cartilages 34total wires 1198muscle groups 78virtual links 72

skeletonbones 200bone groups 53total DOF 155

Fig. 1. The musculoskeletal human model; yellow: muscles, blue: tendons and ligaments,white square: virtual links.

Each wire has a pair of start and end points, and any number ofvia pointswhere thewire can slide back and forth without friction. Each set of agonist muscles, as definedin biomechanics, forms a muscle group, which will be used in the inverse dynamicscomputation later.

Table 1 summarizes the complexity of our full musculoskeletal model shownin Fig. 1. The model includes all the minor muscles which are usually ignored insimplified models, allowing more precise computation of the tensions of individualmuscles. In addition to the quantitative difference, the qualitative feature of the modelis the introduction ofvirtual links for modeling branched muscles. Refer to [25] formore details of the modeling method.

In order to apply the robot dynamics algorithms, the wire tensions should beconverted to joint torques. The conversion is commonly realized by utilizing theparameter calledmoment armin biomechanics literature. Moment arm is defined asthe distance from the joint axis to the muscle. The definition is usually limited torotational joints and planar models because the distance is measured in the planeperpendicular to the joint axis.

Application of robot kinematics and mechanics can provide a more general wayfor converting the wire tensions to joint torques. The principle of virtual work and

4 Katsu Yamane and Yoshihiko Nakamura

d’Alembert’s Principle yield the following equation relating the wire tensions andthe generalized forces:

τ = JTf (1)

whereτ is the generalized forces,f is the wire tensions, andJ is a Jacobian matrixdefined as

J =∂l

∂q(2)

wherel is the vector of wire lengths andq is the vector of the generalized coordi-nates.

The Jacobian matrixJ is computed as follows. Let us first considerJ i, the Ja-cobian matrix ofli, the length of thei-th wire, with respect to the generalized coor-dinates. Suppose that thei-th wire is comprised ofmi (mi ≥ 2) points including thevia-points and the origin and end points. Let us denote the position ofj-th via point(start point ifj = 0 and end point ifj = mi − 1) by pi,j , the distance between thej-th and(j+ 1)-th via-points byli,j (j = 0, 1, . . . ,mi−2), and the Jacobian matrixof li,j with respect to the generalized coordinates byJ i,j . li,j is computed as

lij =√(pi,j+1 − pi,j

)T (pi,j+1 − pi,j

)(3)

Differentiating Eq.(3) with respect to the generalized coordinates yields

J i,j =∂li,j∂q

=1li,j

(pi,j+1 − pi,j

)T ∂

∂q

(pi,j+1 − pi,j

)

=1li,j

(pi,j+1 − pi,j

)T (JPi,j+1 − JPi,j) (4)

whereJPi,j = ∂pi,j/∂q denotes the Jacobian matrix ofpi,j with respect to thegeneralized coordinates, which can be calculated by methods such as [26]. Becauseli =

∑mi−2j=0 li,j , J i can be computed by

J i =mi−2∑

j=0

J i,j . (5)

We first computeJ i by Equations (5) and (4) and then obtainJ by copyingJ i tothei-th row ofJ .

3 Estimating the Muscle Tensions

Inverse dynamics of musculoskeletal human models means to estimate the wire ten-sionsf that realize a given set of joint accelerations at a given state. Becauseτ canbe obtained by applying any inverse dynamics algorithm for robots (e.g. [2]), this isthe problem of solving the linear equation Eq.(1) forf with inequality constraintssuch as minimum and maximum muscle tensions.

Inverse dynamics of human musculoskeletal model has the following two inher-ent difficulties:

Robot Kinematics and Dynamics for Modeling the Human Body 5

1. the number of solutions can be from zero to infinity, depending upon the wireplacements and number of wires, and

2. it is very difficult to validate the results because no ground truth data are avail-able.

These problems have been recognized in the biomechanics community for years anda number of solutions have been proposed.

One of the solutions to the first problem is setting appropriate objective functionand applying linear [10] or nonlinear [9,11] numerical optimization techniques. Ourapproach is similar to Rasmussen et al. [10] in that both use linear programming tooptimize the muscle tensions. The objective function in [10] is the maximum muscleactivity. The drawback of the simple objective function is that an iterative procedureis required to determined all muscle tensions. Our formulation, on the other hand,includes a number of factors such as maximum and minimum muscle activities de-rived from muscle dynamics and tension distribution among agonist muscles, and asa result, it only has to solve the linear programming problem once.

The second problem is still an open research issue and, to our knowledge, thereis no widely accepted solution yet. It would be possible to obtain the ground truthby precisely measuring the electromyography (EMG) of all muscles. However, thisapproach is totally unrealistic especially for whole-body models because it requiresneedle EMG to access the inner muscles, as well as huge number of AD channels toobtain the data from all muscles at the same time. In addition, the tensions computedfrom EMG data are not reliable due to the noise in EMG measurements and uncer-tain muscle model parameters. Some researchers in biomechanics have developed amethod for estimating precise muscle tensions and/or joint torques using EMG databy performing parameter identification at the same time [12, 13]. Due to the lim-itation of the measurement, however, the musculoskeletal model can only includemuscles with EMG electrodes attached, which are usually limited to a few surfacemuscles of a part of the body. We instead try to obtain both physically and physiolog-ically reasonable whole-body muscle tensions by forming an optimization problemsuch that the error of the tension-torque transformation equation (1) becomes min-imum while respecting the physiological muscle dynamics and the muscle activityinformation measured by EMG.

The optimization is formulated as the following linear programming problem:

Find δτ , δf , δm, andf that minimize

Z = aTτ δτ + aTf δf + aTmδm (6)

subject to−fmax ≤ f ≤ −fmin (7)

−δτ ≤ τ − JTf ≤ δτ (8)

0 ≤ δτ (9)

−δf ≤ f − f∗ ≤ δf (10)

6 Katsu Yamane and Yoshihiko Nakamura

0 ≤ δf (11)

−δm ≤ EGf ≤ δm (12)

δm ≤ 0 (13)

aτ , af andam are user-specified constant vectors with positive components,f∗ isthe vector of reference muscle tensions,fmax ≥ 0 andfmin ≥ 0 are the vectorsof maximum and minimum muscle tensions respectively, andEG is a constant ma-trix. The details of the objective function and constraints, as well as the methods forobtainingfmax, fmin andEG, will be described below.

The advantage of applying linear programming is that it is computationally ef-ficient than other nonlinear methods such as quadratic programming. The problemis, on the other hand, that the solution often becomes both temporally and spatiallyjerky. We would need to define a good set of constraints to obtain plausible muscletensions.

In physiology [27,28], it is known that the tension of a muscle is described as

f = afl(l)fv(l)Fiso (14)

wherea is the muscle activity,Fiso is the muscle’s maximum isometric tension,l isthe muscle length. Functionsfl(∗) andfv(∗) gives the normalized maximum tensionfrom the muscle length and its velocity, respectively. It is also known that the muscleactivity a changes according to the following first-order differential equation:

a =u− aT

{T = Ta (u ≥ a)T = Td (u < a) (15)

whereu (0 ≤ u ≤ 1) is the normalized input from the motor neuron,Ta andTd arethe time constants for activation and deactivation respectively. Equation (15) givesthe upper and lower bounds of the muscle activity in continuous motions, which are

amax = min {1, a0 + (1− a0)∆t/Ta} (16)

andamin = max {0, a0 − a0∆t/Td} (17)

respectively, wherea0 is the activity at the previous frame and∆t is the time differ-ence between the previous and current frames. The upper and lower bounds for themuscle tension are therefore

fmax = amaxfl(l)fv(l)Fiso (18)

fmin = aminfl(l)fv(l)Fiso (19)

respectively. The vector-form upper and lower boundsfmax andfmin can be ob-tained by collecting these values for all muscles.

The first term of the right-hand side of Eq.(6) tries to minimize the error of thetension-torque transformation equation (1) by including the weighted sum ofδτ ,which includes the absolute error of Eq.(1) as shown in Eq.(8).

Robot Kinematics and Dynamics for Modeling the Human Body 7

0 0.5 1 1.5 2-1800

-1600

-1400

-1200

-1000

-800

-600

-400

-200

0

time (s)

ten

sion (

N)

Left VastusLateralis

Right VastusLateralis

Fig. 2. Estimated muscle tensions of left and right vastus lateralis during walk motion.

The second term is included to make the muscle tensions as close as possible toa set of reference tensionsf∗ [29]. Each element off∗ is set to 0 if the EMG dataof the corresponding muscle is not available, otherwise set to the muscle tensionestimated from the EMG data and the physiological muscle model described above.

Finally, the third term of Eq.(6) and Eqs.(12)(13) are included to equalize asmuch as possible the tensions of muscles in the same group [30]. The reason forincluding this term is that the synergist muscles tend to exhibit similar activity levelsdue to stretch reflex. Suppose groupm includesnm muscles andGm denote the setof their indices. The average tension of groupm is computed by

fm =1nm

k∈Gmfk (20)

wherefk is the tension of thek-th muscle. The difference between the average ten-sion and thek-th (k ∈ Gm) muscle’s tension can be written as

∆fmk = fm − fk = EGmkf (21)

whereEGmk is a row vector whosei-th element is(1− nm)/nm if i = k, 1/nm ifi ∈ Gm andi 6= k, and 0 otherwise. By collectingEGmk(k ∈ Gm) for all groupsand stacking them vertically, we obtain the matrixEG in Eq.(12).

Figure 2 shows an example of estimated tensions of the muscles in the thighduring walk motion.

8 Katsu Yamane and Yoshihiko Nakamura

Table 2. Computation times for serial and parallel computations (ms) and ratio of speedup.Each node in the cluster has two Intel Xeon 3.8GHz processors and the nodes are connectedby Myrinet.

DOF 40 52 161] of joints 15 19 53

1 process 0.249 0.301 0.7732 processes0.155 0.186 0.443(speedup) (38%) (38%) (43%)

4 processes0.153 0.177 0.356(speedup) (39%) (41%) (54%)

4 Human Motion Simulation

Once the muscle tensions are computed by some controller, simulating the motionof a musculoskeletal model is straightforward given the tension-torque conversionequation (1) and the forward dynamics algorithms developed for kinematic chains.The major difficulties of human motion simulation are:

1. the computational cost due to the complexity of the skeleton model, and2. how to design a controller to obtain the muscle tensions.

A solution to the first problem is to apply the efficient algorithms for robotforward dynamics computation (e.g. [3, 31, 32]). The authors [33, 34] have alsodeveloped a linear-time forward dynamics algorithm for kinematic chains calledAssembly-Disassembly Algorithm(ADA). ADA can handle both open and closedkinematic chains, and can be easily parallelized to further reduce the computationtime on multiple-core or CPU systems. It is also shown that ADA is likely to bemore efficient than several algorithms with similar ability [35].

Table 2 shows the computation time for computing the joint accelerations of threehuman figures, including the skeleton model introduced in Section 2. The simulationtime for the complex skeleton can be only 1.5 times slower than real time with 4-thorder Runge-Kutta integration.

Controlling a musculoskeletal human model as complex as ours is even moredifficult. One of the possible solutions is to first compute the joint torques by apply-ing controllers for humanoid robots, and then convert them to muscle tensions bythe method described in the previous section. However, this approach may not workbecause the skeleton model itself is much more complex than common humanoidrobots. In addition, again there is no guarantee that the human uses the same controlscheme.

Although we do not have a valid solution for this problem yet, we are tryingto build a neuro-muscular model including low-level reflex models [30, 36]. In thiswork, we demonstrated that a sequence of 997-dimensional muscle tension vectorcan be represented by only 120 independent signals. We then trained a neural net-work model including the closed loops representing the somatic reflex such that itoutputs the muscle tensions from the corresponding independent signals. Figure 3

Robot Kinematics and Dynamics for Modeling the Human Body 9

Fig. 3. Patellar tendon reflex simulated from the output of the neuro-muscular model.

shows an example of a motion resulting from the modeled reflex. In this example,a step signal emulating the effect of patellar tendon reflex was input to the neuralnetwork model. The output muscle tensions were then fed into the dynamics simu-lator, which resulted in a motion similar to those observed in the human leg. Thismodel would be the first step towards general-purpose controllers that is capable ofgenerating physiologically plausible muscle tensions.

5 Conclusion

This paper presented how the algorithms for robot kinematics and dynamics compu-tations were extended to model the human body dynamics. The main research issuewas how to incorporate the physiological models and data in the algorithmic andoptimization framework. Specific results obtained in this paper are summarized asfollows:

1. Efficient algorithms for inverse and forward dynamics of kinematic chains wereapplied to muscle tension estimation and motion simulation of human muscu-loskeletal models.

2. Robot kinematics algorithm for computing the robot manipulator Jacobian ma-trices was applied to deriving a general method for computing themoment armused in biomechanics.

3. A numerical optimization technique was combined with physiological musclemodels and the dynamics computations to obtain the muscle tensions.

There are several open research issues to be investigated. Validation of the pre-sented models and computations is particularly difficult when we are dealing withreal human body because we cannot perform invasive measurements on human sub-jects. One of the solutions would be to indirectly verify the results by comparingthem with the observations of other experts, e.g. medical diagnosis. Obtaining mus-cle activation patterns to control the complex musculoskeletal model is also chal-lenging but important technique to synthesize motions that are difficult to perform.

10 Katsu Yamane and Yoshihiko Nakamura

From a computational point of view, further accelerating the computation for muscletension estimation by, for example, parallel processing is also interesting.

To our knowledge, the model and algorithms presented in this paper are the firstto enable both muscle tension estimation and dynamics simulation of the whole-body musculoskeletal system. Most of the previous work, particularly for estimat-ing the muscle tensions, is limited to simplified partial model of the body such aslower limb [11–13, 15] and upper limb [9], and very few whole-body models areemployed [6,10] due to the computational and sensory limitations. Our model wouldtherefore become an essential tool for analyzing and simulating human motions infields where whole-body coordination plays an important role. An example of thefields that require such models is sport science. Most of the previous work on apply-ing biomechanical models to sport science dealt with relatively simple tasks such asjumping, running, and throwing. However, there remains a vast variety of tasks thatrequire higher level of whole-body motion coordination including gymnastics andmartial arts.

One of the applications we would like to pursue is development of a system fordiagnosis and rehabilitation of neurological diseases that cause problems in motioncoordination. Whole-body musculoskeletal models are essential for the diagnosis ofsuch diseases because even a small damage in the brain or spine can affect the mo-bility of a wide area of the body due to the complex nerve network. Our algorithmsalso provide a less invasive procedure for collecting the data for the diagnosis byrequiring smaller set of measurements than conventional methods while allowingqualitative evaluation.

An interesting application in robotics is to design the reflex and compliance ofhumanoid robots based on the neuro-muscular network model including reflex pre-sented in Section 4. Acquiring a whole-body reflex system similar to that of humansis important for robots making physical interactions with human for safety and sta-bility. Whole-body compliance is also important for keeping balance under distur-bances and interactions with the environment. Considering the robustness of the bal-ance control of human, adapting human neuro-muscular system can be a promisingapproach to realizing safe and robust hardware and controller.

Acknowledgement

The authors gratefully acknowledge that part of the work was conducted in col-laboration with Dr. Masaya Hirashima, Mr. Yusuke Fujita, and Mr. Akihiko Murai.This paper was compiled from the outcome of the projects supported by JSPS grantsNo. 15100002 and No. 17200012, NEDO grant No. 05A03011a, and a MEXT Spe-cial Coordination Fund for Promoting Science and Technology.

References

1. J. Denavit and R. Hartenberg, “A kinematic notation for lower-pair mechanisms based onmatrices,”ASME Journal of Applied Mechanics, vol. 22, pp. 215–221, 1955.

Robot Kinematics and Dynamics for Modeling the Human Body 11

2. J. Luh, M. Walker, and R. Paul, “On-line Computational Scheme for Mechanical Ma-nipulators,”ASME Journal on Dynamic Systems, Measurment and Control, vol. 104, pp.69–76, 1980.

3. R. Featherstone,Robot Dynamics Algorithm. Boston, MA: Kluwer Academic Publish-ers, 1987.

4. S. Delp and J. Loan, “A computational framework for simulating and analyzing humanand animal movement,”IEEE Computing in Science and Engineering, vol. 2, pp. 46–55,2000.

5. J. Rasmussen, M. Damsgaard, E. Surma, S. Christensen, M. de Zee, and V. Vondrak,“AnyBody—a software system for ergonomic optimization,” inFifth World Congress onStructural and Multidisciplinary Optimization, 2003.

6. S. Delp, F. Anderson, A. Arnold, P. Loan, A. Habib, C. John, E. Guendelman, andD. Thelen, “OpenSim: Open-source software to create and analyze dynamic simulationsof movement,”IEEE Transactions on Biomedical Engineering, 2007 (in press).

7. A. Kuo, “A least-squares estimation approach to improving the precision of inverse dy-namics computations,”Journal of Biomechanical Engineering, vol. 120, no. 1, pp. 148–159, 1998.

8. W. Blajer, K. Dziewiecki, and Z. Mazur, “Multibody modeling of human body for theinverse dynamics analysis of sagittal plane movements,”Multibody System Dynamics,vol. 18, no. 2, pp. 217–232, 2007.

9. J. H. Challis, “Producing physiologically realistic individual muscle force estimationsby imposing constraints when using optimization techniques,”Medical Engineering &Physics, vol. 19, no. 3, pp. 253–261, 1997.

10. J. Rasmussen, M. Damsgaard, and M. Voigt, “Muscle recruitment by the min/maxcriterion—a comparative study,”Journal of Biomechanics, vol. 34, no. 3, pp. 409–415,2001.

11. E. Forster, U. Simon, P. Augat, and L. Claes, “Extension of a state-of-the-art optimizationcriterion to predict co-contraction,”Journal of Biomechanics, vol. 37, no. 4, pp. 577–581,2004.

12. D. Lloyd and T. Besier, “An emg-driven musculoskeletal model to estimate muscle forcesand knee joint moments in vivo,”Journal of Biomechanics, vol. 36, no. 6, pp. 765–776,2003.

13. T. Buchanan, D. Lloyd, K. Manal, and T. Besier, “Estimation of muscle forces and jointmoments using a forward-inverse dynamics model,”Medicine and Science in Sports andExercise, vol. 37, no. 11, pp. 1911–1916, 2005.

14. H. Hatze, “The fundamental problem of myoskeletal inverse dynamics and its implica-tions,” Journal of Biomechanics, vol. 35, no. 1, pp. 109–115, 2002.

15. D. Thelen, F. Anderson, and S. Delp, “Generating dynamic simulations of movementusing computed muscle control,”Journal of Biomechanics, vol. 36, no. 3, pp. 321–328,2003.

16. J. Luh, M. Walker, and R. Paul, “Resolved Acceleration Control of Mechanical Manipu-lators,” IEEE Transactions on Automatic Control, vol. 25, no. 3, pp. 468–474, 1980.

17. F. Anderson and M. Pandy, “Dynamic optimization of human walking,”ASME Journal ofBiomechanical Engineering, vol. 123, pp. 381–389, 2001.

18. ——, “A dynamic optimization solution for vertical jumping in three dimensions,”Com-puter Methods in Biomechanics and Biomedical Engineering, vol. 2, pp. 201–231, 1999.

19. ——, “Static and dynamic optimization solutions for gait are practically equivalent,”Journal of Biomechanics, vol. 34, pp. 153–161, 2001.

20. L. Nedel and D. Thalmann, “Modeling and deformation of human body using ananatomy-based approach,” inProceedings of Computer Animation ’98, 1998, pp. 34–40.

12 Katsu Yamane and Yoshihiko Nakamura

21. V. Ng-Thow-Hing, “Anatomically-based models for physical and geometric reconstruc-tion of humans and other animals,” Ph.D. dissertation, University of Toronto, 2001.

22. J. Teran and S. Blemker, “Finite volume methods for the simulation of skeletal muscle,”in Proceedings of SIGGRAPH/Eurographics Symposium on Computer Animation, 2003,pp. 68–74.

23. F. Scheepers, R. Parent, W. Carlson, and S. May, “Anatomy-based modeling of the humanmusculature,” inProceedings of SIGGRAPH’97, 1997, pp. 163–172.

24. J. Wilhelms and A. Van Gelder, “Anatomically based modeling,” inProceedings SIG-GRAPH’97, 1997, pp. 173–180.

25. Y. Nakamura, K. Yamane, Y. Fujita, and I. Suzuki, “Somatosensory computation for man-machine interface from motion capture data and musculoskeletal human model,”IEEETransactions on Robotics, vol. 21, no. 1, pp. 58–66, 2005.

26. D. Orin and W. Schrader, “Efficient Computation of the Jacobian for Robot Manipula-tors,” International Journal of Robotics Research, vol. 3, no. 4, pp. 66–75, 1984.

27. A. Hill, “The heat of shortening and the dynamic constants of muscle,” inProceedings ofthe Royal Society of London, vol. B126, 1938, pp. 136–195.

28. S. Stroeve, “Impedance Chracteristics of a Neuro-Musculoskeletal Model of the HumanArm I: Posture Control,”Journal of Biological Cyberneics, vol. 81, pp. 475–494, 1999.

29. K. Yamane, Y. Fujita, and Y. Nakamura, “Estimation of physically and physiologicallyvalid somatosensory information,” inProceedings of IEEE International Conference onRobotics and Automation, Barcelona,Spain, April 2005, pp. 2635–2641.

30. Y. Nakamura, K. Yamane, and A. Murai, “Macroscopic modeling and identification of thehuman neuromuscular network,” inProceedings of the 28th Annual International Confer-ence of the IEEE Engineering in Medicine and Biology Society, New York City, NY,August 2006, pp. 99–105.

31. A. Fijany, I. Sharf, and G. D’Eleuterio, “ParallelO(logN) Algorithms for Computationof Manipulator Forward Dynamics,”IEEE Transactions on Robotics and Automation,vol. 11, no. 3, pp. 389–400, 1995.

32. R. Featherstone, “A Divide-and-Conquer Articulated-Body Algorithm for ParallelO(log(n)) Calculation of Rigid-Body Dynamics. Part1: Basic Algorithm,”InternationalJournal of Robotics Research, vol. 18, no. 9, pp. 867–875, September 1999.

33. K. Yamane and Y. Nakamura, “O(N) Forward Dynamics Computation of Open Kine-matic Chains Based on the Principle of Virtual Work,” inProceedings of IEEE Interna-tional Conference on Robotics and Automation, 2001, pp. 2824–2831.

34. ——, “Efficient Parallel Dynamics Computation of Human Figures,” inProceedings ofthe IEEE International Conference on Robotics and Automation, May 2002, pp. 530–537.

35. ——, “ParallelO(logN) Algorithm for Dynamics Simulation of Humanoid Robots,” inProceedings of IEEE-RAS International Conference on Humanoid Robotics, Genoa, Italy,December 2006, pp. 554–559.

36. A. Murai, K. Yamane, and Y. Nakamura, “Modeling and identifying the somatic reflexnetwork of the human neuromuscular system,” inProceedings of the 29th Annual Inter-national Conference of the IEEE Engineering in Medicine and Biology Society, 2007, pp.2717–2721.