Statistics for Digital Human Motion Modeling in Ergonomics Julian Faraway1 and Matthew P. Reed2 Department of Mathematical Sciences1, Univ. of Bath, Bath, BA2 7AY, UK & Transportation Research Institute2 Univ. of Michigan Ann Arbor, MI 48109, USA (jjf23@bath.ac.uk and mreed@umich.edu) April 2, 2007 Abstract Modern manufacturing industry demands that products be designed for the comfort and accessibility of consumers as well as workplaces for the health and safety of employees. Speed of implementation requires that these designs be constructed in a virtual world. Digital human models are required for these virtual worlds for the exploration of vehicle and manufacturing designs from an ergonomic perspective. This article provides an overview of the ergonomic issues and statistical methods for human motion modeling. We first describe methods for modeling the basic elements of motion, decomposed into univariate curves, 3D trajectories and orientation trajectories. Methods for combining the components of the motion into a coherent whole are then presented. Two application examples in truck driver behavior and sheet metal assembly illustrate the methodology. KEY WORDS: Functional data analysis, trajectories, orientation, quaternions, digital human model, virtual manufacturing. 1 Introduction Consider the design and production of a new vehicle. The vehicle must be built and used by humans so the design must accommodate a wide range of heights, strengths, ages and so on. On the product side, we must ensure that the customer can perform all the necessary functions in a safe and comfortable manner, while, on the manufacturing side, we must ensure that large volumes of the vehicle can be made within the capabilities of a wide range of workers. Years ago, manufacturers could build a sequence of prototypes and use these to discover and rectify any problems. But now competitive pressures mean that the time to bring a vehicle to market is greatly reduced. Automotive manufacturers aim to produce the design for a new vehicle and the manufacturing facility to build it in an entirely virtual world. This speeds the introduction of the 1 new product, but it does mean that designers must aim to anticipate any ergonomic problems before a physical build of the vehicle is completed or a new production facility is built. Experience with similar vehicles produced in the past is useful, but new vehicles have new features that may require design modifications. For these reasons, we need models that predict how humans of different types will behave in vehicle and workplace environments. We can then experiment with different virtual humans in the vehicle or production environment to detect any ergonomic problems and suggest appropriate design modifications. One important aspect of human behavior that is relevant to ergonomic analysis is volitional, task-oriented movement. As can be readily seen, there is substantial variation in the way that people move that depends on their physical size, gender, age and other factors. There is also natural, but unexplained, variation in human movement. Predicting human motion and modeling this variation is a task for which statistical methods can be useful. Even so, there is a wide range of other approaches to motion prediction, discussed below, with which statistical methods must compete. Our overall aim is to present a suite of statistical methods for human motion modeling. Al- though most of our efforts have been directed towards digital human models for vehicle design and manufacturing, the methods we present are applicable to ergonomic issues arising in other industries and institutions. For example, digital human models have proved useful in the design of retail stores so that wheelchair users can comfortably use the checkouts, both as customers and sales assistants. Human motion modeling is also used in a range of other areas such as sport, neuroscience and movie and video game production. The objectives in these areas vary, and while the methods we present here can be useful, other approaches may be better. For example, in current video games, the characters perform motions from a limited and precalculated library of motions due to the demands of real-time performance. In this article, we provide a background to the ergonomic issues in Section 2. Motion of the whole body is composed of several simpler parts — for example, how the head or the hand moves. In Section 3, we describe the statistical methods which we have developed for modeling these elemental components of motion. We describe methods for modeling univariate curves, such as the angle of some body segment over time, 3D trajectories such as those formed by the hand during motion and orientation trajectories such as those formed by the head. We also describe how we collect human motion data and discuss how its characteristics affect the choice of analysis. The elemental motion must be combined into predictions of motion for the whole body in Section 4. This is not straightforward as the parts have to be coherently combined to form the whole. In Section 5, we present two application examples showing the utility of our research and finish with a discussion of possible future research in Section 6. 2 Ergonomics Background Ergonomics is the study of people at work and the practice of matching the features of products and jobs to human capabilities, preferences, and limitations (Chaffin, Andersson, and Martin (1999)). Industrial ergonomics focuses on ensuring that jobs are designed for safe and efficient work. In 2 product design, ergonomics guides the selection of product features and design characteristics that will improve safety, comfort, and performance of users. Ergonomics is also an important consideration in the design of products for maintainability and disassembly for recycling. Historically, ergonomics has been largely reactive, fixing problems as they are identified. But computer-aided design tools increasingly allow ergonomics considerations to be addressed early in the design of products and industrial processes through computer simulations. Human capa- bilities, requirements, and performance are represented in these simulations through the use of digital human models (DHM), software avatars that represent human size, shape, strength, vision, and movement as they interact with virtual geometry and environments (Chaffin (2001)). Cur- rent commercial DHM tools, such as SafeWorkTM (http://www.safework.com/) and JackTM (http://www.ugs.com/products/tecnomatix/human_performance/jack/) have sophisticated algorithms for body dimension scaling and for analyzing the internal forces and torques that would be experienced by a person performing the simulated tasks. Porter, Case, Freer, and Bonney (1993) summarized applications of digital human models in vehicle ergonomics during the early years of personal computers, at which time few of the current commercial DHM software tools were in use. DHM are now widely used in the design of products, particularly aircraft, cars, trucks, and other vehicles. Industrial manufacturers are also increasingly using DHM to simulate workers in computer simulations of new plants or processes. In spite of these successes, the use of DHM has been hampered by the lack of fast, accurate, and reliable posture and motion simulation. Until recently, simulating a task that would be very simple for a real human, such as walking to a shelf and picking up a tool, required the ergonomics analyst to perform time-consuming manual posturing of the figure at each critical transition in the motion. Using this process, known in animation as keyframing, the skilled analyst requires many hours to create a simulation of a manual activity that would take a few seconds for a person to perform. Yet this process does not necessarily provide accurate postures or motions, dependent as it is on the analyst’s judgement as to how a person would perform the task. Moreover, the analyst must often redo much of the work if the environment is changed or the characteristics of the virtual human (such as body size) are altered. The extremely time-consuming nature of keyframe animation presumably creates a substantial incentive to develop predictive tools. Yet, because of the difficulty of developing the necessary algorithms, human motion simulation for entertainment applications (films, video games) and for ergonomics has increasingly been achieved through the capture and editing of specific human motions. In feature films, commercials, and video games, nearly every movement of a computer- generated character is produced by playing back motion data obtained from a human actor, possibly after modifying or “warping” the motion. The seemingly insurmountable advantage of motion- capture data over motion prediction for commercial animation is the obvious naturalness of the motion. When the movie or video-game director knows that a particular character will perform a particular motion with a particular prop, or when the physical repertoire of a game character is limited to a handful of actions, motion capture (with sophisticated editing and modification software) meets the need. Hence, relatively little effort has been directed toward the realistic prediction of novel human motions. As evidence of the importance of posture and motion simulation, dozens of papers in the au- 3 tomotive engineering literature and in other forums have presented a wide variety of methods for human simulating postures and motions, including multiple-regression Snyder, Chaffin, and Schutz (1972); analytic and numerical inverse kinematics (Jung, Kee, and Chung (1995); Tolani, Goswami, and Badler (2000)); optimization-based inverse kinematics (Wang and Verriest (1998)); differential inverse kinematics (Zhang and Chaffin (2000)); functional regression on stretch-pivot parameters (Faraway (2003a)); scaling, warping, and blending of motion-capture data (Park, Chaf- fin, and Martin (2002); Faraway (2004a); Monnier, Wang, Verriest, and Goujon (2003); Park, Chaffin, and Martin (2004); Dufour and Wang (2005)); and many forms of optimization (e.g., Flash and Hogan (1985); Engelbrecht (2001); Marler, Rahmatalla, Shanahan, and Abdel-Malek (2005); Wang, Xiang, Kim, Arora, and Abdel-Malek (2005)). Every software manikin used for ergonomics includes some inverse kinematics (IK) capability for posturing. Given a particular position and orientation in space for a hand or foot, the software will use IK methods to calculate the angles of the joints of adjacent segments to attain the goal. The problem is underdetermined, because the linkage system (arm or leg) has more kinematic degrees of freedom than are specified for the hand or foot. The methods for performing inverse kinematics calculations and solving the redundancy problem vary widely. An extensive literature on inverse kinematics has emerged from the field of robotics, because placing an end effector at a particular location in space, or tracing a path, is an essential function of industrial robots. However, inverse kinematics alone produces a feasible posture, not necessarily a likely or accurate posture. In some cases, as in the RAMSISTM software, the joint angles are calculated to maximize the likelihood of the joint angles relative to a stored set of joint-angle probability distributions. When applied in task situations similar to those used for collecting the underlying data, this approach yields postures that have the most likely joint angles for similar size people while meeting the kinematic constraints. One common approach is to assume that humans will move in order to optimize some crite- rion that represents effort or comfort, for example, subject to the constraints imposed by the task. Examples of this type of approach include the minimization of joint torques (Uno, Kawato, and Suzuki (1989)), the minimization of the rate of change of segment acceleration (Flash and Hogan (1985)), the minimization of joint deviations from neutral (Marler, Rahmatalla, Shanahan, and Abdel-Malek (2005)), and the maximization of strength as a function of joint angles (Zacher and Bubb (2005)). Visually realistic motion is a necessary, but not sufficient level of fidelity for ergonomics anal- ysis. Because DHM are used for quantitative assessments of reach capability, body clearances, strength, and tissue stresses, human simulations for ergonomics applications must be quantita- tively accurate, meaning that they are in some way quantitatively representative of the manner in which the people with the specified characteristics would perform the tasks being investigated. This necessity for quantitative accuracy means that the algorithms that are used to generate the motion must be developed and validated with reference to data from real, task-oriented human motions. And because the variation in the motions of people performing the same task is often of considerable interest, the algorithms, and the understanding that underlies them, must encompass important aspects of human variability. Our strategy can be distinguished from others by the following characteristics. Our approach is empirical and our models derive directly from data. This is, of course, natural to a statistician, but 4 is not the path followed by many human motion modelers. The contrasting approach is to develop rules or theories about how people move, often embodied in the optimization approach discussed above, and use these to develop motion predictions. The efficacy of these models is then evaluated by a visual assessment of the authenticity of the motion perhaps combined with a comparison to smaller amounts of observed motion data. The two styles of modeling have different advantages. Statistical approaches such as ours do allow an understanding of variation in human mation and permit statistical inference. Motion predictions based on such models might be expected to perform relatively well in situations close to the data on which they are based. In contrast, the non-statistical approaches are typically more ambitious in their scope and might hope to outperform the statistical models in predicting motion in new environments for which no similar data is available. Given the wide scope of possible human motion, we expect that a combination of the two styles of approach will be necessary for wider success. Well-established, but simpler statistical methods have been frequently employed by human motion modelers. Mostly these have been used for the simpler problem of static posture prediction. We have developed methods for modeling motion that use recent statistical advances in functional data analysis. 3 Statistical Methodology In this section, we describe the nature of human motion data and the methods we have used to analyze it. 3.1 Motion Capture Data Data on how people move provide the raw material for our analysis. Motion Capture (sometimes abbreviated to Mocap) is a technology for recording motion. Markers are attached to a subject and then sensors track these markers as the subject moves. The most commonly used systems are optical or magnetic in nature. It is important to understand how the data is collected because this has an impact on the choice of methods used for analysis. In an optical system, reflective markers are attached to key locations on the body, such as the elbow and shoulder. The position of the markers is triangulated by special cameras. The accuracy of these systems is normally very good, with errors of one millimeter or less. However, various problems can occur that affect the quality of the data and the effort required to process it. The markers are indistinguishable and so need to be identified as the left wrist or the right shoulder and so on. (Active optical marker systems currently becoming more widespread avoid this problem because the markers are uniquely identified). The processing software is then usually able to keep track of the identities of the markers, but confusion can occur when markers pass close to one another or are temporarily obscured. Thus human intervention is necessary to “track” the data in its raw state to a form suitable for analysis. This processing can be quite time consuming, sometimes taking much longer than the original collection of the data, including the experimental set up time. Optical systems require a clear line of sight to the target. Although data collectors use 5 several cameras, markers may be obscured by other parts of the subject’s body or the props used to simulate the environment. Thus it is difficult to collect motion capture data outside the laboratory or for motions that require a large field of action. In a magnetic system, three orthogonal coils are mounted in a transmitter and in each marker. The relative magnetic flux between the transmitter and the receiver in the marker allows one to determine both the location and orientation of the receiver. This offers an advantage over the optical system in that to record the location and orientation of, say, the hand, three optical markers would be required while only one magnetic marker would suffice. The magnetic system also has the advantage of not requiring a line of sight making it useful, say, for recording the torso motion of a subject in a car seat. Even so, magnetic systems often require that the markers be wired which restricts and sometimes interferes with the normal motion of the subject. Magnetic systems are also sensitive to metallic objects in the environment such the steel reinforcement bars used in concrete in modern buildings or electrical fields caused by other experimental equipment. The accuracy of a magnetic system tends to be significantly worse than an optical systems particularly towards the boundaries of the operating region. One further difficulty is that the markers are mounted on the exterior of the body while we would prefer to model the motion of the joint centers. For example, consider a marker mounted on the shoulder, placed as consistently as possible on a specified bony location. Instead of modeling this marker directly, it would be better to project down to the center of rotation of the shoulder joint. This is no simple task as it depends on the posture and anthropometry of the individual. Nevertheless, algorithms exist for solving this problem. After processing, the data will consist of the 3D coordinates of the markers collected over time. A frequency of observation of 25-50Hz might be typical. Recording motion for just a couple of seconds for enough markers to describe the motion will thus generate a moderately large amount of data, particularly when it is considered that this would be just a single data point of motion among a larger collection of motion data. Statisticians should note that smoothing is typically not necessary as the data contain little noise and that the trajectory of a marker can reasonably be reconstructed by smoothly interpolating the points. At the HuMoSim laboratory in the Center for Ergonomics at the University of Michigan, we have collected data on more than 70,000 motions. The experiments have focused on driv- ing and workplace tasks such as reaching for controls within a car or truck, lifting objects onto shelves and stepping around a small area while performing a variety of tasks. Other researchers have collected motion databases of humans performing a much wider variety of motions — see mocap.cs.cmu.edu for example. Some motion capture from the HuMoSim laboratory may be seen in Figure 1. One of the inherent drawbacks of laboratory-based motion capture is that it places the subjects in an unnatural environment. The ability to reliably and accurately capture motion in workplace or on the street would be very valuable, but it is currently difficult to accomplish reliably. Human motion can be captured directly from ordinary video footage. With more than one camera, the possibility of triangulating points on the body from the video images exists although this is by no means easy. With only one camera, motion capture is more difficult. In this case, we need a model for how people move in order to infer the 3D motion from the 2D data. Since the purpose of our 6 Figure 1: Motion Capture in the laboratory. Optical markers can be seen as small white balls. data collection is to build such a model, this would be problematic. 3.2 Models for the Elements of Motion Our strategy for modeling motion data is to break it up into its individual components and then combine the parts to form a coherent whole. For example, we will devise separate models for how the hand and torso move during a seated reach motion. The geometric characteristics of these body parts determine the types of functional data that we will need to model. The hand forms a 3D trajectory while the motion of the torso generates an orientation trajectory. We list the data types that we will consider: Univariate Curves For example, consider the angle formed between the upper and lower arms at the elbow or the distance of the foot from the floor while walking. 3D trajectories Consider the motion of the hand when picking up an object. This will form a 3D trajectory in space. Orientation trajectories Consider the orientation of the hand while picking up an object. This will form a curve in a three dimensional non-Euclidean space. Ensembles Consider the motion of the upper body during a seated reach or even the whole body during a lifting motion. These can be described with an ensemble of the three data types described above. 7 We will now describe methods for modeling all these types of data. We are interested in several types of data analysis. In some cases, we will want to understand the structure of variation within a functional dataset. For example, when lifting a box from the floor, some people will bend their knees while others will keep their legs straight while bending over. We need a form of cluster analysis to detect groups within functional data. Another example concerns facial motion which is typically described by very high dimensional data. However, we might believe that facial motions vary within a much lower dimensional space. Principal components analysis (PCA) is one method for discovering such a space — see Faraway (2004b). Even so, standard cluster analysis or PCA applied to the raw motion data will not produce meaningful results as some transformation is necessary as we shall describe below. We are also interested in predicting or explaining motion in terms of some predictors using regression analysis. The response is the functional data describing the motion and the predictors might be characteristics of the individual such as height, age and weight and characteristics of the task being performed such as the location of button to be pressed or the weight of an object to be lifted. This requires the development of new types of regression models for functional responses listed above. We envisage a designer asking how a certain person would move to perform a task in a specified environment, inputting the predictor variables and receiving the predicted motion. In some cases, the designer will also like to have some measure of the uncertainty in the predic- tion. We also value the explanatory uses of regression. For example, men might perform a task differently from women. But is the difference just due to the difference in height or does it reflect a gender difference? Regression analysis can answer these kinds of questions. In general our strategy is to find a good low dimensional representation of the notionally infinite dimensional functional data and then apply the standard methods of multivariate data analysis. However, the representations are very important as the multivariate data analysis will only produce meaningful results when this choice is made carefully. Some discussion of the contrast between functional and non-functional styles of analysis may be found in Rice (2004) and Zhao, Marron, and Wells (2004). 3.3 Univariate Curves Many individual components of the motion, such as angles between body segments as they change over time, can be described as functions. For example, consider an axis joining the initial and final location of the hand during a reaching motion. We can compute the orthogonal distance of the hand from this axis during motion, which we will call the radial deviation. Because we observe the data only at discrete timepoints, we have a sequence of observed values from the start to the end of the motion. These sequences are of different lengths because some targets are further away than others and people reach at different speeds. We rescale all these motions so that time t = 0 is the start of the motion and t = 1 is the end of the motion. We can save the actual time taken as a possible predictor of the motion and, perhaps, to be predicted itself. Determining when a particular motion starts and ends is sometimes difficult. Even at rest, the body will be moving slightly. Furthermore, different parts of the body will start and stop moving at different times. For example, we might move our head to look at an object before reaching for 8 it. When we combine the models for how individual parts of the body move, we will need to allow for these offsets. Further difficulties arise when chaining sequences of motions together. Plots of the radial deviation for 20 subjects reaching with the right hand to a location somewhat to the left and front of the body and about the same height as the initial position of the hand are shown in Figure 2. A typical dataset would contain reaches by several subjects to a range of targets so the plot shows only a small subset of the data. It would be reasonable to average (or take 0.0 0.2 0.4 0.6 0.8 1.0 0 2 4 6 8 Proportion of time c m Figure 2: The radial deviation of the hand from a straight line path when reaching with the right hand to a location on the left front of the body for 20 subjects. averages of subsets of) the curves in Figure 2. One might also study the structure of variation using functional principal components methods – see, for example, Rice and Silverman (1991). There is a growing literature on functional data analysis for univariate curve data. A good place to start is Ramsay and Silverman (2005) while Ramsay and Silverman (2002) provides a collection of analyses of functional data. We outline the methods we have used below. For reasons of compactness and ease of manipulation, we represent the curves as linear com- binations of m cubic B-spline basis functions, B j(t), j = 1, . . . , m. A curve yi(t) is represented as Âmj=1 yi jB j(t) where the coefficients yi j are estimated using regression methods over the points at which yi(t) is observed. Given that human motion is usually quite smooth, it is not necessary to have a large number of basis functions. We have found in our experience that eight basis functions provides a good com- promise between fit and simplicity. Any approximation error is dwarfed by the variation within and between individuals repeating the same motion so there is little value in using more basis functions. Using fewer basis functions is desirable especially when motion databases may be large. So each observed curve is represented by this small number of coefficients and the functional response is thereby converted into a multivariate response which is easier to work with. A parametric approach to modeling such functions in terms of the predictors may be found in Faraway (2003a). Suppose that the functional responses depend on certain covariates, such as the location of the target being reached, the age and anthropometry of the subject and other factors. For the ith curve, 9 these predictors are collected in a vector xi. We then propose a functional linear model: yi(t) = xTi b(t) + ei(t) Notice that this is similar to a standard regression model but the response is now a function, as is the error term ei(t). The regression coefficients b(t) are now a vector of functions. The particular coefficient function for a given covariate will now represent the effect on the response of that covariate over the duration of the reach. One can now estimate b(t) using least squares by: b̂(t) = (X T X )�1X T y(t) where X is the matrix whose rows are given by the xi’s. This formula cannot be directly applied since one cannot observe a yi(t) at all possible t. One approach is to approximate the functions on a grid of values, as in Faraway (1997). A fine grid of values is necessary for accurate representation which is somewhat inefficient. The B-spline basis functions representation is more compact. The model can be written in the form: Yn⇥m = Xn⇥pbp⇥m + en⇥m which is now a multivariate multiple regression model where the coefficient matrix b may be estimated using least squares. One may then use the standard methods of statistical inference using this modeling approach. Details of such methods may be found in texts such as Johnson and Wichern (1992). Variable selection on X is worthwhile for the usual reasons and can be accomplished using methods described in Shen and Faraway (2004) and elsewhere. However, we should bear in mind that the models for each element of the motion must be combined to predict the motion for the whole body. It will be inconvenient if different elemental models use different predictors. Fur- thermore, predictors which are significant for some individual elements may not be significant for the combined motion. We have found that the best results are obtained by judging each candidate set of predictors by the fit obtained for the whole body prediction. Formal inference is difficult in these circumstances, but an informal compromise between fit and complexity is possible. In general, the error e(t) contains three components: measurement error, within subject and between subject variation. When functioning correctly, motion capture systems are quite accurate so that the observed curves are typically smooth and there is little in the way of Gaussian noise that may be seen in other applications. The data collection systems can occasionally fail due to markers being obscured or confused leading to missing or clearly erroneous measurements. In our experience, this is best handled by pre-filtering the data rather than the use of robust fitting methods. When a subject repeats a task, the motion will not be exactly the same; this is within subject variation. When two subjects with the same external characteristics of interests, such as height, age and gender for example, perform the same task, there will be some difference; this is between subject variation. We have made some progress in building mixed effects models for functional responses that incorporate these different sources of variation as may be seen in Faraway and Hu (2001). However, such models are complex and difficult to fit reliably. We have had more success estimating the fixed effects components of these models simply using least squares. The random effects components are then estimated conditional on these fixed effects estimates. 10 One important feature of the statistical approach to human motion prediction, that is generally lacking in other methods, is the ability to produce more than just a point prediction. It is certainly useful to have a prediction of the most likely or mean motion for performing a particular task. However, it is even more valuable to understand how the motion is likely to vary around the mean. For example, some injuries occur when the subject performs a motion in an unusual way which induces much greater stress on the body. In principle, confidence regions could be constructed, but these would be complex and difficult to visualize for the whole body motion. Instead, we can use the estimated random effects components to simulate variations around the predicted mean. There are now an increasing number of articles on functional regression. However, not all of these are relevant to motion capture data. In particular, the interface with longitudinal data analysis that arises with sparser data, considered in Yao, Müller, and Wang (2005) for example, is not germane as motion capture data is dense with little noise. There is also some interest in time-varying X ’s the functional data analysis literature. However, in our applications the task environment and subject characteristics remain constant during the motion. 3.4 3D trajectories In addition to predicting univariate functions, such as the radial deviation, one needs to predict the 3D curves formed by the trajectory of the hand or other body markers. There is substantial in- terest in modeling hand trajectories in several different fields including neuroscience, psychology, robotics and motor control. For an introduction from the motor control perspective, see Winter (2005). Even so, much of the research in this area has focused on particular characteristics of the trajectory, such as the maximum acceleration, for example, rather than on modeling the complete curve. One could simply model each of the three Cartesian coordinates of the trajectory, but this is unsatisfactory as it is not invariant to rotations of the coordinate system which one may well wish to make. We describe two ways in which such trajectories might be modeled. In the physical applications we consider, the starting and ending position of the marker are either specified or modeled independently. For example, in modeling the hand trajectory of a driver reaching from the steering wheel to a control on the dashboard, the start and end location will be supplied by the designer. In foot motion to position the body to perform a reaching task, the end location of the foot is not given, but is best modeled separately based on considerations such as balance and comfort. In what follows, we assume the start and end location are known. The first trajectory modeling method we present uses a parametrization that has easily inter- pretable components. We define r(t) as the radial deviation at time t describing the orthogonal distance from the axis joining the endpoints, p(t) 2 [0, 1] as the proportionate progress along the axis at time t and v(t) = p0(t) as the relative axial velocity. See the left panel of Figure 3 for a depiction of these quantities. Let f(t) be the angle describing the position of the hand at time t on the circle orthogonal to the axis of the reach and whose center lies on this axis. We define f(t) = 0 to be the projection of the unit vertical vector onto this circle. The trajectory is modeled using the triplet: (v(t), r(t), f(t)). Since v(0) = v(1) = r(0) = r(1) = 0 by definition, one can accommodate this by omitting the first and last cubic B-spline basis func- tion in the representation which, since these are, respectively, the only non-zero basis functions at 11 r(t) p(t) Start End Position at t View down axis Position at t Axis φ( t) Figure 3: On the left, a side view of the reach is shown with the axis drawn as a straight line connecting the start and end of the reach. On the right, the view is down the axis, looking from the start towards the end. t = 0 and t = 1, will ensure the desired property. Furthermore, one should not directly model f(t) because it is an angle. Angles 2p � e and e are only 2e apart but averaging their numerical values produces p which is diametrically opposite. For this reason, one models the responses cos f(t) and sin f(t) and then uses the relation f = tan�1(sinf/ cos f) to predict f which does respect the appropriate continuity properties of an angle. Note that this representation contains no explicit information about the endpoints. More details may be found in Faraway (2001). The second method we have used is based on work described in Wang (2006) uses Bézier curves. The model for the curve takes the form Âmi=0 PiB m i (t) where B m i (t) are the Bernstein poly- nomials defined on [0, 1] by: Bmi (t) = ✓ m i ◆ t i(1 �t)(m�i) The Pi are called control points. P0 coincides with the starting point of the curve at t = 0 while Pm lies at the endpoint at t = 1. For 3D curves, the control points have three dimensions. The interior control points determine the shape of the curve. In our experience, relatively few control points are required; we obtained satisfactory results with m = 3. The fitting of a 3D trajectory is shown in Figure 4. Bézier curves have several desirable properties that have popularized their use in graphic design. Details can be found in texts such as Prautzsch, Boehm, and Paluszny (2002). In particular, they are invariant to rotations and translations of the coordinate system because the shape of the curve is determined by the relative position of the control points. Also, the line segments P0P1 and Pm�1Pm are tangential to the curve at the start and end respectively. Thus they represent the direction of take off and approach for the hand. This is particularly useful when modeling a task where the hand must reach in to perform a task where the approach is constrained by the surroundings or say, where an object must be gripped in a particular way. The length of these line segments control how far the influence of the initial and final periods of the reach extend into the middle period of the reach. 12 0 10 20 30 40 ! 4 0 ! 3 0 ! 2 0 ! 1 0 0 Top view side fr o n t 0 10 20 30 40 ! 6 0 ! 5 0 ! 4 0 ! 3 0 ! 2 0 ! 1 0 0 Front view side u p !40 !30 !20 !10 0 ! 6 0 ! 5 0 ! 4 0 ! 3 0 ! 2 0 ! 1 0 0 Side view front u p Figure 4: Three orthogonal views of a Bézier curve with two internal (m = 3) control points fit to some 3D trajectory data. The solid dots are the control points. To build a model for the trajectories, we merely need to predict the location of the interior control points (relative to the endpoints) in terms of the available predictors. Standard methods of regression analysis can be used to achieve this. We have found that a model with two interior control points is effective in representing uncon- strained reaches where the subject is not influenced by avoiding obstacles, for example. For more complex trajectories, it would be necessary to add more control points. Bézier curves are a special case of B-splines where all the knots are at the endpoints. Their relative advantage in this application derives from the their simplicity resulting in a more com- pact parameterization together with the possibility of a physically meaningful interpretation of the control points. 3.5 Orientation Trajectories The orientation of a rigid body in 3D can be represented in various ways. Rotation matrices and Eu- ler angles, of which the aeronautical roll, pitch and yaw are an example, are both commonly used. This is discussed in books such as Zatsiorsky (1998). However, there are drawbacks to these repre- sentations, particularly with respect to the application of statistical methods. Rotation matrices use nine parameters to represent just the three degrees of freedom necessary to describe an orientation while Euler angles are susceptible to the problem of gimbal lock and are non-commutative. Quaternions provide a compact and elegant representation of orientation. We can think of a quaternion as a generalization of a complex number written as: q = ix + jy + kz + w ⌘ [v, w] where w, x, y, z 2 IR and the imaginary numbers, i, j, k satisfy i2 = j2 = k2 = i jk = �1. v = (x, y, z) is known as the vector and w the scalar. Quaternion arithmetic for addition, multiplication, norm, 13 conjugate and inverse may be found in standard texts. An orientation can be represented by a quaternion with vector of unit length. See books such as Dunn and Parberry (2002) for an intro- duction in the context of human motion applications. Statistical applications involving quaternions may be found in Prentice (1986) and Rancourt, Rivest, and Asselin (2000). It is difficult to perform statistical methods directly on the quaternions. For example, the arith- metic average of two rotations represented as quaternions is not usually itself a rotation. An alter- native approach is to perform a tangent mapping on the quaternions and compute the statistics in the tangent space. The exponential map from a vector v in the tangent space to the space of unit quaternions with origin at the identity quaternion [0, 1] can be obtained by: ex pmap(v) = ⇢ [0, 1] if v = 0 [v̂ sin q/2, cos q/2] otherwise where q = ||v|| and v̂ = v/q. The inversion is obtained using the logarithm map which maps from the unit quaternion q to the tangent space at the identity: logmap(q) = v/sinc(q/2) where v is the vector part of q and sinc(x) = sin x/x. For more details, see Grassia (1998). We can then perform standard statistics in the tangent space and map back to the space of quaternions when we are done. The innaccuracy due to the non-linear mapping is small provided the rotations are not far from the origin. In practice, a hand might rotate across a wide range, but we have developed recentering techniques found in Choe (2006) that minimize the error. 4 Combining elemental models of motion We have described some basic building blocks of motion, but these need to be combined into a coherent whole. The body parts do not move independently so we must link models for the components that respect the constraints imposed by the skeleton. Some constraints are simple — for example, the distance between the elbow and wrist is fixed. Other constraints involve joint angle limits — for example, consider the angle formed at the elbow by the upper and lower arms as this can be no more than 180�. Now we describe some methods we have used at HuMoSim to produce predictions of motion for all or most of human body. The first subsection tackles the problem of predicting a chain of body segments to satisfy an endpoint constraint. We show that an appropriate parameterization makes the problem much sim- pler. The second subsection considers the more nonstatistical practical issues in the combination of elemental motion models. The third subsection consider methods which are akin to nearest neighbor methods in Statistics. 4.1 Kinematic Chains Consider a chain of l jointed links in three dimensions as depicted in Figure 5. Suppose that one end of the chain is fixed at the origin, that the joints have full flexibility and that the segments are 14 of known lengths. One wishes to position the other end of the chain at some specified target T . For example, the chain might represent the arm and torso of a person who must reach to some target. The inverse kinematics problem is to position the rest of the chain to satisfy this endpoint constraint. Target Fixed Figure 5: Inverse kinematics: Chain must be positioned to meet endpoint constraints We have shown above how to model a hand trajectory, now we need to solve the IK problem to predict the movement of the arm and torso to follow this hand path. One approach is to parameterize the position of the chain in terms of two angles for each link. We might use functional response regression models for each of these angles as described earlier. However, if we use the forward kinematics approach of building the chain up from the origin using these predicted angles, the endpoint will likely not correspond with required endpoint. We must impose this endpoint which results in a least squares problem with a nonlinear constraint. This can be solved by methods such as those found in Faraway, Zhang, and Chaffin (1999), but this becomes computationally difficult for longer chains, because end users require motion predictions in real time or close to it. We present here a parametrization of the posture such that the endpoint constraint is always implicitly satisfied. This allows for rapid and simple computation of postures and makes it easier to model the components independently. We call this parametrization, Stretch Pivot coordinates. The stretch pivot coordinates have the advantage that they can be averaged and still produce a valid configuration of the chain for any segment lengths and endpoints (provided the total segment length exceeds the distance between the endpoints). This allows the straightforward application of statistical methods. Only 2l �3 parameters are necessary to describe a closed (i.e. endpoints fixed) l-link kinematic chain (two parameters for each segment minus three for the endpoint constraint). The key to success is selecting these parameters in a suitable way. Consider first a closed 2-link chain in three dimensions, like the shoulder, elbow and wrist linkage, where the endpoints, the shoulder and wrist, are in fixed positions. Only one parameter is need to describe this linkage, since the midpoint (the elbow) of the chain is constrained to lie on a circle whose center lies on and is orthogonal to an axis joining the endpoints. One needs only to specify the angle on this circle. We call this midpoint the pivot and we call this angle the pivot angle. Such an angle was used by Korein (1985), Wang (1999a) and Wang (1999b). The angle is illustrated in Figure 6. Now consider a longer l link chain and pick a marker in the middle of this chain as shown in Figure 7. Let us call the two endpoint markers the proximal and the distal and the selected midpoint, the 15 endpoint endpoint midpoint Pivot angle midpoint must lie on this circle Figure 6: The pivot angle describes the location of the midpoint on the circle of its possible posi- tions (3D view). medial. Let lp and ld be the distances between the proximal and the medial and the distal and the medial respectively. If lp and ld are considered fixed, then the position of the medial relative to the proximal and distal may be described in terms of a pivot angle, qm lying on the circle orthogonal to, and whose center lies on, the axis joining the proximal and distal. Let mp and md respectively proximal medial distal m l lp d pd Figure 7: Stretch parameters illustrated. The distance between the proximal and medial if that part of the chain were fully extended is mp while the corresponding distance for the medial to the distal is md . We define pp = lp/mp and pd = ld /md . represent the total length of all the links joining the proximal and the medial and the distal and the medial. We define pp = lp/mp and pd = ld /md . We call the p’s the stretch parameters. The position of the medial may be described in terms of the three parameters (qm, pp, pd ). Hence the name stretch pivot. Once the position of the pivot has been determined, the problem is reduced to two smaller problems. The same procedure may be repeated on the two halves of the chain recursively. Now each of the 2l � 3 components describing the chain can be modeled using functional regression methods. Further details may be found in Faraway (2004a) and Faraway (2003b). A different parametrization involving just the arm, but having the same desirable modeling characteristics may be found in Tolani, Goswami, and Badler (2000). We now describe an example where the kinematic chain model may be used in combination 16 with the other model components to produce a complete motion model. Consider a seated reaching motion where the position of the body is described in terms of the following markers: the L5/S1 joint (base of spine) which is held fixed, the C7/T1 joint (back of neck), the sterno-clavicular joint (supersternale), the right and left shoulder, the right and left elbow, the right and left wrist, the right and left hand and the head. The subject makes a reach with the right hand starting and ending in known positions. The left hand remains in a fixed position. Suppose we have a database of subjects making such reaches, but the characteristics of the subjects and the location of the targets reached varies. The reach is illustrated in Figure 8: Here is a scheme for modeling the reach: L5/S1 C7/T1 SCJ Secondary Kinematic Chain Primary Kinematic Chain Left Hand Fixed Trajectory of right hand Right hand orientation varies Head orientation varies Figure 8: Schematic of a seated reach. The right hand moves along with the torso while the left hand remains fixed. The linkage is rooted at the L5/S1 (base of spine) joint. The head also moves. 1. Compute the beginning and ending coordinates of the right wrist. We will need to know the task being performed to determine the orientation of the hand relative to the target. We will also need to know the dimensions of the hand. If the subject for whom the reach is to be specified is completely described, these will be known. In other cases, we might know only the height of the subject and the hand dimension would need to be predicted from this. Large anthropometric databases and models for achieving this are available. 2. Use the trajectory modeling method to predict the motion of the right wrist. This trajectory 17 will vary according the location of the target and the characteristics of the individual. We can build a regression model to describe this relationship. 3. Use the orientation modeling method to describe the rotation of the hand during the motion. We can build a regression model for this also. 4. Consider the kinematic chain from the L5/S1, C7/T1, sternoclavicular joint, right shoul- der, right elbow to the right wrist. We can use the stretch-pivot method described above to parametrize this chain. We can build regression models to predict the components of this chain. 5. Consider a second kinematic chain from the C7/T1, left shoulder, left elbow to the left wrist. A comparable model can be developed for this chain. 6. The motion of the head can be described using an orientation functional regression model. 4.2 Motion Framework The preceding discussion has focused on relatively simple human motions, e.g., a reach with one hand to a fixed target starting from a neutral seated posture. Human tasks of interest in ergonomics are usually more complex, involving multiple sequential and concurrent tasks, often performed by an operator who is moving around a factory. The individual low-level actions, such as reaches, steps, and glances, are highly coordinated, evidence of high-level, hierarchical control. Several research groups have developed integrated paradigms for generating realistic motions from task-oriented movement commands that are independent of the simulated actor and envi- ronment. Badler, Allbeck, Lee, Rabbitz, Broderick, and Mulkern (2005) presented a vision for a comprehensive system of control of avatars implemented as the Human Model Testbed. The approach builds on other developments including Parameterized Action Representation (Badler, Palmer, and Bindiganale (1999)) and recent progress in obstacle avoidance (Zhao, Liu, and Badler (2005)). Commercial software developers are also addressing the need for integrated, high-level control of human simulations. Raschke, Kuhlmann, and Hollick (2005) described the Task Sim- ulation Builder, an approach to task programming in the JackTM human modeling system that incorporates aspects of the Parametrized Action Representation. We have developed a research testbed for human motion simulation called the HuMoSim Er- gonomics Framework (Reed, Faraway, Chaffin, and Martin (2006)). The Framework uses a mod- ular structure and hierarchical control to produce coordinated motion for complex task sequences. The structure of the Framework is shown in Figure 9. One of the design principles of the Framework is that a hierarchical network of relatively simple models can produce accurate simulations of complex behavior. Consequently, many of the components of the Framework use empirical models based on the analysis of human motion data from laboratory studies. The motion characteristics predicted from data include: 1. The duration of motion components (for example, a hand reach to a target) is a function of reach distance and subject body dimensions. 18 Transit Model: foot placement and timing Resource-Based Component Schedul- ing Model: sequence and timing of head, upper-extremity, and torso motions, with dependencies Upper-Body Coordination Module Right Upper-Extremity Module: trajectory and grasp planning and execution Left Lower-Extremity Module: step following and inverse kinematics Right Lower-Extremity Module: step following and inverse kinematics Balance and Gait Module: controls pelvis motion Left Upper-Extremity Module: trajectory and grasp planning and execution Gaze Module: head and eye control Torso Module: pelvis orientation and lumbar spine motion Movement with trajectory and com- ponent timing information High-Level Task Input: independent of figure and environment state (Required) Figure and Environment State: current figure and posture, location of objects, etc. Task Planner Mid-Level Task Plan: walk, pick up, place, use, ... Component-Level Motion Plan: steps, reaches, gaze targets, etc. Motion Generator Lower-Body Coordination Module Motion Controller Biomechanical Posture Planner: generate task posture targets based on biomechanical criteria Figure 9: HuMoSim Motion Framework. 19 2. The temporal offsets between the initiation of body component motions are predicted by task type (e.g., reaching with an open hand vs. moving an object). 3. The hand trajectories are modeled using Bézier curves, as described above. Head motion is predicted using two components developed by nonlinear regression from subject data. The static head orientation is predicted as a function of target azimuth and elevation, and the head motion to acquire a new gaze target is generated using quaternion interpolation with an empirically derived velocity profile. The task scheduler uses timing offsets obtained from data analysis to plan the sequences of head, torso, and extremity motions to accomplish discrete tasks, such as reaches and object transfers. 4. Recent work on lower extremity motions has focused on the prediction of foot placements and movements from task and subject variables. In a multistep process, a transitionary lower- extremity behavior associated with picking up or putting down an object is selected. A ”behavior” is a sequence of footsteps on either side of the load transition that defines an approach or turning behavior. A discriminant analysis of laboratory data, validated by video analysis of data from an auto assembly plant, is used to predict the behavior category (Wag- ner, Reed, and Chaffin (2006)). The individual foot placements are then calculated based on a multiple linear regression model of laboratory data (Wagner, Reed, and Chaffin (2005)). The statistical models provide the opportunity to simulate the most likely behavior as well as several other behaviors that might be observed for the specified tasks. An analyst can then assess the relative musculoskeletal loading resulting from each behavior and use the behavior probabilities in determining whether a task should be redesigned to reduce the risk to the worker. 5. The statistical analyses used to set these aspects of simulation permit adjustments to sim- ulate some of the variance in the movements, particularly with respect to timing and hand trajectories. 4.3 Motion Warping The editing or “warping” of motion capture data is used extensively in the entertainment field to apply human motion capture data to character animation. Application of these techniques in ergonomics has been problematic because of the potential to produce motions that are distinctly unrealistic. Park, Chaffin, and Martin (2004) developed a motion-modification algorithm that pre- serves the coordinated structure of motion at the joint level. Motion modification works best when the motion to be modified is similar in structure to the motion of interest. For example, a reach to a low shelf is poorly modeled by modifying motion data from reach to a high shelf. A critical contribution of Park’s work was the development of an objective method for classifying different movement techniques. Using cluster analysis, a set of motion capture data from multiple individu- als and tasks are segregated into movement categories within which motions can be modified while preserving the essential structure of the motion (Park, Martin, Choe, Chaffin, and Reed (2005)). This type of method can also be viewed as nearest neighbor regression where only one neighbor is used. Faraway (2004a) extends the method to average over several neighbors. 20 5 Application Examples Recent research in traffic safety has shown that driver distraction is a major cause of accidents along with fatigue, phone usage and drunkenness. Yet modern vehicles are being fitted with an increasing number of features such as satellite navigation and entertainment systems that the driver may attempt to use while in transit. Visualize the process of operating a control on the dashboard. Many drivers use a sequence of glancing and reaching actions to perform the task. For example, first the driver glances at the control, the eyes then return to the road while the hand starts to reach for the target. As the hand nears the target, the driver glances over again to guide the hand onto the target. As the hand grasps the control, the eyes return to the road again while the task is being performed. We would like to study how this behavior varies as we consider shorter and taller, older and younger people. We would also like to experiment with changing the location of the control to, say, an overhead panel. A DHM can help explore these possibilities. Figure 10 shows a sequence of images from a simulation using the HuMoSim Framework with the Jack human figure model. A simple reach to a dashboard control by a truck driver is used to illustrate some of the outcomes that are obtained from the statistical models underlying the Framework. When the reach task is commanded, the gaze module determines the desired terminal head posture (nonlinear regression model) and computes a velocity profile (two-parameter model fit to head movement data). The task scheduler uses empirically derived offsets and a linear regression model to plan the initiation and duration of the head, hand, and torso motions. The component-level tasks are dispatched to the gaze, right upper-extremity, and torso modules, while other modules maintain lower extremity positions and hold the left hand on the steering wheel. The sequence of frames in Figure 10 was produced using mean predicted values, but the underlying models can be exercised stochastically to predict, for example, very slow or very fast motions within the range observed in the laboratory data. We are also able generate realizations, say, from the predicted distribution of hand trajectories which in turn affects the rest of the motion. Stochastic simulations would be of value in predicting the likelihood of a driver failing to detect an obstacle in the roadway due to diverted attention or colliding with other vehicle controls while performing the reach. DHM are also widely used for industrial ergonomics, particularly in the automotive industry. The manufacturing facility that will be used to build a vehicle is developed in parallel with the vehicle itself. Just as physical prototypes are being phased out in favor of virtual models, the physical mockups of assembly work stations are being supplanted by ”virtual builds,” in which the entire vehicle is assembled in computer simulation. DHM are increasingly used to determine whether the assembly workers’ tasks can be performed safely and in the allotted time. The typical applications of DHM in the virtual build process include assessing reach into parts bins and into the vehicle; comparing loads on the body, particularly at the low-back, shoulder, and wrist, with accepted limits; and determining the time that would be required for a worker to perform task. Human motion simulation models based on statistical analysis of laboratory data are becoming increasingly important for these analyses. Figure 11 shows several frames from an animation of a typical simulation. In this case, a worker is stacking two sheet-metal parts together and placing them on a jig for welding. Two conveyors feed parts to workstation. Because workers range widely in body size, the positioning of the parts must be chosen carefully so that small workers can pick up 21 Statring Posture. Head and hand trajectories planned for a reach to the instrument panel. Gaze motion with eyes and head initiated. Hand movement begins. Torso motion planned. Torso coordinating left and right hand motions. Movement completed. Figure 10: Still frames from a study of a truck driver reaching to a dashboard control. 22 the parts without excessive stepping and large workers have sufficient clearance. Figure 11 shows a small woman performing the task. Statistical models developed in the HuMoSim laboratory can predict the foot placements for workers of various sizes relative to the hand locations required to pick up the parts. The torso orientation, which has a strong effect on low-back loading, can also be predicted from data. The development of architectures for simulation of sequential tasks, such as the HuMoSim Framework, allows this type of task to be simulated rapidly with a large number of different human figures representing workers with a wide range of body dimensions. Figure 11: Simulation of sheet metal assembly task. Design of the work area must accommodate both short and tall workers. Here a small woman is shown performing the task. It is difficult to portray motions in a few still frames. The reader may visit www.humosim.org to view movies showing this and other motions. Information about how to obtain access to the data described in this article may be found at the same location. 6 Discussion Human motion modeling gives rise to a wide range of novel statistical problems. Functional data of various types must be modeled that have received relatively little previous attention in the sta- tistical literature. Due to the inherent variability of human motion, statistical methods have clear application and yet despite the large amount of research from computer scientists, engineers and 23 other scientists, the area has not attracted much interest from statisticians. Thus there is substantial opportunity for both theoretical and applied statistical work in this field. The HuMoSim Framework, a hierarchical model of human task planning and movement coor- dination, provides a testbed for exploring how low-level, empirically derived movement models, coupled with relatively simple high-level task-sequencing models, can produce complex, coordi- nated behavior. Future research will examine the extent to which the variance in uncontrolled variables (for example, elbow location during a reach) can be predicted by random sampling from the estimated residual variance in controlled variables (e.g., hand trajectory). The ability to gener- ate stochastic simulations of human operators has considerable potential for safety research (e.g., Ambrose (2000)) but reliable results will require valid models and methods. The application of the methods described in this paper has already begun to influence the conduct of ergonomics analysis using digital human models. Over the next several years, motion simulation based on validated human models will become commonplace in a wide range of fields. Ultimately, the value of the simulations will rest on the validity of the statistical methods used to analyze and to model human movement data. Further advancements in these methods will be needed to expand the range of applicability of ergonomic analysis with simulated humans. Acknowledgements Don Chaffin founded the HuMoSim laboratory at the University of Michigan and provided vital support without which this research would not have been possible. Other colleagues at the labora- tory contributed to this effort. We thank the past and present industrial partners of the HuMoSim consortium for their financial support. References Ambrose, D. (2000). A simulation approach analyzing random motion events between a ma- chine and its operator. SAE Technical Paper 2000-01-2160. Badler, N., J. Allbeck, S.-J. Lee, R. Rabbitz, T. Broderick, and K. Mulkern (2005). New behav- ioral paradigms for virtual human models. SAE Technical Paper 2005-01-2689. Badler, N., M. Palmer, and R. Bindiganale (1999). Animation control for real-time virtual hu- mans. Communications of the ACM 42(8), 64–73. Chaffin, D. (Ed.) (2001). Digital Human Modeling for Vehicle and Workplace Design. Warren- dale, PA: SAE International. Chaffin, D., G. Andersson, and B. Martin (1999). Occupational Biomechanics. New York: Wi- ley. Choe, S. (2006). Statistical analysis of orientation trajectories via quaternions with application to human motion. Ph. D. thesis, Department of Statistics, University of Michigan. Dufour, F. and X. Wang (2005). Discomfort assessment of car ingress/egress motions using the concept of neutral motion. SAE Technical Paper 2005-01-2706. 24 Dunn, F. and I. Parberry (2002). 3D Math Primer for Graphics and Game Development. Word- ware Publishing. Engelbrecht, S. (2001). Minimum principles in motor control. Journal of Mathematical Psy- chology 45, 497–542. Faraway, J. (1997). Regression analysis for a functional response. Technometrics 39, 254–261. Faraway, J. (2001). Modeling hand trajectories during reaching motions. Technical Report 383, Department of Statistics, University of Michigan. Faraway, J. (2003a). Data-based motion prediction. Journal of Passenger Cars - Electronic and Electrical Systems 112, 722–732. Faraway, J. (2003b). Regression modeling of motion with endpoint constraints. Journal of Vi- sualization and Computer Animation 14, 31–41. Faraway, J. (2004a). Human animation using nonparametric regression. Journal of Graphical and Computational Statistics 13, 537–553. Faraway, J. (2004b). Modeling continuous shape change for facial animation. Statistics and Computing 14, 357–363. Faraway, J. and J. Hu (2001). Modeling variability in reaching motions. SAE Technical Pa- per 2001-01-2094. Faraway, J., X. Zhang, and D. Chaffin (1999). Rectifying postures reconstructed from joint angles to meet constraints. Journal of Biomechanics 32, 733–736. Flash, T. and N. Hogan (1985). The coordination of arm movements: an experimentally con- firmed mathematical model. Journal of Neuroscience 5, 1688–1703. Grassia, F. (1998). Practical parameterization of rotations using the exponential map. The Jour- nal of Graphics Tools 3, 29–48. Johnson, R. and D. Wichern (1992). Applied Mulivariate Statistical Analysis (3rd ed.). New Jersey: Prentice Hall. Jung, E., D. Kee, and M. Chung (1995). Upper body reach posture prediction for ergonomics evaluation models. International Journal of Industrial Ergonomics 16, 95–107. Korein, J. (1985). A Geometric Investigation of Reach. Cambridge, MA: MIT. Marler, T., S. Rahmatalla, M. Shanahan, and K. Abdel-Malek (2005). A new discomfort func- tion for optimization-based posture prediction. SAE Technical Paper 2005-01-2680. Monnier, G., X. Wang, J.-P. Verriest, and S. Goujon (2003). Simulation of complex and spe- cific task-orientated movements with application to seat belt reaching. SAE Technical Pa- per 2003-01-2225. Park, W., D. Chaffin, and B. Martin (2002). Memory-based motion simulation. SAE Technical Paper 2002-07-0042. 25 Park, W., D. Chaffin, and B. Martin (2004). Toward memory-based human motion simulation: Development and validation of a motion modification algorithm. IEEE Transactions on Sys- tems, Man, and Cybernetics, Part A: Systems and Humans 34(3), 376–386. Park, W., B. Martin, S. Choe, D. Chaffin, and M. Reed (2005). Representing and identifying al- ternative movement techniques for goal-directed manual tasks. Journal of Biomechanics 38, 519–527. Porter, J., K. Case, M. Freer, and M. Bonney (1993). Automotive Ergonomics, Chapter Computer-aided ergonomics design of automobiles. London: Taylor and Francis. Prautzsch, H., W. Boehm, and M. Paluszny (2002). Bezier and B-Spline Techniques. New York: Springer. Prentice, M. (1986). Orientation statistics without parametric assumptions. JRSS-B 48, 214– 222. Ramsay, J. and B. Silverman (2005). Functional Data Analysis (2 ed.). New York: Springer. Ramsay, J. O. and B. W. Silverman (2002). Applied Functional Data Analysis. New York: Springer. Rancourt, D., L.-P. Rivest, and J. Asselin (2000). Using orientation statistics to investigate vari- ations in human kinematics. Applied Statistics 49, 81–94. Raschke, U., H. Kuhlmann, and M. Hollick (2005). On the design of a task-based human simu- lation system. SAE Technical Paper 2005-01-2702. Reed, M., J. Faraway, D. Chaffin, and B. Martin (2006). The humosim ergonomics framework: A new approach to digital human simulation for ergonomic analysis. SAE Technical Pa- per 2006-01-2365. Rice, J. (2004). Functional and longitudinal data analysis: perspectives on smoothing. Statistica Sinica 14, 631–647. Rice, J. and B. Silverman (1991). Estimating the mean and covariance structures nonparamet- rically when the data are curves. Journal of the Royal Statistical Society — Series B 57, 673–690. Shen, Q. and J. Faraway (2004). An f test for linear models with functional responses. Statistica Sinica 14, 1239–1257. Snyder, R., D. Chaffin, and R. Schutz (1972). Link system of the human torso. Technical Report AMRL-TR-71-88, Aerospace Medical Research Laboratory, Wright-Patterson Air Force Base, OH. Tolani, D., A. Goswami, and N. Badler (2000). Real-time inverse kinematic techniques for anthropomorphic limbs. Graphical Models 62, 353–388. Uno, Y., M. Kawato, and R. Suzuki (1989). Formation and control of optimal trajectory in hu- man multijoint arm movement minimum torque-change model. Biological Cybernetics 61, 89–101. 26 Wagner, D., M. Reed, and D. Chaffin (2005). Predicting foot positions for manual materials handling tasks. SAE Transactions: Journal of Passenger Cars - Mechanical Systems 114. Wagner, D., M. Reed, and D. Chaffin (2006). A task-based stepping behavior model for digital human models. SAE Technical Paper 2006-01-2364. Wang, J. (2006). Statistical modeling for 3-D trajectories. Ph. D. thesis, Department of Statis- tics, University of Michigan, Ann Arbor. Wang, Q., Y.-J. Xiang, H.-J. Kim, J. Arora, and K. Abdel-Malek (2005). Alternative formula- tions for optimization-based digital human motion simulation. SAE Technical Paper 2005- 01-2691. Wang, X. (1999a). A behavior-based inverse kinematics algorithm to predict arm prehension postures for computer-aided ergonomic evaluation. Journal of Biomechanics 32, 453–460. Wang, X. (1999b). Three-dimensional kinematic analysis of influence of hand orientation and joint limits on the control of arm postures and movements. Biological Cybernetics 80, 449– 463. Wang, X. and J.-P. Verriest (1998). A geometric algorithm to predict the arm reach posture for computer-aided ergonomic evaluation. Journal of Visualization and Computer Animation 9, 33–47. Winter, D. (2005). Biomechanics and Motor Control of Human Movement (3 ed.). New York: Wiley. Yao, F., H.-G. Müller, and J.-L. Wang (2005). Functional linear regression analysis for longitu- dinal data. Annals of Statistics 33, 2873–2903. Zacher, I. and H. Bubb (2005). Strength-based discomfort model of posture and movement. SAE Technical Paper 2004-01-2139. Zatsiorsky, V. (1998). Kinematics of Human Motion. Champaign, IL: Human Kinetics. Zhang, X. and D. Chaffin (2000). A three-dimensional dynamic posture-prediction model for simulating in-vehicle seated reaching movements: development and validation. Er- gonomics 43(9), 1314–1330. Zhao, L., Y. Liu, and N. Badler (2005). Applying empirical data on upper torso movement to real-time collision-free reach tasks. SAE Technical Paper 2005-01-2685. Zhao, X., J. S. Marron, and M. Wells (2004). The functional data analysis view of longitudinal data. Statistica Sinica 14, 789–808. 27