optimization-based dynamic human walking … material... · iii acknowledgments first of all, i...
TRANSCRIPT
OPTIMIZATION-BASED DYNAMIC HUMAN WALKING PREDICTION
by
Yujiang Xiang
A thesis submitted in partial fulfillment of the requirements for the Doctor of
Philosophy degree in Civil and Environmental Engineering in the Graduate College of
The University of Iowa
December 2008
Thesis Supervisors: Professor Jasbir S. Arora Professor Karim Abdel-Malek
Copyright by
YUJIANG XIANG
2008
All Rights Reserved
Graduate College The University of Iowa
Iowa City, Iowa
CERTIFICATE OF APPROVAL
_______________________
PH.D. THESIS
_______________
This is to certify that the Ph.D. thesis of
Yujiang Xiang
has been approved by the Examining Committee for the thesis requirement for the Doctor of Philosophy degree in Civil and Environmental Engineering at the December 2008 graduation.
Thesis Committee: ___________________________________ Jasbir S. Arora, Thesis Supervisor
___________________________________ Karim Abdel-Malek, Thesis Supervisor
___________________________________ Salam Rahmatalla
___________________________________ Nicole M. Grosland
___________________________________ Jia Lu
ii
To science and engineering
iii
ACKNOWLEDGMENTS
First of all, I gratefully thank my advisor Professor Jasbir S. Arora for his
supervision, guidance, and suggestions throughout my PhD study in the University of
Iowa. I owe much of my scientific personality, style and accomplishments to him. I
would like to give special thanks to my co-advisor Professor Karim Abdel-Malek for his
initiation of this work and for his trust and encouragement. Thanks to Professor Salam
Rahmatalla for his motion capture data on human walking validation and other
collaborative work. I am indebted to Professor Nicole M. Grosland and Professor Jia Lu
for serving on the committee for my dissertation.
I must thank all students and staff in VSR including Jingzhou Yang, Hyun-Joon
Chung, Rajan Bhatt, Joo Hyun Kim, Hyung Jung Kwon, Anith Mathai, Steve Beck,
Timothy Marler, Amos Patrick, Molly Patrick, Chris Murphy, Faisal Goussous, and Kim
Farrell for their help and friendships.
I would like to express my appreciation to Jing Qian and Xuefeng Zhao for being
my close friends and for all they have done for me.
Finally, I would like to thank my wife Liuyang Yu, my daughter Nicole Xun
Xiang, my second baby whose due day is in November, my parents and my brother for
their love and support. This work is dedicated to them.
iv
ABSTRACT
Simulation of spatial human walking is a challenging problem from analytical and
computational points of view. A new methodology, called predictive dynamics, is
introduced in this work to simulate human walking using a spatial digital human model.
The digital human model has 55 degrees of freedom, 6 degrees of freedom for
global translation and rotation and 49 degrees of freedom representing the kinematics of
the body. The resultant action of all the muscles at a joint is lumped and represented by
the torque at each degree of freedom. In addition, the cubic B-spline interpolation is used
for time discretization and the well-established robotic formulation of the Denavit-
Hartenberg (DH) method is used for kinematics analysis of the mechanical system. The
recursive Lagrangian formulation is used to develop the equations of motion, and is
chosen because of its known computational efficiency. The approach is also suitable for
evaluation of the gradients in closed form that are needed in the optimization process.
Furthermore, dynamic stability, the zero moment point (ZMP) location, is calculated
from equations of motion with analytical gradients. The ground reaction forces (GRF) are
obtained from a novel two-step active-passive algorithm. The problem is formulated as a
nonlinear optimization problem. A unique feature of the formulation is that the equations
of motion are not integrated explicitly, but evaluated by inverse dynamics in the
optimization process to enforce the laws of physics, thus the optimal solution is obtained
in a short time. Three walking formulations are discussed: (1) one-step walking
formulation, (2) one-stride walking formulation, and (3) minimum-time walking
formulation. A program based on a sequential quadratic programming (SQP) approach is
used to solve the nonlinear optimization problem.
Besides normal walking, several other cases are also considered, such as walking
with a shoulder backpack of varying loads, walking at different speed, walking with
asymmetric step lengths, and walking with reduced torque limits. In addition to the
v
kinematics data, kinetics data such as joint torques and ground reaction forces are
recovered from the simulation and some insights are obtained for the pathological gait.
vi
TABLE OF CONTENTS
LIST OF TABLES ............................................................................................................. ix
LIST OF FIGURES .............................................................................................................x
CHAPTER 1. INTRODUCTION ........................................................................................1 1.1 Motivation ...................................................................................................1 1.2 Objectives ...................................................................................................1 1.3 Background .................................................................................................3
1.3.1 Simulation of Human Walking .........................................................3 1.3.2 Multibody Dynamics Formalisms ....................................................5
1.4 Overview of Thesis and Specific Contributions .........................................8
CHAPTER 2. KINEMATICS AND DYNAMICS ............................................................11 2.1 Introduction ...............................................................................................11 2.2 Denavit-Hartenberg Method .....................................................................11 2.3 Regular Lagrangian Equations .................................................................14
2.3.1 Formulation of Regular Lagrangian Equation ................................14 2.3.2 Sensitivity Analysis ........................................................................14
2.4 Recursive Lagrangian Equations ..............................................................15 2.4.1 Forward Recursive Kinematics ......................................................15 2.4.2 Kinematics Sensitivity Analysis .....................................................16 2.4.3 Backward Recursive Dynamics ......................................................17 2.4.4 Dynamics Sensitivity Analysis .......................................................18
2.5 Comparison of Sensitivity Analyses .........................................................19 2.6 Equation of Motion and Sensitivity for A Two-link Manipulator ............23
2.6.1 Closed-form Formulation ...............................................................23 2.6.2 Recursive Lagrangian Dynamics and Sensitivity Equations ..........25
2.7 Equivalent Joint Torque ............................................................................28
CHAPTER 3. NUMERICAL DISCRETIZATION METHOD.........................................31 3.1 Definition of B-spline ...............................................................................31
3.1.1 Divided Difference .........................................................................32 3.1.2 Recurrence Definition ....................................................................32
3.2 Construction of B-spline ...........................................................................33 3.3 Main Properties of B-spline ......................................................................34 3.4 B-spline Derivatives .................................................................................37 3.5 Examples of Cubic B-spline .....................................................................38
CHAPTER 4. PREDICTIVE DYNAMICS .......................................................................40 4.1 Predictive Dynamics .................................................................................40 4.2 Performance Measures ..............................................................................43
4.2.1 Trial-and-error ................................................................................43 4.2.2 Inner Optimization ..........................................................................43
4.3 Constraints ................................................................................................45 4.3.1 Feasible Set .....................................................................................45 4.3.2 Minimal Set of Constraint ..............................................................46
vii
4.4 Discretization and Scaling ........................................................................47 4.5 Predictive Dynamics Environment ...........................................................48 4.6 Numerical Example: Single Pendulum .....................................................51
4.6.1 Simple Swing Motion with Boundary Conditions .........................53 4.6.2 Complex Swing Motion with Boundary Conditions ......................56 4.6.3 Complex Swing Motion with Boundary Conditions and One State-response-constraint .........................................................................58 4.6.4 Complex Swing Motion with Boundary Conditions and Two State-response-constraints .......................................................................61
4.7 Summary ...................................................................................................63
CHAPTER 5. SPATIAL DIGITAL HUMAN MODEL ...................................................64 5.1 Spatial Human Skeletal Model .................................................................64
5.1.1 55-DOF Whole Body Model ..........................................................64 5.1.2 Global DOFs and Virtual Joints .....................................................66
5.2 Dynamics Model .......................................................................................68 5.3 General Stability Condition ......................................................................69 5.4 Ground Reaction Forces ...........................................................................74
5.4.1 Two-step Active-passive Algorithm ...............................................74 5.4.2 Partition of Ground Reaction Forces ..............................................76
CHAPTER 6. DYNAMIC HUMAN WALKING PREDICTION: ONE STEP FORMULATION ...........................................................................................78 6.1 Gait Model ................................................................................................78 6.2 Optimization Formulation ........................................................................81
6.2.1 Design Variables ............................................................................81 6.2.2 Objective Function .........................................................................82 6.2.3 Constraints ......................................................................................82
6.3 Numerical Discretization ..........................................................................87 6.4 Normal Walking .......................................................................................89
6.4.1 Kinematics ......................................................................................91 6.4.2 Dynamics ........................................................................................93
6.5 Walking with Backpack: Cause-and-effect ..............................................96 6.6 Summary .................................................................................................100
CHAPTER 7. DYNAMIC HUMAN WALKING PREDICTION: ONE STRIDE FORMULATION .........................................................................................102 7.1 Gait Model ..............................................................................................102 7.2 Optimization Formulation ......................................................................105
7.2.1 Design Variables ..........................................................................105 7.2.2 Objective Function .......................................................................105 7.2.3 Constraints ....................................................................................105 7.2.4 Numerical Discretization ..............................................................109
7.3 Validation of Normal Walking ...............................................................110 7.4 Speed Effect on Walking Motion: Slow Walk and Fast Walk ...............112
7.4.1 Kinematics ....................................................................................114 7.4.2 Dynamics ......................................................................................115
7.5 Asymmetric Walking ..............................................................................118 7.6 Circular Walk ..........................................................................................121 7.7 Summary .................................................................................................125
viii
CHAPTER 8. DYNAMIC HUMAN WALKING PREDICTION: MINIMUM-TIME FORMULATION ..............................................................................126 8.1 Introduction .............................................................................................126 8.2 Optimization Formulation ......................................................................126
8.2.1 Design Variables ..........................................................................127 8.2.2 Objective Function .......................................................................127 8.2.3 Constraints ....................................................................................127 8.2.4 Sensitivities ...................................................................................128
8.3 Minimum-time Walking Motion Prediction ...........................................128 8.4 Minimum-time Walking Motion Prediction with Reduced Torque Limits ............................................................................................................132 8.5 Summary .................................................................................................134
CHAPTER 9. CONCLUSIONS AND FUTURE RESEARCH ......................................135 9.1 Conclusions .............................................................................................135 9.2 Future Research ......................................................................................136
REFERENCES ................................................................................................................138
ix
LIST OF TABLES
Table 2.1 DH parameters for the two-link manipulator .....................................................25
Table 3.1 Continuity and knot multiplicity for cubic curves .............................................37
Table 4.1 Four cases of swing motion examined by predictive dynamics ........................51
Table 5.1 Link length and mass properties ........................................................................66
Table 6.1 Foot contacting conditions: four modes in a step ..............................................80
Table 7.1 Foot contacting conditions ...............................................................................104
Table 7.2 Walking parameters .........................................................................................112
Table 8.1 Walking motion prediction with different step length .....................................128
Table 8.2 Walking motion prediction with different knee torque limits .........................132
x
LIST OF FIGURES
Figure 2.1 Joint coordinate system convention and its parameters ...................................12
Figure 2.2 Branched chains system ...................................................................................20
Figure 2.3 Connectivity between parent branch and child branch .....................................22
Figure 2.4 Closed-loop system ..........................................................................................23
Figure 2.5 Two-link manipulator .......................................................................................23
Figure 2.6 DH coordinates for the two-link manipulator ..................................................25
Figure 2.7 Equivalent external driving torque at the joint .................................................29
Figure 3.1 Construction of cubic B-spline basis ................................................................33
Figure 3.2 Basis functions of cubic B-splines ...................................................................34
Figure 3.3 Local control of the B-spline curves ................................................................35
Figure 3.4 Local partition of unity of B-spline curves .......................................................36
Figure 4.1 Flowcharts of (a) forward dynamics and (b) inverse dynamics .......................41
Figure 4.2 Flowchart of predictive dynamics ....................................................................42
Figure 4.3 Set of constraints for a bio-system ...................................................................45
Figure 4.4 Modular predictive dynamics environment ......................................................49
Figure 4.5 Pre-processor: user input module .....................................................................50
Figure 4.6 Single pendulum ...............................................................................................52
Figure 4.7 Forward dynamics solved by ADAMS ............................................................53
Figure 4.8 Joint angle prediction of the single pendulum, case 1 ......................................54
Figure 4.9 Joint velocity prediction of single pendulum, case 1 .......................................55
Figure 4.10 Joint torque prediction of single pendulum, case 1 ........................................55
Figure 4.11 Joint angle prediction of single pendulum, case 2 ..........................................57
Figure 4.12 Joint velocity prediction of single pendulum, case 2 .....................................57
Figure 4.13 Joint torque prediction of single pendulum, case 2 ........................................58
Figure 4.14 Joint angle prediction of single pendulum, case 3 ..........................................59
xi
Figure 4.15 Joint velocity prediction of single pendulum, case 3 .....................................60
Figure 4.16 Joint torque prediction of single pendulum, case 3 ........................................60
Figure 4.17 Joint angle prediction of single pendulum, case 4 ..........................................61
Figure 4.18 Joint velocity prediction of single pendulum, case 4 .....................................62
Figure 4.19 Joint torque prediction of single pendulum, case 4 ........................................62
Figure 5.1 The 55-DOF digital human model (with global DOFs z1, z2, z3, z4, z5, z6) .....65
Figure 5.2 Global degree of freedoms and virtual branch (a) home configuration, (b) motion configuration ..................................................................................67
Figure 5.3 Mass and inertia allocation for joint pairs ........................................................68
Figure 5.4 Global DOFs in virtual branch .........................................................................71
Figure 5.5 Resultant active forces at pelvis, origin and ZMP ............................................72
Figure 5.6 Flowchart of the two-step active-passive algorithm to obtain GRF and real joint torques ..............................................................................................75
Figure 5.7 Partition of ground reaction forces ...................................................................76
Figure 6.1 Basic feet supporting modes in a step (side view: R denotes right leg; L denotes left leg) ................................................................................................79
Figure 6.2 Foot support region in a step (dash area is foot support region) ......................79
Figure 6.3 A normal step with symmetry conditions .........................................................80
Figure 6.4 Foot ground penetration conditions ..................................................................83
Figure 6.5 Foot support region (top view) .........................................................................84
Figure 6.6 Arm-leg coupling motion .................................................................................85
Figure 6.7 Self avoidance constraint between the wrist and hip ........................................86
Figure 6.8 B-spline discretization of a joint profile ...........................................................89
Figure 6.9 The diagram of optimized cyclic walking motion (two strides) .......................90
Figure 6.10 Comparison of predicted determinants with experimental data .....................92
Figure 6.11 Joint torque profiles in a complete cycle ........................................................94
Figure 6.12 Ground reaction forces in a complete cycle ...................................................95
Figure 6.13 Optimized walking motion with backpack (a) 20 lb, (b) 40 lb, (c) 80 lb .......97
Figure 6.14 Joint profiles with backpack ...........................................................................97
xii
Figure 6.15 Ground reaction forces with backpack ...........................................................98
Figure 6.16 Joint torque profiles with backpack ................................................................99
Figure 7.1 Basic feet supporting modes in a stride (side view: R denotes right leg; L denotes left leg) ..............................................................................................103
Figure 7.2 Foot support polygon in a stride (dash area is foot support polygon) ............104
Figure 7.3 Foot support polygon (top view) ....................................................................107
Figure 7.4 Arm-leg coupling motion ...............................................................................108
Figure 7.5 Comparison of predicted determinants with experimental data .....................111
Figure 7.6 The diagram of optimized walking motion (a) slow walk, (b) fast walk .......113
Figure 7.7 Joint angle profiles for slow and fast walks ...................................................114
Figure 7.8 Joint torque profiles for slow and fast walks ..................................................116
Figure 7.9 Ground reaction forces for slow and fast walks .............................................117
Figure 7.10 Optimized walking motion (a) abnormal walking, (b) normal walking .......118
Figure 7.11 Left knee joint profile of abnormal walking .................................................119
Figure 7.12 Left knee joint torque profiles of abnormal walking ....................................119
Figure 7.13 Ground reaction forces of abnormal walking ...............................................120
Figure 7.14 Reorder the sequence of global rotational DOFs (a) original sequence z4, z5, z6; (b) reordered sequence z4, z5, z6 ................................................121
Figure 7.15 Circular walk (top view) ...............................................................................122
Figure 7.16 3D diagram of walking along a circle ..........................................................123
Figure 7.17 GRF of circular walk ....................................................................................124
Figure 8.1 Joint torque profiles with minimum-time formulation ...................................129
Figure 8.2 Ground reaction forces with minimum-time formulation ..............................130
Figure 8.3 Percentage of optimal time duration in a step ................................................131
Figure 8.4 Joint torque profiles with different knee torque limit .....................................133
1
CHAPTER 1
INTRODUCTION
1.1 Motivation
Virtual human modeling and simulation has a proven record of applications in
industry for product design and analysis. There is an evolving demand in industry to
evaluate the human aspect of designs within the digital environment. Consequently, a
new generation of digital human called SantosTM is developed in Virtual Soldier Research
Program (VSR) to model the realistic human including anatomy, biomechanics, and
physiology. A novel optimization-based approach is used for empowering the digital
human to perform dynamic tasks in a physics-based world. Among these tasks, walking
motion is the most fundamental one. However, simulation of spatial human walking is a
challenging problem from analytical and computational points of view. An accurate
biomechanical gait model needs to be developed based on the basic sciences of anatomy,
physiology and biomechanics. The simulation also needs to be as fast and efficient as
possible in an effort to provide real-time implementations. The walking model aims to
explain normal and pathological gait, and answer essential questions about human
biomechanics under different walking conditions.
The primary goal of this study is to develop an accurate spatial gait model to
predict and analyze dynamic human walking motion in biomechanical applications.
Predictive dynamics will also be proposed to solve a broad family of human motion
planning problems. The gait model will be used as a proof-of-concept for the proposed
predictive dynamics methodology.
1.2 Objectives
The objectives of this research can be detailed into five aspects. First, predictive
dynamics is proposed to solve human motion planning problems without integration of
equations of motion. In predictive dynamics, energy-based objective function is chosen
2
based on the minimal energy principle of the motion. And constraints are constructed
based on the available information of the bio-system. In addition, the predictive dynamics
environment needs to be general enough to simulate any human tasks in an easy way.
The second objective is to develop efficient multibody dynamics formulation to
establish equations of motion and carry out sensitivity analysis for the complex spatial
digital human model with many degrees of freedom. Recursive Lagrangian dynamics is
used to set up equations of motion in joint space because of its computational efficiency.
Moreover, the sensitivity equations are evaluated in a recursive way in the optimization
process.
The third objective is to incorporate transient ground reaction forces in the gait
model. Ground reaction forces are essential passive forces to balance the dynamic system
for unilateral contact walking problem. A two-step active-passive algorithm is developed
to calculate ground reaction forces from equations of motion with analytical gradients.
The fourth objective is to use the proposed gait model to predict and analyze
normal and abnormal human walking motion. The external loads, such as backpack, and
the speed effect on the walking motion are discussed by using the proposed gait model.
The fidelity of the model is also validated with experimental data using six walking
determinants.
Finally, the minimum-time walking problem is described and formulated as an
optimization problem. In this formulation, the time duration is optimized along with the
walking motion to predict how fast a person can walk. In addition, the reduced torque
limits are implemented in the walking motion prediction to propose a simple fatigue
model.
3
1.3 Background
1.3.1 Simulation of Human Walking
Simulation of spatial human walking is a challenging problem from analytical and
computational points of view. Several attempts have been made in the past to develop
realistic human walking using mechanical models. Most of these methods simulate
human motion using databases generated from experiments on human subjects (Choi et al
2003; Laumond 2004). Therefore, these approaches are limited by the accuracy and
availability of the experimental data.
In addition to the database approach, many methods have been attempted to
model and simulate human walking. One well known approach is the ZMP-based
trajectory generation method, which has received a great deal of attention. In this method,
with the preplanned ZMP and feet location, the walking motion can be generated in real
time to follow the desired ZMP trajectory using optimal control approach with small
degrees of freedom (DOF) models (Yamaguchi et al. 1999; Kajita et al. 2003). The ZMP
concept can also be incorporated in an optimization formulation to synthesize walking
pattern by maximizing the stability, subject to physical constraints (Huang et al. 2001;
Mu and Wu 2003; Kim et al. 2005). The key point of this approach is that the dynamics
equations are used only to formulate the stability (ZMP) condition rather than generation
of the entire motion trajectory directly, so that many dynamics details are not considered.
Another approach is the inverted pendulum model, which is often used to solve walking
problems based on the idea that biped walking can be treated as an inverted pendulum.
Advantages of the inverted pendulum method are depicted in its simplicity and fast
solvable dynamics equations (Park and Kim, 1998). However, the method also suffers
from the inadequate dynamics model that cannot generate natural and realistic human
motion.
4
Besides the above mentioned simulation approaches, optimization based
trajectory generation is another existing powerful simulation scheme. In this method,
there is a higher chance to achieve more realistic and natural humanoid motion. In
addition, the method can easily handle large degree of freedom models, and can optimize
many human-related criteria simultaneously. For digital human simulations, the method
uses objective functions to represent human performance measures, and solve for the
feasible joint motion profiles that optimize the objective functions and satisfy all the
constraints (Xiang et al., 2007; Chung et al., 2007). Chevallereau and Aoustin (2001)
planned robotic walking and running motions using optimization to determine the
coefficients of a polynomial approximation for profiles of the pelvis translations and joint
angle rotations. Walking was treated as a combination of successive single support
phases with instantaneous double support phases defined by passive impact. Saidouni and
Bessonet (2003) used optimization to solve for cyclic, symmetric gait motion of a nine
degree of freedom (DOF) model that moves in the sagittal plane; the control points for
the B-spline curves along with the time durations for the gait stages were optimized to
minimize the actuating torque energy. By adopting the time durations as design variables
both the motion for the single support and for the double support were simultaneously
optimized. In another work, Anderson and Pandy (2001) developed a musculoskeletal
model with 23 DOFs and 54 muscles for normal symmetric walking on level ground
using dynamic optimization method. Muscle forces were treated as design variables and
metabolic energy expenditure per unit distance was minimized. The forward dynamics
was used for kinematics and ground reaction forces were obtained from equilibrium
condition in each iteration. The repeatable initial and final postures were given from
experimental data. Lo et al. (2002) used quasi-Newton nonlinear programming
techniques to determine the human motion that minimizes the summation of the squares
of all actuating torques. The design variables were the control points for the cubic B-
5
spline approximation of joint angle profiles. Sensitivity of joint torque with respect to
control points were analytically obtained by using recursive Newton-Euler formulation.
Kim et al. (2008) developed an optimization-based human-modeling framework
for predicting three dimensional human gait motions on level and inclined planes. The
joint motion histories were calculated by minimizing a human performance measure
which was the deviation of the trunk from the upright posture, and subjected to a variety
of physical constraints. The time duration for various gait phases were optimized along
with the unknown joint angle profiles. The proposed methodology was a ZMP-based
method without solving for joint torques and ground reaction forces to achieve high
computational efficiency. The present work differs from the foregoing paper in the
following aspects: recursive Lagrangian formulation is used for kinematics and
dynamics, joint torques ground reaction forces are calculated, a more realistic skeletal
model is used, the optimization formulation is physics-based where an energy-related
objective function is minimized, and constraints on the joint torques are imposed. As a
result, a more realistic human walking motion is obtained.
1.3.2 Multibody Dynamics Formalisms
Dynamic motion prediction is a challenging problem because the equations of
motion are nonlinear and cannot be solved in a closed form. Robust nonlinear
programming algorithms (NLP) have been developed and applied to solve the motion
prediction problem. Inverse dynamics is usually adopted in the optimization formulation
so that integration of the equation of motion is avoided. Sensitivity of the nonlinear
dynamics equations with respect to the state variables is needed in the optimization
process to solve the problem efficiently and accurately. Development of sensitivity
expressions and their implementation can be tedious. Therefore, more efficient and easy-
to-implement algorithms need to be developed.
6
General dynamics equations have been extensively studied in recent decades in
terms of computational efficiency. Uicker (1965) set up the Lagrangian equation for
serial chains by using the Denavit-Hartenberg (DH) transformation matrices. This yields
a convenient and compact description of the manipulator equations of motion. However,
computation of the torques from equations of motion is of the order 4( )O n , where n is
the number of degrees of freedom (DOF) for the system. Hollerbach (1980) developed
recursive Lagrangian dynamics equations that require order ( )O n calculations. Toogood
(1989) presented an efficient symbolic generator for the recursive Lagrangian inverse
dynamics formulation. Furthermore, the recursive Newton-Euler algorithm provides
another efficient way to compute torques (Orin et al. 1979; Armstrong 1979; Luh et al.
1980) that also requires order ( )O n calculations. Featherstone (1987) used a concise
spatial notation to express recursive Newton-Euler equations. Park et al. (1995) derived
recursive dynamics formulation based on geometric concepts of Lie groups.
Recently, dynamic motion planning of digital humans has been solved using
optimization which requires sensitivity analysis of dynamic equations. It is
computationally expensive to obtain these sensitivities, especially for a large DOFs
model. Researchers have developed algorithms to obtain accurate sensitivity to reduce the
computational cost of solving motion optimization problems. Hsieh and Arora (1984)
studied both direct differentiation and adjoint variable methods of design sensitivity
analysis of mechanical systems to deal with the point-wise constraints. Serban and Haug
(1998) presented analytical kinematic and kinetic derivatives required in multibody
analysis. Derivative computations were developed in the Cartesian coordinate
formulation with Euler parameters. Based on Lie group and Lie algebra theory, Sohl and
Bobrow (2001) developed sensitivity algorithm of recursive Newton-Euler equations for
branched or tree-topology systems. Kim et al. (1999) presented a class of Newton-type
algorithms to analytically compute both the first and second derivatives of the dynamics
equations with respect to arbitrary joint variables.
7
The historical development of multibody system dynamics and its engineering
applications were reviewed by Schiehlen (1997), in which various formalisms of
multibody dynamics were discussed. Eberhard and Schiehlen (2006) overviewed some
fundamentals in multibody dynamics, recursive algorithms and methods for dynamical
analysis. Recursive formulation has been shown to be efficient for mechanical systems
with large DOFs or articulated topology structures (Bae and Haug, 1987; Rein, 1995;
Anderson and Hsu, 2002, Rodríguez et al., 2004). Bae et al. (2001) presented a design
sensitivity analysis method based on direct differentiation and generalized recursive
formulas. The equations of motion were transformed from Cartesian coordinate system
into the relative coordinate system by using the velocity transformations. Anderson and
Hsu (2002) developed a fully recursive method to facilitate first-order sensitivity analysis
in optimal design problems for multibody systems. The dynamic analysis algorithm was
based on the velocity space projection method. An alternative method to calculate
sensitivities of a dynamic system is the automatic differentiation procedure (Eberhard and
Bischof, 1999; Barthelemy and Hall, 1995), which can reduce the effort in their
implementation. However, automatic differentiation is a pure syntactical tool, and so it is
difficult to obtain any insight knowledge about the problem structure with the algorithm
(Anderson and Hsu, 2002).
Optimization-based motion prediction is a robust methodology to solve trajectory
planning for a redundant mechanical system. Such an optimization problem is usually a
large scale sparse nonlinear programming (NLP) problem. Accurate sensitivity is a key
factor to efficiently achieve an optimal solution. Although finite difference approach can
be used to approximate gradients, the computational expense becomes more serious as
the number of variables increases (i.e., the number of degrees of freedom). In addition,
accuracy of the derivatives can affect convergence of the optimization process, thus
leading to further computational expense. Snyman and Berner (1999) optimized a three-
link revolute-joint planar manipulator. Input energy and average torque requirement were
8
minimized subject to the joint and the torque limits. Gradient of the objective function
was calculated using finite differences. Anderson and Pandy (2001) presented a model
with 23 DOFs and 54 muscles for normal symmetric walking on level ground. The
parallel computation techniques were used to evaluate gradients by finite differences. Lo
et al. (2002) presented a general framework for human motion prediction incorporating
inverse recursive Newton-Euler equations with analytical gradients. Although different
algorithms for sensitivity of dynamic equation have been studied, limited work is found
for inverse recursive Lagrangian formulation with sensitivity for general motion planning
problems. By using DH transformation matrices, recursive Lagrangian formulation is
more efficient and convenient to implement compared to recursive Newton-Euler
formulation (Hollerbach, 1980). In addition, the Lagrangian formulation is the energy
concept for the equations of motion typically defined in the joint space. This leads to
more convenient calculation for joint torques, especially for a skeletal model, compared
to the Newton-Euler formulation which is based on the Cartesian coordinates.
1.4 Overview of Thesis and Specific Contributions
The thesis is organized as follows: In Chapter 2, recursive kinematics and
dynamics with sensitivity analysis are developed. These sensitivity equations provide
essential aids to the large scale nonlinear optimization programming. B-spline
discretization technique is introduced in Chapter 3 and cubic B-spline basis functions are
constructed explicitly. In Chapter 4, the concept of predictive dynamics is proposed and
examined by solving a single pendulum problem subjected to a sinusoidal external
torque. The general scheme on constructing performance measure and constraints for
human motion are detailed. In Chapter 5, a spatial human skeletal model that has 55
degrees of freedom is built based on the DH method. In addition, an efficient approach is
developed to calculate ZMP and ground reaction forces from equations of motion with
analytical gradients.
9
Three basic formulations for dynamic human walking prediction are explored in
this thesis: (1) one step walking formulation, (2) one stride walking formulation, and (3)
minimum time walking formulation. In Chapter 6, normal walking is formulated as a
symmetric and cyclic motion so that only one step of gait cycle is simulated. The
proposed predictive dynamics formulation is verified with experimental data using six
walking determinants. The effect of external force, such as backpacks, on gait motion is
studied.
Chapter 7 covers the details of the proposed one stride walking formulation.
Besides normal walking, the speed effect for walking motion is also discussed. In
addition, an asymmetric walk is simulated by using the proposed stride walking
formulation and some insights are revealed for specific pathological gaits. In Chapter 8,
the minimum-time walking problem is described and formulated as an optimization
problem. The time duration is optimized along with the walking motion to predict how
fast a person can walk.
Finally, the thesis ends with Chapter 9 having conclusions and plan of future
research.
The research contributions of this work are summarized as follows:
(1) Predictive dynamics method was proposed and examined by modeling a
spatial biomechanical gait model with high fidelity to predict walking motion. In addition,
the general predictive dynamics environment was built modularly so that other dynamic
tasks can be simulated easily, such as running, stair climbing, kneeling, and ladder
climbing.
(2) A large degrees of freedom spatial human skeleton model based on the DH
method was used in the walking motion prediction.
(3) Joint actuating torques were calculated from inverse recursive Lagrangian
dynamics with analytical gradient evaluations in the optimization process so that the
formulation was quite efficient.
10
(4) ZMP was calculated from equations of motion. The transient ground reaction
forces were obtained from global equilibrium by using a two-step active-passive
algorithm and the corresponding analytical gradients were also incorporated in the
optimization process.
(5) Backpack effects on normal walking were studied, and speed effect on
walking motion was also investigated by using predictive dynamics method.
(6) The formulation was also extended to simulate asymmetric gait motion and
some insights on pathological gait were obtained for clinical study.
(7) The minimum-time walking problem was formulated and solved to predict
how fast a person can walk.
11
CHAPTER 2
KINEMATICS AND DYNAMICS
2.1 Introduction
General dynamics equations have been extensively studied in recent decades in
terms of computational efficiency. Sensitivity of dynamics equations is needed in the
optimization process to solve the problem efficiently and accurately. Development of
sensitivity expressions and their implementation can be tedious. Therefore, more efficient
and easy-to-implement algorithms need to be developed.
In this chapter, the well-established Denavit-Hartenberg method for kinematics
analysis of a mechanical system is introduced. The recursive kinematics and Lagrangian
dynamics formulations for the system are presented. The formulations can systematically
treat branched mechanical systems. In addition the sensitivity analysis can be efficiently
implemented in a recursive way. The kinematics formulation is based on DH
transformation matrices. External forces and moments are taken into account in the
equations of motion. The proposed formulation is also compared to the one with the
closed-form equations of motion for a two-link manipulator.
2.2 Denavit-Hartenberg Method
The Denavit-Hartenberg (DH) method relates the position of a point in one
coordinate system to another by using transformation matrices (Denavit and Hartenberg
1955). In order to obtain a systematic method for generating the homogeneous
transformation matrix between any two links, it is necessary to follow a convention in
establishing coordinate systems on each link. This can be accomplished by implementing
the following rules.
(1) Name each joint starting with 1, 2, ... up to n-degrees of freedom.
(2) Embed the −1z i axis along the axis of motion of the ith joint.
12
(3) Embed the xi axis normal to the −1z i (and of course normal to the z i axis) with
direction from joint i to joint (i+1).
(4) Embed the y i axis such that it is perpendicular to the xi and z i subject to the right
hand rule.
The joint angles, q nR∈ , are defined as a vector of n-generalized coordinates. The
position vector of a point of interest in the Cartesian space can be written in terms of the
joint variables as ( )X X q= , where ( )X q can be obtained from the multiplication of the
4 4× homogeneous transformation matrices 1Tii
− defined by the DH method as
1
cos cos sin sin sin cossin cos cos sin cos sin
0 sin cos0 0 0 1
T
i i i i i i i
i i i i i i iii
i i i
aa
d−
θ − α θ α θ θ⎡ ⎤⎢ ⎥θ α θ − α θ θ⎢ ⎥=⎢ ⎥α α⎢ ⎥⎣ ⎦
(2.2.1)
This matrix relates coordinate frames i and i-1, represented by four parameters iθ , id , ia ,
and iα as shown in Figure 2.1.
Joint i
Joint i + 1
di
ai
αi
Link i
zi-1
xi-1
θi
xi
zi
qi
qi+1
Figure 2.1 Joint coordinate system convention and its parameters
The four parameters (depicted in Figure 2.1) are:
13
(1) θ i is the joint angle, measured from the −1xi to the xi axis about the −1z i (right hand
rule applies). For a prismatic joint θ i is a constant. It is basically the angle of rotation
of one link with respect to another about the −1z i axis.
(2) di is the distance from the origin of the coordinate frame (i-1) to the intersection of
the −1z i axis with the xi axis along −1z i axis. For a revolute joint di is a constant. It
is basically the distance translated by one link with respect to another along the −1z i
axis.
(3) ai is the offset distance from the intersection of the −1z i axis with the xi axis to the
origin of the frame i along xi axis (shortest distance from the origin of the ith frame
to the −1z i axis).
(4) α i is the offset angle from −1z i axis to z i axis about the xi axis (right hand rule).
A revolute or prismatic joint is modeled as a one-DOF motion iq along local 1iz −
axis. The joint motion is incorporated in the transformation matrix 1Tii
− as in Equation
(2.2.2).
for a revolute jointfor a prismatic joint
ii
i
qdθ⎧
= ⎨⎩
(2.2.2)
Let us define the augmented 4 1× vectors 0rj and rj using the global Cartesian
vector ( )X q and the local Cartesian vector X j as
( )0
1X q
rj
⎡ ⎤= ⎢ ⎥⎣ ⎦
, 1
Xr j
j⎡ ⎤
= ⎢ ⎥⎣ ⎦
(2.2.3)
where X j is the position of the point with respect to the jth coordinate system. Using
these vectors, 0rj can be related to rj (i.e., the global Cartesian vector ( )X q can be
expressed in terms of the local Cartesian vector X j ) as:
( )0 0r T q rj j j= (2.2.4)
where
14
( ) ( ) ( ) ( )0 1 0 1 11 1 2 2
1
T q T T T Tj
i jj i j j
i
q q q− −
=
= = ⋅⋅⋅∏ (2.2.5)
2.3 Regular Lagrangian Equations
2.3.1 Formulation of Regular Lagrangian Equation
The regular form of the Lagrangian equation can be written in vector-matrix form
(Fu et. al., 1987):
( ) T T( )τ M q q+V q,q J g+ J fi i s si s
m= +∑ ∑&& & (2.3.1)
T0 0
max( , )
( ) ( )( ) , 1,...,
nj j
ik jj i k k i
M Tr i k nq q=
⎛ ⎞⎛ ⎞∂ ∂⎜ ⎟= =⎜ ⎟⎜ ⎟⎜ ⎟∂ ∂⎝ ⎠⎝ ⎠∑
T q T qq I (2.3.2)
T2 0 0
1 1 max( , , )
( ) ( )( ) , , 1,...,
n n nj j
i j k mk m j i k m k m i
Tr q q i k m nq q q= = =
⎛ ⎞⎛ ⎞∂ ∂⎜ ⎟= =⎜ ⎟⎜ ⎟⎜ ⎟∂ ∂ ∂⎝ ⎠⎝ ⎠∑∑ ∑
T q T qV q,q I & & & (2.3.3)
0
ii i
i
rq
∂=
∂TJ (2.3.4)
0
ss s
s
rq
∂=
∂TJ (2.3.5)
where J i is the Jacobian matrix for link i and ir is the position of the center of mass of
link i with respect to the ith coordinate system; I j is the augmented inertia matrix for link
j; sJ is the Jacobian matrix for the external load sf and sr is the position where external
load applied in the sth coordinate system. [ ]Tr L denotes the trace operation and T( )L denotes the matrix transpose.
2.3.2 Sensitivity Analysis
We note from Equations (2.3.1)-(2.3.5) that the regular Lagrangian equations are
coupled, nonlinear, and second-order differential equations. ( )M q is an n n× matrix, and
15
( )V q,q& is an 1n× vector. Each term involves summation and state variables. Direct
sensitivity analysis gives the n n× sensitivity matrix as
( )
TT( ) i i
i s sm∂∂ ∂∂ ∂
= + +∂ ∂ ∂ ∂ ∂
∑J gM q q J fτ V q,q+q q q q q
&& & (2.3.6)
2.4 Recursive Lagrangian Equations
2.4.1 Forward Recursive Kinematics
We can define 4 4× matrices A j , B j , C j as recursive position, velocity, and
acceleration transformation matrices, respectively, for the jth joint. Given the link
transformation matrix ( Tj ) and the kinematics state variables for each joint ( jq , jq& , and
jq&& ), then we have for j =1 to n :
1 2 3 -1A T T T T A Tj j j j= =L (2.4.1)
TB A = B T A j
j j j-1 j j-1 jj
qq∂
= +∂
& & (2.4.2)
2
222
T T TC B = A = C T B A Aj j j
j j j j-1 j j-1 j j-1 j j-1 jj j j
q q qq q q∂ ∂ ∂
= + + +∂ ∂ ∂
&&& & & && (2.4.3)
where 0 =A 1 (identity matrix) and 0 0= =B C 0 . For the sake of simplicity, we are using
Tj to represent -1jjT .
After obtaining all the transformation matrices A j , B j , C j , the global position,
velocity, and acceleration of a point in Cartesian coordinates can be calculated as
0
0
0
r A r
r B r
r C r
j j j
j j j
j j j
=
=
=
&
&&
(2.4.4)
16
2.4.2 Kinematics Sensitivity Analysis
For a given point, sensitivity of position, velocity, and acceleration with respect to
state variables relates to transformation matrices A, B, and C.
1
1
( )
( )
( )
A T
A = TA
0
i-i
ki
ii-k
k
k iq
k iqq
k i
∂⎧ <⎪ ∂⎪∂ ⎪ ∂⎨ =∂ ⎪ ∂⎪
>⎪⎩
(2.4.5)
1 1
2
1 1 2
( )
( )
( )
i- i- ii i
k k ii
i ii- i ik
k k
q k iq q q
q k iqq q
k i
−
∂ ∂ ∂⎧ + <⎪ ∂ ∂ ∂⎪∂ ⎪∂ ∂⎨ + =∂ ⎪ ∂ ∂⎪
>⎪⎩
B A TT
B = T TB A
0
&
& (2.4.6)
1
1
( )
( )
( )
B T
B = TA
0
i-i
ki
iik
k
k iq
k iqq
k i
−
∂⎧ <⎪ ∂⎪∂ ⎪ ∂⎨ =∂ ⎪ ∂⎪
>⎪⎩
&
& (2.4.7)
221 1 1 1
2
2 3 22
1 1 1 12 3 2
2 ( )
2 ( )
C B T A T A TT + +
C = T T T TC B +A +A
0
i- i- i i- i i- ii i i i
k k i k i k ii
i i i ik i- i i i- i i- i
k k k k
q q q k iq q q q q q q
q q q q k iq q q q−
∂ ∂ ∂ ∂ ∂ ∂ ∂+ <
∂ ∂ ∂ ∂ ∂ ∂ ∂∂
∂ ∂ ∂ ∂∂ + =
∂ ∂ ∂ ∂
& & &&
& & &&
( ) k i
⎧⎪⎪⎪⎨⎪⎪⎪ >⎩
(2.4.8)
1 1
2
1 1 2
2 ( )
2 2 ( )
( )
C B TT
C = T TB + A
0
i- i- ii i
k k ii
i ii i- ik
k k
q k iq q q
q k iqq q
k i
−
∂ ∂ ∂⎧ + <⎪ ∂ ∂ ∂⎪∂ ⎪∂ ∂⎨ =∂ ⎪ ∂ ∂⎪
>⎪⎩
&& &
&& (2.4.9)
17
1
1
( )
( )
( )
C T
C = TA
0
i-i
ki
ii-k
k
k iq
k iqq
k i
∂⎧ <⎪ ∂⎪∂ ⎪ ∂⎨ =∂ ⎪ ∂⎪
>⎪⎩
&&
&& (2.4.10)
2.4.3 Backward Recursive Dynamics
Based on forward recursive kinematics, the backward recursion for dynamic
analysis is accomplished by defining 4 4× transformation matrix Di and 4 1×
transformation vectors Ei , Fi , and G i as follows.
Given the mass and inertia properties of each link, and the external force T 0f k k k
k x y zf f f⎡ ⎤= ⎣ ⎦ and the moment T 0h k k kk x y zh h h⎡ ⎤= ⎣ ⎦ for the link k
defined in the global coordinate system, then the joint actuation torques iτ are computed
for i = n to 1 as (Xiang et al., 2008)
1 0[ ] T T Ti i i i i i k i i i
i i i
trq q q −
∂ ∂ ∂τ = − − −
∂ ∂ ∂A A AD g E f F G A z (2.4.11)
where
1 1TD I C T Di i i i+ i+= + (2.4.12)
1 1 E r T Eii i i i+ i+m= + (2.4.13)
1 1 F r T Fki f ik i+ i+= δ + (2.4.14)
1 G h Gi k ik i+= δ + (2.4.15)
with 1n+ =D 0 and 1 1 1n+ n+ n+= = =E F G 0 ; I i is the inertia matrix for link i; im is the mass
of link i; g is the gravity vector; rii is the location of center of mass of link i in the local
frame i; rkf is position of the external force in the local frame k; [ ]T0 0 0 1 0z = for a
revolute joint and [ ]T0 0 0 0 0=z for a prismatic joint. ikδ is Kronecker delta.
18
The first term in torque expression is the inertia and Coriolis torque, the second
term denotes the torque of force due to gravity, the third term is the torque due to external
force, and the fourth term represents the torque due to external moment.
2.4.4 Dynamics Sensitivity Analysis
The derivatives, /i kq∂τ ∂ , /i kq∂τ ∂ & , /i kq∂τ ∂&& (i = 1 to n; k = 1 to n), can be
evaluated for a mechanical system in a recursive way using the foregoing recursive
Lagrangian dynamics formulation. Sensitivity of torque with respect to the state variables
involves D, E, F, and G, which correspond to inertia and Coriolis, gravity, external force,
and external moment, respectively.
T1
1
1 11 1
11
( )
( 1)
( 1)
C DI T
D T D= D T
DT
i ii i
k k
i i i+i+ i
k k k
i+i
k
k iq q
k iq q q
k iq
++
++
+
⎧ ∂ ∂+ ≤⎪ ∂ ∂⎪
⎪∂ ∂ ∂+ = +⎨∂ ∂ ∂⎪
⎪ ∂> +⎪
∂⎩
(2.4.16)
T1
1
11
( )
( )
C DI TD =
DT
i i+i i
k ki
k i+i
k
+ k iq q
qk i
q
+
+
⎧ ∂ ∂≤⎪ ∂ ∂∂ ⎪
⎨∂ ∂⎪ >⎪ ∂⎩
& &
&
&
(2.4.17)
T1
1
11
( )
( )
C DI TD =
DT
i i+i i
k ki
k i+i
k
+ k iq q
qk i
q
+
+
⎧ ∂ ∂≤⎪ ∂ ∂∂ ⎪
⎨∂ ∂⎪ >⎪ ∂⎩
&& &&
&&
&&
(2.4.18)
1 11 1
11
( )
( 1)
( 1)
0 E T E= E T
ET
i i+ i+i i
k k k
i+i
k
k i
+ k iq q q
k iq
+ +
+
⎧⎪ ≤⎪⎪∂ ∂ ∂
= +⎨∂ ∂ ∂⎪⎪ ∂
> +⎪∂⎩
(2.4.19)
19
1 11 1
11
( )
( 1)
( 1)
0 F T F= F T
FT
i i+ i+i i
k k k
i+i
k
k i
+ k iq q q
k iq
+ +
+
⎧⎪ ≤⎪⎪∂ ∂ ∂
= +⎨∂ ∂ ∂⎪⎪ ∂
> +⎪∂⎩
(2.4.20)
G = 0i
kq∂∂
(2.4.21)
2 2 2T T T 1
0
T T
)
)
A A D A A AD g E f F G z (=
A D A E A Fg f (
i i i i i ii i i i
i k i k i k i k ki
k i i i i i i
i k i k i k
tr k iq q q q q q q q q
qtr k i
q q q q q q
τ−
⎧ ⎛ ⎞∂ ∂ ∂ ∂ ∂ ∂+ − − − ≤⎪ ⎜ ⎟∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂∂ ⎪ ⎝ ⎠
⎨∂ ⎛ ⎞∂ ∂ ∂ ∂ ∂ ∂⎪ − − >⎜ ⎟⎪ ∂ ∂ ∂ ∂ ∂ ∂⎝ ⎠⎩
(2.4.22)
A D=i i i
k i k
trq q qτ ⎛ ⎞∂ ∂ ∂
⎜ ⎟∂ ∂ ∂⎝ ⎠& & (2.4.23)
A D=i i i
k i k
trq q qτ ⎛ ⎞∂ ∂ ∂
⎜ ⎟∂ ∂ ∂⎝ ⎠&& && (2.4.24)
Thus, the gradients of torque with respect to state variables are obtained through
Equations (2.4.22) to (2.4.24).
2.5 Comparison of Sensitivity Analyses
Direct sensitivity analyses from the regular Lagrangian equations are challenging
and inefficient because all terms are coupled together. For a large-DOF mechanism, this
process is almost impossible. The computation cost of regular Lagrangian equations is of
order 4( )O n , and sensitivity cost is even larger. Moreover, to deal with closed-loop or
branched chains, the regular Lagrangian equations of the system must be rewritten, and
sensitivity analysis has to go through each term in the coefficient matrix.
In contrast, the recursive formulation is convenient for computing sensitivities.
Dynamic equations of the system are set up in a recursive way. Sensitivity information
with respect to a joint involves two adjacent joints. The computation cost is therefore
20
reduced to the order of ( )O n . In addition, the recursive algorithm is suitable for computer
implementation. For a system with small DOF, the total computational time with
different formulations of equations of motion may not be too different. However, for a
model with a large number of DOF, the number of calculations can be significantly
different. This can have a significant impact on the efficiency of the entire optimization
process. It has been concluded in the literature that the recursive formulation is the most
suitable for large scale mechanical system (Hollerbach, 1980; Luh et al., 1980; Toogood,
1989, Bae et al., 2001). By introducing the parent link and child link concepts, extension
of the algorithm to branched chains is straightforward. The parent link transfers forward
kinematics (A, B, C) to each child link, and every child link passes dynamics (D, E, F,
G) back to the parent link, as shown in Figure 2.2 (for clarity, only C and D matrices are
shown in the figure).
parent link
child link 1
child link 2
Di
D1(i+1)
D2(i+1)
Ci
C1(i+1)
C2(i+1)
Figure 2.2 Branched chains system
Open-loop algorithm:
21
[ ] [ ] [ ]
[ ] [ ] [ ] [ ]0 ; 0 ; 0
1 ; 1 ; 1 ; 1n n n n⎧ = = =⎪⎨ + = + = + = + =⎪⎩
A 1 B 0 C 0D 0 E 0 F 0 G 0
(2.5.1)
The basis is always fixed in the inertial coordinate and moving basis can be dealt
with by introducing more degrees of freedom (virtual joint with zero mass and inertia)
which relate moving basis to the fixed origin in inertial coordinate.
Branched-chain algorithm:
For forward kinematics, the child branch receives kinematics of the parent branch;
for backward dynamics, the parent branch accumulates dynamics of the child branches as
follows.
[ ][ ][ ]
child parent p
child parent p
child parent p
0
0
0
A A
B B
C C
n
n
n
⎧ ⎡ ⎤= ⎣ ⎦⎪⎪ ⎡ ⎤=⎨ ⎣ ⎦⎪
⎡ ⎤=⎪ ⎣ ⎦⎩
(2.5.2)
[ ]
[ ]
[ ]
[ ]
parent p child( )1
parent p child( )1
parent p child( )1
parent p child( )1
1 1
1 1
1 1
1 1
D D
E E
F F
G G
m
iim
iim
iim
ii
n
n
n
n
=
=
=
=
⎧ ⎡ ⎤+ =⎪ ⎣ ⎦⎪⎪
⎡ ⎤+ =⎪ ⎣ ⎦⎪⎨⎪ ⎡ ⎤+ =⎣ ⎦⎪⎪⎪ ⎡ ⎤+ =⎣ ⎦⎪⎩
∑
∑
∑
∑
(2.5.3)
where pn is the number of degrees of freedom in parent branch and m is the number of
child branches connected to the parent branch; [ ]child 0A stores the parent branch
kinematics and parent p 1D n⎡ ⎤+⎣ ⎦ stores the child branch dynamics as shown in Figure 2.3.
22
Figure 2.3 Connectivity between parent branch and child branch
The derived algorithm can also be applied to closed-loop system by introducing
cut-joint with external forces and position constraint as follows:
[ ] [ ] [ ]
[ ] [ ] [ ] [ ]0 ; 0 ; 0
1 ; 1 ; 1 ; 1n n n n⎧ = = =⎪⎨ + = + = + = + =⎪⎩
A 1 B 0 C 0D 0 E 0 F 0 G 0
(2.5.4)
[ ]0 0
T
T
( ) 0
0
0
n n n
n n nn x y z
n n nn x y z
g where n
f f f
h h h
⎧ ≤⎪⎪ ⎡ ⎤=⎨ ⎣ ⎦⎪
⎡ ⎤=⎪ ⎣ ⎦⎩
r r =A r
f
h
(2.5.5)
where 0rn is the Cartesian coordinates of the end-effector and ( )g L is the constraint on
it; fn and hn are external force and moment acting at the end-effector as depicted in
Figure 2.4.
23
Figure 2.4 Closed-loop system
2.6 Equation of Motion and Sensitivity for A Two-link
Manipulator
2.6.1 Closed-form Formulation
Figure 2.5 Two-link manipulator
24
The closed-form Lagrangian equations for a two-link rigid manipulator are well-
studied and are given as follows:
( ) ( )2 2 2 21 1 2 1 1 2 1 2 1 2 2 1 2 2 2 2 1 2 2 2
22 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1
2 1 1 2 1 2 1 1
( 2 cos ) cos
2 sin sin cos( ) coscos cos( ) cos
I I m l m L l L l I m l m L l
m L l m L l m gl m glm gL fL fL
τ θ θ θ θ
θ θ θ θ θ θ θ θθ θ θ θ
= + + + + + + + +
− − + + ++ + + +
&& &&
& & & (2.6.1)
( ) ( )2 2 22 2 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2
2 2 1 2 2 1 2
cos sin
cos( ) cos( )
I m l I m l m L l m L l
m gl fL
τ θ θ θ θ θ
θ θ θ θ
= + + + + +
+ + + +
&& && & (2.6.2)
Explicit gradients of the torques with respect to state variables are derived as
follows:
1
2 2 1 2 1 1 1 2 1 1 2 1 21
1 1
sin( ) sin sin sin( )
sin
m gl m gl m gL fL
fL
τ θ θ θ θ θ θθ
θ
∂= − + − − − +
∂−
(2.6.3)
( ) ( )1
2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 22
22 1 2 2 2 2 2 1 2 2 1 2
2 sin sin 2 cos
cos sin( ) sin( )
m L l m L l m L l
m L l m gl fL
τ θ θ θ θ θ θ θθ
θ θ θ θ θ θ
∂= − + − −
∂
− − + − +
&& && & &
& (2.6.4)
12 1 2 2 2
1
2 sinm L lτ θ θθ∂
= −∂
&& (2.6.5)
12 1 2 1 2 2 1 2 2 2
2
2 sin 2 sinm L l m L lτ θ θ θ θθ∂
= − −∂
& && (2.6.6)
2 2 211 2 1 1 2 1 2 1 2 2
1
( 2 cos )I I m l m L l L lτ θθ∂
= + + + + +∂ &&
(2.6.7)
212 2 2 2 1 2 2
2
cosI m l m L lτ θθ∂
= + +∂ &&
(2.6.8)
22 2 1 2 2 1 2
1
sin( ) sin( )m gl fLτ θ θ θ θθ∂
= − + − +∂
(2.6.9)
( ) 22
2 1 2 2 1 2 1 2 1 2 2 2 1 22
2 1 2
sin cos sin( )
sin( )
m L l m L l m gl
fL
τ θ θ θ θ θ θθ
θ θ
∂= − + − +
∂− +
&& & (2.6.10)
25
22 1 2 1 2
1
2 sinm L lτ θ θθ∂
=∂
&& (2.6.11)
2
2
0τθ∂
=∂ &
(2.6.12)
222 2 2 2 1 2 2
1
cosI m l m L lτ θθ∂
= + +∂ &&
(2.6.13)
222 2 2
2
I m lτθ∂
= +∂ &&
(2.6.14)
2.6.2 Recursive Lagrangian Dynamics and Sensitivity
Equations
Figure 2.6 DH coordinates for the two-link manipulator
Table 2.1 DH parameters for the two-link manipulator
Link iθ id ia iα
1 1θ 0 1L 0
2 2θ 0 2L 0
26
The recursive Lagrangian dynamics and sensitivity equations for the two-link
rigid manipulator are given as follows:
Transformation matrices:
1 1 1 1
1 1 1 11
cos sin 0 cossin cos 0 sin
0 0 1 00 0 0 1
T
LL
θ θ θθ θ θ
−⎛ ⎞⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎝ ⎠
;
2 2 2 2
2 2 2 22
cos sin 0 cossin cos 0 sin
0 0 1 00 0 0 1
T
LL
θ θ θθ θ θ
−⎛ ⎞⎜ ⎟⎜ ⎟=⎜ ⎟⎜ ⎟⎝ ⎠
(2.6.15)
Forward recursive kinematics:
1 1A T= ; 2 1 2A A T= (2.6.16)
11 1
1
TB θθ∂
=∂
& ; 22 1 2 1 2
2
TB B T A θθ∂
= +∂
& (2.6.17)
2
21 11 1 12
1 1
T TC θ θθ θ
∂ ∂= +∂ ∂
& && ; 2
22 2 22 1 2 1 2 1 2 1 22
2 2 2
2 T T TC C T B A Aθ θ θθ θ θ∂ ∂ ∂
= + + +∂ ∂ ∂
& & && (2.6.18)
Backward recursive dynamics:
22 2 2 2 2 2 2
2
2 2 2 2
0 00 0 0 00 0 0 0
0 0
( ) ( )
I
( )
I m l L m l L
m l L m
⎛ ⎞+ − −⎜ ⎟⎜ ⎟= ⎜ ⎟⎜ ⎟⎜ ⎟−⎝ ⎠
(2.6.19)
21 1 1 1 1 1 1
1
1 1 1 1
0 00 0 0 00 0 0 0
0 0
( ) ( )
I
( )
I m l L m l L
m l L m
⎛ ⎞+ − −⎜ ⎟⎜ ⎟= ⎜ ⎟⎜ ⎟⎜ ⎟−⎝ ⎠
(2.6.20)
2 2 2D I CT= ; 1 1 1 2 2D I C T DT= + (2.6.21)
( )2 2 2 2 0 0 1E Tm l L= − ; ( )1 1 1 1 2 20 0 1E T ETm l L= − + (2.6.22)
( )2 0 0 0 1F T= ; 1 2 2F T F= (2.6.23)
( )0 0 0 Tg= −g ; ( )0 0 0 Tk f= −f (2.6.24)
27
Torques:
( )( )
1 1 11 1 1 2 1
1 1 1
2 2 21 2 1 1 2 1 2 1 2 2 1
22 2 2 2 1 2 2 2
22 1 2 1 2 2 2 1 2 2 2 2 2 1 2 1 1 1
2 1 1
( 2 cos )
cos
2 sin sin cos( ) coscos
trq q q
I I m l m L l L l
I m l m L l
m L l m L l m gl m glm gL f
τ ∂ ∂ ∂= − −
∂ ∂ ∂
+ + + + + θ θ
+ + + θ θ
− θ θ θ − θ θ + θ + θ + θ+ θ +
T TA A A[ D ] g E f F
=
&&
&&
& & &
2 1 2 1 1cos( ) cosL fLθ + θ + θ
(2.6.25)
( ) ( )
2 2 22 2 2 2 2
2 2 2
2 2 22 2 2 2 2 2 2 2 1 2 2 1 2 1 2 1 2
2 2 1 2 2 1 2
cos sin
cos( ) cos( )
trq q q
I m l I m l m L l m L l
m gl fL
τ ∂ ∂ ∂= − −
∂ ∂ ∂
= + θ + + + θ θ + θ θ
+ θ + θ + θ + θ
T TA A A[ D ] g E f F
&& && & (2.6.26)
Explicit gradients of torques with respect to state variables are derived as follows:
2 2 2T T1 1 1 1 1 1
1 1 11 1 1 1 1 1 1 1 1
2 2 1 2 1 1 1 2 1 1 2 1 2
1 1
sin( ) sin sin sin( )sin
trq q q q q q q q
m gl m gl m gL fLfL
τθ
θ θ θ θ θ θθ
⎛ ⎞∂ ∂ ∂ ∂ ∂ ∂= + − −⎜ ⎟∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂⎝ ⎠− + − − − +−
A A D A AD g E f F
=
(2.6.27)
( ) ( )
T T1 1 1 1 1 1 1
2 1 2 1 2 1 2
2 1 2 2 1 2 1 2 2 2 2 1 2 1 2 2
22 1 2 2 2 2 2 1 2 2 1 2
2 sin sin 2 cos
cos sin( ) sin( )
trq q q q q q
m L l m L l m L l
m L l m gl fL
τθ
θ θ θ θ θ θ θ
θ θ θ θ θ θ
⎛ ⎞∂ ∂ ∂ ∂ ∂ ∂ ∂= − −⎜ ⎟∂ ∂ ∂ ∂ ∂ ∂ ∂⎝ ⎠= − + − −
− − + − +
A D A E A Fg f
&& && & &
&
(2.6.28)
1 1 12 1 2 2 2
1 1 1
2 sinA Dtr m L lq
τ θ θθ θ
⎛ ⎞∂ ∂ ∂= = −⎜ ⎟∂ ∂ ∂⎝ ⎠
&& & (2.6.29)
1 1 12 1 2 1 2 2 1 2 2 2
2 1 2
2 sin 2 sinA Dtr m L l m L lq
τ θ θ θ θθ θ
⎛ ⎞∂ ∂ ∂= = − −⎜ ⎟∂ ∂ ∂⎝ ⎠
& && & (2.6.30)
2 2 21 1 11 2 1 1 2 1 2 1 2 2
1 1 1
( 2 cos )A Dtr I I m l m L l L lq
τ θθ θ
⎛ ⎞∂ ∂ ∂= = + + + + +⎜ ⎟∂ ∂ ∂⎝ ⎠&& && (2.6.31)
21 1 12 2 2 2 1 2 2
2 1 2
cosA Dtr I m l m L lq
τ θθ θ
⎛ ⎞∂ ∂ ∂= = + +⎜ ⎟∂ ∂ ∂⎝ ⎠&& && (2.6.32)
28
2 2 2T T2 2 2 2 2 2
2 2 21 2 1 2 1 2 1 2 1
2 2 1 2 2 1 2sin( ) sin( )
trq q q q q q q q
m gl fL
τθ
θ θ θ θ
⎛ ⎞∂ ∂ ∂ ∂ ∂ ∂= + − −⎜ ⎟∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂⎝ ⎠= − + − +
A A D A AD g E f F
(2.6.33)
( )
2 2 2T T2 2 2 2 2 2
2 2 22 2 2 2 2 2 2 2 2
22 1 2 2 1 2 1 2 1 2 2 2 1 2
2 1 2
sin cos sin( )sin( )
trq q q q q q q q
m L l m L l m glfL
τθ
θ θ θ θ θ θθ θ
⎛ ⎞∂ ∂ ∂ ∂ ∂ ∂= + − −⎜ ⎟∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂⎝ ⎠= − + − +
− +
A A D A AD g E f F
&& & (2.6.34)
2 2 22 1 2 1 2
1 2 1
2 sinA Dtr m L lq
τ θ θθ θ
⎛ ⎞∂ ∂ ∂= =⎜ ⎟∂ ∂ ∂⎝ ⎠
&& & (2.6.35)
2 2 2
2 2 2
0A Dtrq
τθ θ
⎛ ⎞∂ ∂ ∂= =⎜ ⎟∂ ∂ ∂⎝ ⎠& & (2.6.36)
22 2 22 2 2 2 1 2 2
1 2 1
cosA Dtr I m l m L lq
τ θθ θ
⎛ ⎞∂ ∂ ∂= = + +⎜ ⎟∂ ∂ ∂⎝ ⎠&& && (2.6.37)
22 2 22 2 2
2 2 2
A Dtr I m lq
τθ θ
⎛ ⎞∂ ∂ ∂= = +⎜ ⎟∂ ∂ ∂⎝ ⎠&& && (2.6.38)
From the forgoing derivation, we can see that all the equations with the recursive
formulation are exactly the same as those with the closed-form ones. The recursive
formulation is implemented link by link. Thus, it is more efficient and easy to implement
it for a large DOF model.
2.7 Equivalent Joint Torque
In this thesis, a skeletal model is used to simulate the digital human, instead of a
musculoskeletal model. The idea is that a group of muscle forces at a joint can be
represented by a resultant torque applied to that joint. Therefore, the human motion
driven by muscle forces can be equivalently represented by applying joint torques to the
skeletal model to generate corresponding motion. Since the musculoskeletal model is a
non-conservative mechanical system, the virtual work principle is used to derive the
equivalent joint torque as follows.
29
Consider a simple two-link arm model with only one muscle group represented by
a nonlinear spring as shown in Figure 2.7. The shoulder (point O) is fixed and the upper
arm is driven by torque 1τ and the lower arm torque 2τ . The muscle attaches to the arm at
points A and B. The distances from attaching points to the elbow joint are 1l and 2l . The
relative length of the spring is l ; and ( 1θ , 2θ ) are global generalized coordinates (joint
angles).
Figure 2.7 Equivalent external driving torque at the joint
The principle of virtual work gives:
1 1 2 2 F lτ δθ τ δθ δ+ = (2.7.1)
where the relative length 2 21 2 1 2 22 cos( )l l l l l π θ= + − − .
1 2 222 2
1 2 1 2 2
sin2 cos
l lll l l l
θδ δθθ
−=
+ + (2.7.2)
Thus:
30
1 2 22 2 2
1 2 1 2 2
sin2 cos
l l Fl l l l
θτθ
−=
+ + (2.7.3)
Finally, we can draw a conclusion that the muscle force can be equivalently
replaced by the torque at the joint of a skeletal model. It is noted that the coefficient of F
in Equation (2.7.3) is the moment arm for F as shown in Figure 2.7.
31
CHAPTER 3
NUMERICAL DISCRETIZATION METHOD
Numerical discretization is extensively used for the engineering analysis.
Lagrange and Hermite interpolations are two basic polynomial interpolations, which are
used often in computational mechanics due to their simplicity and robustness. Lagrange
interpolation passes through the node points and Hermite interpolation includes the
effects of the derivatives at node points. However polynomial interpolations may not
work well with trajectory planning problem due to their global interpolation strategy, i.e.,
all the nodes in the domain will affect the interpolation values. In contrast, piecewise
polynomial B-spline provides more flexibility. For example, the degree of a B-spline
curve is separated from the number of control points. More precisely, we can use lower
degree curves and still maintain a large number of control points. We can change the
position of a control point without globally changing the shape of the entire curve.
3.1 Definition of B-spline
The equation for kth order (degree k-1) B-spline with n+1 control points ( 0P , 1P ,
... , nP ) is
, 1 10
( ) ( ) [ , ]n
i k i k ni
q t B t P t t t− +=
= ∈∑ (3.1.1)
where each control point iP is associated with a piecewise polynomial basis function
,i kB .
In general, there are two ways to define B-spline basis function. One is based on
divided difference that is important in theoretical analysis; and the other uses a recursive
formulation that is more efficient for numerical implementation.
32
3.1.1 Divided Difference
On a real axis, there is a non-decreasing knot sequence (break points)
0 1 1i i it t t t t− +⋅⋅⋅ < < ⋅⋅⋅ < < < ⋅⋅⋅ < < ⋅⋅⋅ (3.1.2)
A truncation power function is formed as
1
1 ( )( )
0
kk t x t x
t xt x
−−
+
⎧ − ≥− = ⎨
<⎩
(3.1.3)
where x is a parameter which corresponding to a knot it ; k is the order of the power
function.
Divided difference for the function 1( )kt x −+− at knot sequence 1,[ , ... ]i i i kt t t+ + is
denoted as 11,[ , ... ]( )k
i i i kt t t t x −+ + +− and its definition is given as follows:
11,[ , ... ]( )k
i i i kt t t t x −+ + +− =
1( )
( )
ki kj
i kj i
j mm im j
t t
t t
−++
+=
=≠
−
−∑∏
(3.1.4)
Thus, the B-spline basis function is obtained as:
1, 1,( ) ( )[ , ... ]( )k
i k i k i i i i kB t t t t t t t x −+ + + += − − (3.1.5)
The basis function spans k segments and starts from the knot it to the knot i kt + .
The order of the function is k and the degree is k-1.
3.1.2 Recurrence Definition
B-spline basis can also be defined in a recursive way that is more convenient for
numerical implementation. Define a constant B-spline basis in the ith interval 1[ , ]i it t + ,
with order 1 and degree 0 as
1,1
1( )
0i i
i
t t tB t
otherwise+≤ ≤⎧
= ⎨⎩
(3.1.6)
In the interval [ , ]i i kt t + , the kth order B-spline basis has a recursive formulation,
33
, , 1 1, 11 1
( ) ( )( ) ( ) ( )( ) ( )
i i ki k i k i k
i k i i k i
t t t tB t B t B tt t t t
+− + −
+ − + +
− −= +
− − (3.1.7)
3.2 Construction of B-spline
The recursive relationship of Equations (3.1.6) and (3.1.7) can be implemented as
follows:
At knot it , the kth order basis function , ( )i kB t is composed of two (k-1)th order
basis functions , 1( )i kB t− and 1, 1( )i kB t+ − starting from the knots it and 1it + respectively. This
process is illustrated in Figure 3.1.
ti
1st
2nd
3rd
basis value
knot
1
1
1
1
ti+1 ti+2
ti ti+1 ti+2 ti+3
ti ti+1 ti+2 ti+3 ti+4
ti ti+1 ti+2 ti+3 ti+4
4th
Figure 3.1 Construction of cubic B-spline basis
The following conclusions are obtained from forgoing analysis:
34
1. The kth order basis function covers k intervals.
2. At the knot it , the kth order basis is composed of two (k-1)th order basis
functions at knots it and 1it + respectively.
3. After constructing the basis at knot it , the same order basis at knot 1it + .can be
obtained by translating the basis at knot it to the knot 1it + as show in Figure 3.2.
knot
basisBi-3,4
ti ti+1 ti+2 ti+3 ti+4 ti-3 ti-2 ti-1
Bi,4Bi-1,4Bi-2,4
Figure 3.2 Basis functions of cubic B-splines
At a knot interval, the maximum number of nonzero basis functions is k. To find a
point on a B-spline curve at a fixed time point t first find the knot interval in which t
lies, then compute the nonzero basis functions using Equation (3.1.7), and finally apply
Equation (3.1.1).
3.3 Main Properties of B-spline
B-spline has many advantages compared to other discretization methods. The
following properties make B-spline more suitable for trajectory interpolation.
1. Local control
A local curve segment can be uniquely determined by the knot vector and k local
control points. Changing a local control point only affects k segments. This is called local
controllability as shown in Figure 3.3. The knot set is {0,1,2,...9,10}=t and the first set
of control points is {2,0,4, 2,1, 2,0}= − −1P (black) and the second set of control points is
35
{2,0,4, 2,3, 2,0}= − −2P (red). The only difference between the two control sets is the
fifth control point that locally affects B-spline curve.
0 1 2 3 4 5 6 7 8 9 10-3
-2
-1
0
1
2
3
4
5
t
P
Figure 3.3 Local control of the B-spline curves
2. Convex hull property
B-spline basis functions are nonnegative and have a local partition of unity as
depicted in Figure 3.4.
, , 1, 10
( ) 0 ( ) 1 [ ]n
i k i k k ni
B t and B t t t t− +=
≥ = ∈∑ (3.3.1)
where total control points is n+1. It can be seen that three quadratic bases cover the
interval 1[ , ]i it t + for a quadratic B-spline curve. The summation of the bases at a time
point lies in that interval is always one.
36
0
1
ti-2 ti ti+1
Bi-2,3 Bi,3
Figure 3.4 Local partition of unity of B-spline curves
3. Affine invariance
The shape of the basis function is uniquely determined by the knot sequence.
Translation, rotation and scaling the set of control points do not change the shape of the
basis function.
4. Multiplicity and smoothness
B-spline can deal with repeated knots by relating knots multiplicity to the
continuity of the curve at the corresponding knot point as shown in Equation (3.1.1). At a
knot point, if the multiplicity is M, the basis function is p MC − continuous at this knot
where p is the degree of the piecewise polynomial.
knot multiplicity + order of continuity = degree of polynomial (3.3.2)
As examples, continuity and knots multiplicity relationships are summarized in
Table 3.1 for cubic polynomial basis function.
37
Table 3.1 Continuity and knot multiplicity for cubic curves
Knot multiplicity Continuity conditions Order of continuity
1 Position, velocity, acceleration 2C
2 Position, velocity 1C
3 Position 0C
4 None None
3.4 B-spline Derivatives
Two types of B-spline derivatives are investigated in this section. One type of
derivative is with respect to time t so that joint velocity and acceleration can be obtained.
The other type of derivative is with respect to the control points P that are usually treated
as design variables for motion planning optimization problems.
The kth order B-splines are differentiable k-1 times; the kth derivative and higher
derivatives are all zero. The mth derivative of the curve with respect to t is given in
Equation (3.4.1):
( ) ( ),
0( ) ( )
nm m
i k ii
q t B t P=
=∑ (3.4.1)
The derivatives of the basis functions are given by Equations (3.4.2) and (3.4.3):
( ), , , 1
0
( 1)!( ) ( )( 1 )!
mm
i k m j i j k mj
kB t a B tk m + − −
=
−=
− − ∑ (3.4.2)
0,0
1,0,0
1, 1, 1,
1, 1,
1
mm
i k m i
m j m jm j
i k m j i j
m mm m
i k i m
aa
at ta a
at t
aa
t t
−
+ −
− − −
+ − + +
− −
+ +
=
=−−
=−
−=
−
(3.4.3)
The joint angle derivative with respect to control points are given as follows:
38
,( ) ( )i k
i
q t B tP
∂=
∂ (3.4.4)
Joint velocity and acceleration are the first and second derivatives of the B-splines with
respect to time. Thus, the derivatives of the state variables ( )q t& and ( )q t&& with respect to
control points are partial derivative of the B-spline curves as calculated in Equation
(3.4.5) and (3.4.6).
2
(1),
( ) ( )i ki
q t B tt P
∂=
∂ ∂ (3.4.5)
3
(2),2
( ) ( )i ki
q t B tt P∂
=∂ ∂
(3.4.6)
3.5 Examples of Cubic B-spline
The cubic B spline curve is used to ensure that acceleration is continuous and the
computation is efficient. The knot vector ranges from 0 to the total time required for the
motion. The multiplicity of knots at the start and end enforces endpoints interpolation.
This is desired because the initial and final positions are uniquely defined by the first and
final control points. The B-spline curve in the interval 1[ , ]i it t + is composed of four cubic
bases covering that interval as seen in Figure 3.2. Using the recursive relations, the
explicit forms for the four basis functions on the interval are as follows:
3
13,4
1 1 1 1 2
( )( )( )( )
ii
i i i i i i
t tBt t t t t t
+−
+ + − + −
−=
− − −
2 2
2 1 1 1 2 22,4
1 2 1 1 2 1 1 1 2 1 1 2 1 2
( )( ) ( )( )( ) ( )( )( )( )( ) ( )( )( ) ( )( )( )
i i i i i i ii
i i i i i i i i i i i i i i i i i i
t t t t t t t t t t t t t tBt t t t t t t t t t t t t t t t t t
− + − + + +−
+ − + − + + − + + − + + − +
− − − − − − −= + +
− − − − − − − − −
2 2
1 1 1 2 31,4
1 1 1 2 1 1 2 1 2 1 2 3
( ) ( ) ( )( )( ) ( ) ( )( )( )( ) ( )( )( ) ( )( )( )
i i i i i i ii
i i i i i i i i i i i i i i i i i i
t t t t t t t t t t t t t tBt t t t t t t t t t t t t t t t t t
− + − + +−
+ − + + − + + − + + + +
− − − − − − −= + +
− − − − − − − − −
3
,41 2 3
( )( )( )( )
ii
i i i i i i
t tBt t t t t t+ + +
−=
− − − (3.5.1)
39
The curve for this interval is the summation of basis functions multiplied by the
corresponding control points P as follows:
3 3,4 2 2,4 1 1,4 ,4 1( ) ( ) ( ) ( ) ( ) [ , ]i i i i i i i i i iq t P B t P B t P B t PB t t t t− − − − − − += + + + ∈ (3.5.2)
(1) (1) (1) (1)3 3,4 2 2,4 1 1,4 ,4 1( ) ( ) ( ) ( ) ( ) [ , ]i i i i i i i i i iq t P B t P B t P B t PB t t t t− − − − − − += + + + ∈ & (3.5.3)
(2) (2) (2) (2)3 3,4 2 2,4 1 1,4 ,4 1( ) ( ) ( ) ( ) ( ) [ , ]i i i i i i i i i iq t P B t P B t P B t PB t t t t− − − − − − += + + + ∈ && (3.5.4)
More control points can be used for the B-spline interpolation of the entire path,
however, the number of control points (n) and knots (m) should satisfy the following
consistency condition:
1m n p= + + (3.5.5)
where p is the degree of the B-spline curve.
40
CHAPTER 4
PREDICTIVE DYNAMICS
The dynamic analysis problems can be classified in two ways: forward dynamics
and inverse dynamics. Forward dynamics starts with the known applied force and solves
for the unknown response by integrating differential equations of motion; Inverse
dynamics starts with the known response and solve for the unknown force by directly
evaluating equations of motion. However, for many dynamic systems especially bio-
system, both forces and the response are unknown. This is quite common in the study of
human motion. Besides boundary conditions and some system response, joint angle
rotations and torque profiles as well as ground reaction forces are all unknowns. In such
cases, the concept of predictive dynamics is used to solve this type of problem. The basic
idea is to use optimization methods to reveal force and response histories based on the
available information of the dynamic system.
4.1 Predictive Dynamics
The studied bio-system is represented as S and the corresponding mathematical
model is M. The general equations of motion for the model M can be written as:
( , , , )q q q τ=& &&f t (4.1.1)
where , , qq q q R∈& && n are the state variables, ττ Rn∈ are the forces. This dynamics
problem is defined over the time domain 0( , )T TΩ = with boundary 0{ , }, T T tΓ = ∈Ω ,
t being the time and the symbol ( )⋅
⋅ indicating derivative with respect to t.
Forward dynamics calculates the motion q, q& and q&& from the force τ by
integrating Equation (4.1.1) and enforcing initial conditions. In contrast, inverse
dynamics computes the associated force τ that lead to a prescribed motion q, q& and q&&
for the system. The two procedures are depicted in Figure 4.1. For simplicity, we only
use q to represent kinematics of the system.
41
1( , )q = τ −f tq τ
( , )τ = q f tq τ
Figure 4.1 Flowcharts of (a) forward dynamics and (b) inverse dynamics
In practice, it is difficult to measure the complete displacement (q ) and force ( τ )
histories accurately for a bio-system with many degrees of freedom especially involving a
complex motion. This is because the experimental measurement is either not accurate
enough or too expensive to achieve the required accuracy. However, the boundary
condition and some state response of the system might be available. In this case, both
forward dynamics and inverse dynamics cannot be applied to the bio-system S directly.
As a consequence, predictive dynamics is proposed to solve this type of problem. The
basic idea is to formulate a nonlinear optimization problem based on physics of the
motion (dynamics of the motion). An appropriate performance measure (objective
function) for the bio-system is chosen and minimized subject to the available information
about the system that imposes various constraints. In this case, both displacement and
force are unknown and need to be identified by solving the optimization problem. This is
called the predictive dynamics approach and formulated for the system M as follows:
42
min ( )
. . : ( ) 0( ) 0
q, τ q, τ, t
τ- q, t g q q q
τ τ τ
L U
L U
J
s t
=ϒ ≤
≤ ≤
≤ ≤
f (4.1.2)
where g are the constraints defined based on the available information ϒ of the system
S. q and τ are subject to their lower and upper bounds respectively. From now on, we
will call objective function for the bio-system as the performance measure. The flowchart
of predictive dynamics is shown as follows:
q
τγ
Figure 4.2 Flowchart of predictive dynamics
Two challenging problems arise naturally to predictive dynamics: (1) functional
form of the performance measure is unknown; and (2) the constraints are undetermined.
Before turning to these two important issues, the evaluation criterion for predictive
dynamics is first proposed, i.e. how to validate the predictive dynamics solution of model
M with that of the real system S.
Suppose *q and *τ represent the natural motion of the bio-system S. The validity
of the predictive dynamics solution with the bio-system is measured by evaluating the
percentage error of the residuals of the predicted force and displacement in some suitable
norm, for example, the infinity norm ∞
⋅ .
43
( )( )
* *
* *
q-q τ-τ
q τ
dt
dtε Ω
Ω
+=
+
∫∫
(4.1.3)
where q and τ are optimal solution of predictive dynamics in Equations (4.1.2); Ω is
the time domain.
4.2 Performance Measures
The unknown performance measure needs to be identified first. Two basic
methods are available: one is trial-and-error method; the other is inferring method that
requires more insight into the physical process of the bio-system.
4.2.1 Trial-and-error
Trial-and-error method enumerates the hypothesized performance function J to
solve the predictive dynamics problem in Equations (4.1.2), and then checks the error in
Equation (4.1.3) with the real solution that is obtained from either the exact analytical
solution or the experiment with sufficiently small error. Once the error is in the
acceptable small range, function J is treated as the performance measure for predictive
dynamics. However, this is a trial-and-error process, with no guarantee of success.
In practice, the performance set includes many different kinematics and dynamics
criteria such as time minimization, torque optimization, energy minimization, jerk
minimization, and so on. However, a performance measure that is well studied in
biomechanics literature is often used to narrow down the trial-and-error process, for
example, minimizing the squares of all actuating torques or minimizing the maximum
torque of all joints.
4.2.2 Inner Optimization
An alternative way to detect the performance measure is to use inner optimization
(nested optimization) method. The basic idea is to construct a local search space of cost
44
functions JS with a specific functional form based on some insight into the physical
processes governing the bio-system.
( , ) ( )*q τ, t p q, τ, tJS J≈ (4.2.1)
where *p is the parameter vector that needs to be determined.
For instance, the performance measure of a bio-system has been identified as a
quadratic function of all joint torques with coefficients p as in Equation (4.2.2).
2
10
( )q, τ, t pT n
J i ii
S p dtτ
τ=
= ∑∫ (4.2.2)
where
1
1 0 n
i ii
p and pτ
=
= ≥∑ (4.2.3)
The parameters p are determined by solving the inner optimization problem as
defined in Equations (4.2.4) so that the exact performance measure can be identified.
min
. . : ( ) 0min ( )
. . : ( ) 0( ) 0
p
q, τ
h p q, τ, t p
τ- q, t g q q q τ τ τ
J
L U
L U
s tS
s t
ε
≤
=ϒ ≤
≤ ≤
≤ ≤
f (4.2.4)
where ( ) 0h p ≤ are the possible equality or inequality constraints on the parameters p
satisfying normalization and non-negativity conditions. The process of identifying the
unknown performance measure is transformed to find the parameters p that will
minimize the error in Equation (4.1.3).
45
4.3 Constraints
Constraints are formulated based on the available information ϒ about the bio-
system. In general, two type of constraints are included: one is boundary conditions and
the other is some available state response q( jt ), jt ∈Ω , obtained from either experiments
or observation. In addition, boundary condition is composed of time boundary qjt , jt ∈Γ ,
and geometrical boundary X( qjt ), jt ∈Ω∪Γ , where X is the global Cartesian
coordinates that capture the geometrical environment for the bio-system. For example,
given initial and final postures, walking task is performed to predict the walking motion
between the two postures. The initial and final postures are time boundaries, and ground
is formulated as a geometrical boundary. The overall set of constraints is depicted as in
Figure 4.3.
Figure 4.3 Set of constraints for a bio-system
4.3.1 Feasible Set
Feasible set of points for the problem is an important issue for predictive
dynamics. Infeasible set will result in a null solution space for the system. This situation
should be always avoided while formulating a predictive dynamics problem. For a bio-
system, feasibility of the constraint set can be tested by solving the predictive dynamics
with a constant objective function as follows:
46
min ( )
. . : ( ) 0( ) 0
q, τ q, τ, t
τ- q, t g q q q
τ τ τ
L U
L U
J c
s t
≡
=ϒ ≤
≤ ≤
≤ ≤
f (4.3.1)
where c is a constant.
The solution of Equations (4.3.1) implies that the output point , )(q τf f satisfies
all linear and nonlinear constraints, but does not optimize any performance measure for
the bio-system. This is called a feasible solution of the predictive dynamics problem.
There are two purposes to obtain a feasible solution for the system: one is to test the
feasibility of the constraint set and the other is to get a solution that might be used as a
good starting point for the predictive dynamics problem with a physical performance
measure.
4.3.2 Minimal Set of Constraint
It is obvious that the more information about the bio-system is available, the more
accurate is the predictive dynamics solution. As an extreme case, all the displacement and
force histories can be available in the time domain Ω∪Γ . However, in most cases, only
few information about the bio-system are available so that predictive dynamics seeks for
minimal set of constraints ( )g minimalϒ and an appropriate performance measure to
simulate the applied force and response histories for the bio-system as follows:
min ( )
. . : ( ) 0( ) 0
q, τ q, τ, t
τ- q, t g
q q q τ τ τ
minimalL U
L U
J
s t
=ϒ ≤
≤ ≤
≤ ≤
f (4.3.2)
Minimal set of constraints depends on the complexity of the bio-system and the
motion to be simulated. For a simple motion, only boundary conditions might be enough
to reveal the entire motion so that the minimal set of constraints only includes boundary
47
conditions. In contrast, for a complex motion, some state responses between the
boundaries need to be known to simulate the real motion. Therefore, these state responses
have to be included in the set of minimal constraints.
4.4 Discretization and Scaling
The predictive dynamics in Equations (4.1.2) is actually an optimal control
problem with boundary conditions and some state constraints. The classical method to
solve the optimal control problem is to derive the optimal control equations, i.e., the
optimality condition for the continuous variable problem. However, besides boundary
conditions, continuous method has difficulty to deal with discrete state constraints. In
addition, it brings more difficulty that both state and control (force) variables are
functions of time.
The most efficient way to solve a complex optimal control problem is to use
nonlinear optimization techniques. The basic idea is to discretize the governing equations
of motion using a suitable numerical method, and define finite dimensional
approximation for the state and control variables. This process transforms the system
differential equations into algebraic equations with parametric representation of the state
and control variables. The performance measures and the constraints are also evaluated in
terms of discrete state and control values. Therefore, the original optimal control problem
is transformed into a nonlinear programming (NLP) problem. The cubic B-spline
discretization is used in this chapter.
The time domain is first discretized into n intervals with step size ih as follows:
0 1 1 10 in n i it t t t T and h t t− += ≤ ≤ ⋅⋅⋅ ≤ = = − (4.4.1)
Once a numerical discretization method is chosen, the discretized state qh and
force τh can be expressed in terms of interpolating functions (shape function) and
discrete nodal degrees of freedoms (control points) Pq and Pτ .
48
( ); ( )q q P τ τ Ph h q h h τ= = (4.4.2)
Thus, the discretized predictive dynamics can be formulated as:
min ( )
. . : ( ) 0( ) 0
q, τ q , τ , t
τ - q , t g
q q q
τ τ τ
h h h
h h h
hL U
hL U
h
J
s t
=ϒ ≤
≤ ≤
≤ ≤
f (4.4.3)
In general, all the unknowns and the equations of motion are preferred to be
scaled to maximize the numerical performance of the nonlinear optimization solver.
Appropriate scaling coefficients s are chosen so as to obtain quantities that are all
approximately of order (1)O .
min ( )
. . : ( ) 0( ) 0
q, τ q , τ , t
τ - q , t g
q q q
τ τ τ
q th h h
q th h h
hq L q q U
hL U
h
J s s s
s t s s s
s s s
s s s
τ
τ
τ τ τ
=ϒ ≤
≤ ≤
≤ ≤
f (4.4.4)
4.5 Predictive Dynamics Environment
Based on foregoing analyses, we set up a general predictive dynamics
environment in this section so that various tasks can be easily formulated and solved.
General purpose modules are developed and integrated in this environment as depicted in
Figure 4.4. These modules include B-spline, DH, DH-point, EOM, SNOPT, Performance
Set, and Constraint Set.
49
Post-processor
Optimized
Pre-processor
SNOPT Initilization
SNOPT Objectives
& Gradients
Constraints & Gradients
B-spline
DH
DH-Point
EOM
Constraint
Performance
Constraint_1
Constraint_2
…… Constraint k
Performance_1
…… Performance-k
Figure 4.4 Modular predictive dynamics environment
The predictive dynamics is implemented as a nonlinear programming problem
and all the codes are organized based on the optimization solver SNOPT. SNOPT is a
general-purpose system for solving large-scale nonlinear programming problems
involving many variables and constraints. It minimizes a linear or nonlinear function
subject to bounds on the variables and sparse linear or nonlinear constraints.
B-spline module is basically a numerical interpolation tool to convert the
continuous curve q into a discretized curve qh that only depends on the control points
and knots (time grid points). This module is coded based on the material discussed in
Chapter 3 and transforms the continuous predictive dynamics into the discretized
predictive dynamics.
DH module is a module that calculates kinematics of the bio-system based on
Devanit-Hartenberg method introduced in Chapter 2. This module transforms the joint
50
space into Cartesian space to obtain the global position, velocity, and acceleration of any
point of interest defined in the bio-system.
EOM module is a kinetic module that outputs the kinetic data for the dynamic
system by using recursive Lagrangian equations of motion formulated in Chapter 2. The
inertia, Coriolis, gravity, and external force are all included in this module. The
calculation is carried out in a recursive way to improve the efficiency.
Constraint-set builds a constraint library for various tasks. The kinematics and
dynamics data calculated from previous modules are used to enforce the general purpose
constraints such as joint limits, torque limits, boundary conditions and so on. Time-
specific constraints are considered at the specific time points discretized using the B-
spline module.
The Performance-set module is similar to the Constraint-set module that builds
the performance measures library based on many well studied cost functions for the bio-
system in the literature. It is also important to note that all the sensitivities calculations
are included in each module to facilitate the optimization process.
User parameters are defined in pre-processor which includes three parts: skeleton
model, task formulation and time discretization as follows.
Pre-processor
Skeleton Model
Task Formulation
Time Discretization
Figure 4.5 Pre-processor: user input module
51
Next, SNOPT gets initialized and calculates search direction using cost and
constraint function values and their gradients at the current design. After that, SNOPT
performs line search based on the cost and constraint function values along the search
direction to update current design to a new design. This process is repeated until a local
optimum is obtained.
4.6 Numerical Example: Single Pendulum
The natural swinging motion of a single pendulum subject to external torque is
considered in this study. The swinging motion is first treated as a forward dynamics
problem with the known external force and solved by the multi-body dynamics solver
ADAMS. The solution is assumed to be true response of the system used to evaluate the
results obtained with the predictive dynamics formulation. After that, besides the
boundary conditions and some state response, all the force and displacements are
assumed to be unknown. Predictive dynamics is implemented based on the available
information of the system. Four cases are examined with predictive dynamics as listed in
Table 4.1.
Table 4.1 Four cases of swing motion examined by predictive dynamics
Motion Case Available information
Simple swing without oscillation 1 Boundary conditions
Complex swing with oscillation 2 Boundary conditions
3 Boundary conditions and response at one point
4 Boundary conditions and response at two points
The single pendulum pivots at the point O as shown in Figure 4.6. Equation of
motion for such a rigid bar subject to external torque is given as
52
cos2lIq mg q τ+ =&& (4.6.1)
Figure 4.6 Single pendulum
where I is the inertia of moment, m is the mass, l is the length, q is the joint angle, and
τ is the external torque.
If the rigid bar is subject to a sinusoidal torque at hinge O, the applied external
force is expressed as
0.1sin 5tτ = (4.6.2)
The geometrical and physical parameters of the rigid bar are taken as 20.0267 kgmI = , 0.5 kgm = , and 0.4 ml = . With the initial condition (0) 0q = and
(0) 0q =& , the forward dynamics is solved by ADAMS Runge-Kutta solver as shown in
Figure 4.7 which is considered as the true solution of the system.
53
Figure 4.7 Forward dynamics solved by ADAMS
4.6.1 Simple Swing Motion with Boundary Conditions
The swinging motion without oscillation is studied with the initial and final
conditions. The total time is randomly selected as 0.43 sT = (less than first half period),
and the single pendulum starts at rest in the horizontal position and ends up with the final
conditions that are obtained from Figure 4.7 as ( ) 2.40 radq T = − and ( ) 5.86 rad/sq T = −& .
The swinging motion is driven by the external torque and gravity. Besides boundary
condition and total travel time T, neither external torque nor joint angle is known.
Therefore, the predictive dynamics problem is formulated as in Equation (4.6.3) to reveal
the natural swing motion of the single pendulum.
( )Minimize , ,
Subject to cos2
(0) 0, (0) 0( ) 2.40, ( ) 5.86, 0.43
10
- -
J q tl Iq mg q
q qq T q T T
q
τ
τ
π πτ
+ =
= == − = − =
≤ ≤≤ ≤
&&
&
&
10
(4.6.3)
Treating q and τ as design variables, four performance measures are tested as follows.
54
( )10
, , T
t
J q t dtτ τ τ=
= ⋅∫ (4.6.4)
( )2 [0, ], , max
t TJ q tτ τ
∈= (4.6.5)
( )3 , , J q t Tτ = (4.6.6)
( )4 , , J q t cτ = (4.6.7)
The first performance measure is to minimize the integral of squares of the joint torque
for the entire time domain which is a form of mechanical energy; The second one is to
minimize the maximum torque over the entire time domain; The third one is to minimize
the total travel time T subjected to the same boundary condition; The final one is to solve
for only a feasible solution where c is a constant.
The optimization problem is discretized into a nonlinear programming problem,
and then solved by SNOPT with various performance measures as defined in Equations
(4.6.4)-(4.6.7). The optimal solution yields the joint angle, velocity, and external torque
history as depicted in Figure 4.8, 4.9, and 4.10 respectively.
0.0 0.1 0.2 0.3 0.4
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
Join
t ang
le (r
ad)
Time (s)
Torque square Constant Min-max Minmum time Forward dynamics
Figure 4.8 Joint angle prediction of the single pendulum, case 1
55
0.0 0.1 0.2 0.3 0.4
-30
-25
-20
-15
-10
-5
0
Torque square Constant Min-max Minmum time Forward dynamics
Join
t vel
ocity
(rad
/s)
Time (s)
Figure 4.9 Joint velocity prediction of single pendulum, case 1
0.0 0.1 0.2 0.3 0.4 0.5
-0.10
-0.08
-0.06
-0.04
-0.02
0.00
0.02
0.04
0.06
0.08
0.10
0.12
Join
t tor
que
(Nm
)
Time (s)
Torque square Min-max Forward dynamics
Figure 4.10 Joint torque prediction of single pendulum, case 1
56
It is seen in Figures 4.8 and 4.9 that the performance measures torque-square and
min-max torque successfully predict joint angle and velocity response. However, only
torque-square predicts joint torque correctly. Minimizing the total time or a constant fails
to predict the response of the dynamic system. This is explained by the fact that the
natural motion always obeys an energy saving rule so that an energy related performance
measure is more appropriate to predict the dynamic motion.
4.6.2 Complex Swing Motion with Boundary Conditions
Oscillated swinging pendulum makes the motion more complex. The predictive
dynamics approach is examined in this case by extending the final time to 1.79 sT =
(more than one and half period). The optimization formulation is similar to Equation
(4.6.3) except the final conditions.
( )Minimize
Subject to cos2
(0) 0, (0) 0( ) 2.40, ( ) 2.85, 1.79
10
, ,
- -
J q tl Iq mg q
q qq T q T T
q
τ
τ
π πτ
+ =
= == − = − =
≤ ≤≤ ≤
&&
&
&
10
(4.6.8)
Note from previous section, performance measures of minimizing total time or a
constant is not appropriate for predicting the natural swinging motion of the single
pendulum. Thus, only torque squares and min-max formulations are tested as
performance measures in this case. The optimized joint angle, velocity, and applied
torque are given in Figures 4.11, 4.12, and 4.13.
57
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
Join
t ang
le (r
ad)
Time (s)
Torque square Min-max Forward dynamics
Figure 4.11 Joint angle prediction of single pendulum, case 2
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0-10
-8
-6
-4
-2
0
2
4
6
8
Torque square Min-max Forward dynamics
Join
t vel
ocity
(rad
/s)
Time (s)
Figure 4.12 Joint velocity prediction of single pendulum, case 2
58
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
-0.4
-0.2
0.0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
Torque square Min-max Forward dynamics
Join
t tor
que
(Nm
)
Time (s)
Figure 4.13 Joint torque prediction of single pendulum, case 2
For the complex oscillating motion, the predictive dynamics fails to predict joint
angle, velocity, and torque histories with only the boundary conditions. Although energy
related performance measure is chosen, predictive dynamics cannot predict the true
response due to lack of necessary information (constraints) on the dynamic system
between the boundaries.
4.6.3 Complex Swing Motion with Boundary Conditions
and One State-response-constraint
Adding one state constraint (0.76) 2.44 radq = − (obtained from Figure 4.7) to the
optimization formulation in previous section, predictive dynamics is formulated as
59
( )Minimize , ,
Subject to cos2
(0) 0, (0) 0(0.76) 2.44( ) 2.40, ( ) 2.85, 1.79
J q tl Iq mg q
q qqq T q T T
τ
τ+ =
= == −
= − = − =
&&
&
&
10 10 -
-qπ πτ
≤ ≤≤ ≤
(4.6.9)
Solving the above optimization problem with various performance measures, the
corresponding joint angle, velocity, and torque are obtained as shown in Figures 4.14-
4.16.
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
Join
t ang
le (r
ad)
Time (s)
Torque square Min-max Forward dynamics
Figure 4.14 Joint angle prediction of single pendulum, case 3
60
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0-10
-8
-6
-4
-2
0
2
4
6
8
Torque square Min-max Forward dynamics
Join
t vel
ocity
(rad
/s)
Time (s)
Figure 4.15 Joint velocity prediction of single pendulum, case 3
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
Torque square Min-max Forward dynamics
Join
t tor
que
(Nm
)
Time (s)
Figure 4.16 Joint torque prediction of single pendulum, case 3
In Figures 4.14-4.16, min-max performance closely predicts joint angle and
velocity histories of the system. However, it has a bang-bang type prediction of joint
61
torque. Torque-square performance only predicts the trends of joint angle and velocity
and fails to predict joint torques.
4.6.4 Complex Swing Motion with Boundary Conditions
and Two State-response-constraints
Besides boundary conditions, two more state response, q(0.76) = -2.44 rad and
(1.21) 0.493 rad q = − , are imposed as the state-response-constraints for the optimization
problem. The new predictive dynamics is formulated as:
( )Minimize , ,
Subject to cos2
(0) 0, (0) 0(0.76) 2.44(1.21) 0.493( ) 2.40, (
J q tl Iq mg q
q qqqq T q T
τ
τ+ =
= == −= −
= −
&&
&
& ) 2.85, 1.79
10 10
- -
Tqπ πτ
= − =≤ ≤≤ ≤
(4.6.10)
Predicted joint angle, velocity, and torque are given in Figures 4.17, 4.18, and 4.19.
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
Join
t ang
le (r
ad)
Time (s)
Torque square Min-max Forward dynamics
Figure 4.17 Joint angle prediction of single pendulum, case 4
62
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0-10
-8
-6
-4
-2
0
2
4
6
8
Torque square Min-max Forward dynamics
Join
t vel
ocity
(rad
/s)
Time (s)
Figure 4.18 Joint velocity prediction of single pendulum, case 4
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0-0.5
-0.4
-0.3
-0.2
-0.1
0.0
0.1
0.2
0.3
0.4
0.5
Torque square Min-max Forward dynamics
Join
t tor
que
(Nm
)
Time (s)
Figure 4.19 Joint torque prediction of single pendulum, case 4
With two more state-response-constraints, the predictive dynamics closely reveals
the joint angle, velocity, and torque history. It is important to note that min-max
63
performance measure still has a bang-bang type of joint torque. Both joint angle and
velocity are identified by torque-square and min-max performance measures.
4.7 Summary
The concept of predictive dynamics is proposed and examined by solving a single
pendulum problem subjected to a sinusoidal external torque. Predictive dynamics is
formulated as an optimization problem by taking appropriate performance measures and
constraints to recover the real motion of a dynamic system. It is seen from various results
presented in this chapter that, in general, energy related performance measures are good
options for predictive dynamics. This study also shows that appropriate constraints on the
state response are the key factors to identify a complex motion. Compared to torque-
square formulation, min-max performance needs fewer constraints on state response to
recover joint angle and velocity. However, it has a bang-bang character to predict the
joint torques. These insights of predictive dynamics will have great effect on formulation
of problems to predict human motion.
64
CHAPTER 5
SPATIAL DIGITAL HUMAN MODEL
In this chapter, a digital human model that has 55 degrees of freedom is built
based on DH method. 6 degrees of freedom are for global translation and rotation and 49
degrees of freedom represent the kinematics of the body. Each degree of freedom
represents a segment relative to another segment, where various segments of the body are
assumed to be connected by revolute or prismatic joints. The resultant action of all the
muscles at a joint is lumped and represented by the torque at each degree of freedom. In
addition, the well-established robotics formulation of the DH method is used for
kinematics analysis of the mechanical system. The recursive Lagrangian formulation is
used to develop the equations of motion and the gradients are evaluated in closed form.
An efficient approach is developed to evaluate the general dynamic stability criterion, the
zero moment point (ZMP), for the bipedal walking problem. In this method, ZMP is
derived from equations of motion and all dynamic effects of the mechanical system are
considered in an efficient way. Furthermore, the ground reaction forces are obtained from
a two-step active-passive algorithm with analytical gradients.
5.1 Spatial Human Skeletal Model
5.1.1 55-DOF Whole Body Model
A three dimensional digital human skeletal model with 55 DOFs is considered in
this work as shown in Figure 5.1. The model consists of six physical branches and one
virtual branch. The physical branches include the right leg, the left leg, the spine, the
right arm, the left arm and the head. In these branches, the right leg, the left leg and the
spine start from pelvis ( 4z , 5z , 6z ), while the right arm, left arm and head start from the
spine end joint ( 30z , 31z , 32z ).
65
L1L2
L3
L4
z7
z8
z10
z11z12
z14z15
z16
z17
z18z19
z13
L5L6
z20
z23z22
z21z6
z5
z4
z44
z46
z45
z26z25
z24
z27
z32z31
z30
z34z33z35
z37
z36
z39z38
z48
z47
z40z41
z49
z50
z43
z42
z52z51z53
z54
z28
z29
z9
z55
L7
L8
L9
L10
L11
L12L14
L15
L16
L17
L18
x
y
zo
z3
z1
z2
L13
Figure 5.1 The 55-DOF digital human model (with global DOFs z1, z2, z3, z4, z5, z6)
The spine model includes four joints, each joint has three rotational DOFs ( [ 21z ,
22z , 23z ], [ 24z , 25z , 26z ], [ 27z , 28z , 29z ], [ 30z , 31z , 32z ] ). The legs and arms are
assumed to be symmetric along the saggital plane. Each leg consists of a thigh, a shank, a
rear foot, and a forefoot. There are seven DOFs for each leg: three at the hip joint ( 7z , 8z ,
9z ), one at the knee joint ( 10z ), two at the ankle joint ( 11z , 12z ), and finally, one to
characterize the forefoot ( 13z ). At the Clavicle, there are two orthogonal revolute joints
( 33z , 34z ). Each arm consists of an upper arm, a lower arm, and a hand. There are seven
66
DOFs for each arm: three at the shoulder, two at the elbow, and two at the wrist. In
addition, there are five DOFs for the head branch: three at the lower neck and two at the
upper neck. The anthropometric data for the skeletal model representing a 50 percentile
male is shown in Table 5.1.
Table 5.1 Link length and mass properties
Link Length (cm) Mass (kg)
L1 8.51 4.48
L2 38.26 9.54
L3 39.46 3.74
L4 5.0 0.5
L5 9.01 0.7
L6 7.56 0.23
L7 9.0 2.32
L8 5.63 2.32
L9 5.44 2.32
L10 6.0 2.32
L11 17.39 3.0
L12 16.76 5.78
L13 20.0 4.22
L14 17.1 1.03
L15 4.41 2.8
L16 25.86 1.9
L17 24.74 1.34
L18 16.51 0.5
5.1.2 Global DOFs and Virtual Joints
The six global DOFs generate the overall motion for the spatial skeleton model.
The three translations are represented by three prismatic joints and the three rotations by
three revolution joints in the DH method. These joints are named as virtual joints to
67
distinguish them from the physical human joints. The two adjacent virtual joints are
connected by a virtual link which uses zero mass and zero inertia to define the link
properties. Finally the virtual joints and links constitute a virtual branch which contains
six global DOFs as shown in Figure 5.2 (a).
Figure 5.2 (b) illustrates the global movements for the spatial model. First, the
three global translations (q1, q2, q3) move the model from the origin (o-xyz) of the inertial
Cartesian coordinate system to the current pelvic position ( o' ), then the three global
rotations rotates the model to a new posture (q4, q5, q6).
(a) (b)
Figure 5.2 Global degree of freedoms and virtual branch (a) home configuration, (b) motion configuration
The virtual joints defined in the virtual branch not only generate global rigid body
movements but also contain global generalized forces. These forces correspond to the six
global DOFs: three forces ( 1τ , 2τ , 3τ ) and three moments ( 4τ , 5τ , 6τ ). For the system in
equilibrium, these global generalized forces should be zero.
68
5.2 Dynamics Model
Recursive kinematics and Lagrangian equations developed in Chapter 2 are
adopted in this work to carry out the kinematics and dynamic analyses for the 3D human
model instead of the regular Lagrangian equations. The reason for this adoption is due to
the relative high computational cost associated with the regular Lagragian formulation,
especially for sensitivity analysis.
The forward kinematics transfers the motion from the origin towards the end-
effecter along the branch as shown in Figure 5.3. This process only involves state
variables and geometrical parameters. However, backward dynamics propagates forces
from end-effecter to the origin, and the mass and inertia property of the links need to be
considered for dynamic analysis.
Kinematics DynamicsLink (j+1)
zi+2
zi+3
zi+1
Link (j)
zi+6
zi+4
zi+5
Joint (k)
Joint (k+1)
Figure 5.3 Mass and inertia allocation for joint pairs
In Figure 5.3, joint (k) and joint (k+1) are connected by link (j+1) for which mass
and inertia properties are defined in the local coordinate system 3iz + . The links between
coordinates 3iz + and 2iz + , and 2iz + and 1iz + have zero link length, and zero mass and
69
inertia properties, so that the force is correctly transferred back through 3iz + , 2iz + , and
1iz + for the joint (k).
5.3 General Stability Condition
The zero moment point (ZMP) is a well-known bipedal dynamic stability criterion
that has been used quite widely in the area of robotics and biomechanics (Vukobratović
and Borovac, 2004). ZMP is the point on the ground where the resultant tangential
moments of the active forces are equal to zero. Here, we distinguish forces into two
categories: active forces and passive forces. Active forces include inertia, gravity, and
external forces and moments. Passive forces are ground reaction forces (GRF). The
position of ZMP can be calculated from its property: 0zM = and 0xM = (z is the
walking direction, x is the lateral direction, and y is the vertical direction).
( )
1
1
( )
( )
nlink
i i i i i i i iz iy i ix i izi
zmp nlink
i ii
m y g x m x y J f x f y hx
m y g
=
=
− + + − θ + − +=
− +
∑
∑
&&&& &&
&& (5.3.1.a)
( )
1
1
( )
( )
nlink
i i i i i i i ix iy i iz i ixi
zmp nlink
i ii
m y g z m z y J f z f y hz
m y g
=
=
− + + + θ + − −=
− +
∑
∑
&&&& &&
&& (5.3.1.b)
where ix , iy , iz are the global coordinates of the center of mass for the link i; im is the
mass, iJ is the global inertia, iθ&& is the global angular acceleration of link i; if and ih are
the external force and moment applied on link i; 29.8062 m/ sg = − .
To calculate ZMP, the inertia iJ and angular acceleration iθ&& need to be evaluated
in the global coordinates; however, they are originally defined in the local coordinates
associated to link i in the DH method. Some researchers simply ignore these terms in
ZMP formulation. Instead, in this work we develop an alternative method to calculate
ZMP based on global equilibrium condition, or equivalently, the force and moment in the
70
virtual branch obtained from equations of motion. The basic idea is to use resultant of the
active forces and moments to calculate ZMP directly instead of evaluating them link by
link as in Equation (5.3.1).
Given state variables ( jq , jq& , and jq&& ) for each joint, apply active forces to the
mechanical system, excluding GRF. The calculated generalized forces ( 1τ , 2τ , 3τ , 4τ ,
5τ , 6τ ) in virtual branch from equations of motion are in fact the resultant active forces
and moments. These forces are not zero due to exclusion of ground reaction forces, and
they can be equilibrated by GRF. After obtaining resultant of the active forces, we can
use them to calculate ZMP through the following three steps:
(1) Calculate resultant of the active forces and moments at the pelvic joint in the
inertial reference frame;
(2) Transfer these forces and moments to the origin of the inertial reference frame
(o-xyz);
(3) Calculate the ZMP from its definition.
It should be noted that the direction of the resultant active moments ( 5τ , 6τ ) at
the pelvic joint are defined in the local coordinates ( 5z , 6z ) and no longer align with the
global Cartesian coordinates (o-xyz) because of the global rotational movements ( 4q ,
5q ), as shown in Figure 5.4.
71
pxM
pzM
pyM
Figure 5.4 Global DOFs in virtual branch
Step 1: Global forces at pelvic joint
Since ZMP is defined in the global Cartesian coordinates, we need to recover the
resultant active moments T[ ]p p p px y zM M M=M at pelvis in the global Cartesian
coordinates and they can be calculated from the following equilibrium equation:
4 4 4 4
5 5 5 5
6 6 6 6
cos( , ) cos( , ) cos( , )cos( , ) cos( , ) cos( , )cos( , ) cos( , ) cos( , )
0
pzpxpy
z x z y z z Mz x z y z z Mz x z y z z M
τττ
⎡ ⎤⎡ ⎤ ⎡ ⎤⎢ ⎥⎢ ⎥ ⎢ ⎥+ =⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦
(5.3.2)
where 4τ , 5τ , 6τ are resultant moments along the DH local axes associated with their
degrees of freedom; 4cos( , ) 0z x = , 4cos( , ) 0z y = , and 4cos( , ) 1z z = because the
first rotational joint is aligned with the global z axis.
The resultant active forces T[ ]p p p px y zF F F=F at the pelvis are obtained by
considering equilibrium between two sets of forces, as:
72
2
3
1
0
0
0
px
py
pz
F
F
F
τ
τ
τ
+ =
+ =
+ =
(5.3.3)
Step 2: Global forces at origin
After obtaining the global forces at the pelvis in the global Cartesian coordinates
we can transfer the resultant active force from pelvis to the origin O of the inertial
reference frame using the equilibrium conditions. Thus, the resultant active forces ( oM , oF ) at O are obtained as follows:
M M r F
F F
o p o pp
o p
= + ×
= (5.3.4)
where T[ ]o o o ox y zM M M=M and T[ ]o o o o
x y zF F F=F . opr is the pelvis position
vector in the global coordinate system, as depicted in Figure 5.5.
zmpyM
zmpyF
zmpxF
zmpzF
pzF
pxF
pyFp
yM
pzM
pxM
ozF
ozM
oyM
oyF
oxF
oxM
Figure 5.5 Resultant active forces at pelvis, origin and ZMP
73
Step 3: ZMP calculation
Next, the resultant active forces are further transferred from the origin to the ZMP
by using the equilibrium conditions. The resultant active forces at ZMP ( zmpM , zmpF ) are
then obtained as follows:
F F
zmp o ox x zmp xzmp o oy y zmp yzmp o oz z zmp z
zmp o
M M x FM M y FM M z F
⎛ ⎞ ⎛ ⎞ ⎛ ⎞⎛ ⎞⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎜ ⎟
= + ×⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟ ⎜ ⎟ ⎜ ⎟⎝ ⎠⎝ ⎠ ⎝ ⎠ ⎝ ⎠
=
(5.3.5)
where To
zmp zmp zmp zmpx y z⎡ ⎤= ⎣ ⎦r is the ZMP position vector in global coordinate
system.
Since ZMP is set on the level ground and has zero tangential moments (due to its
definition), we have:
0
0
0
zmp
zmpxzmpz
y
M
M
=
=
=
(5.3.6)
Using Equations (5.3.5) and (5.3.6), the ZMP position is uniquely obtained as
follows:
oz
zmp oy
ox
zmp oy
MxF
MzF
=
−=
(5.3.7)
In addition, the resultant active moment at ZMP along y axis is also obtained from
Equation (5.3.5):
zmp o o oy y x zmp z zmpM M F z F x= + − (5.3.8)
There are two major advantages of using the foregoing ZMP formulation: one is
that calculation of resultant active forces from equations of motion is very convenient and
straightforward; and the other advantage is that the resultant active forces ( zmpM , zmpF )
74
and position ozmpr of the ZMP are obtained simultaneously. The resultant active forces at
ZMP will be used to calculate the passive ground reaction forces for the mechanical
system in next section.
5.4 Ground Reaction Forces
5.4.1 Two-step Active-passive Algorithm
Inclusion of GRF during the walking motion has two challenges: not only is the
GRF value transient, but also the GRF position. To circumvent these problems, a two-
step active-passive algorithm is developed in this study. The main idea is to first calculate
active resultant forces from the equations of motion excluding GRF and then calculate
GRF using the global equilibrium conditions. After that, the obtained GRF are applied as
external loads at ZMP, together with the active forces, to recover the real joint torques for
the system.
The resultant passive ground reaction forces (GRF) are located at the center of
pressure (COP) which coincides with the ZMP as long as there is a contact with the
ground (Goswami, 1999; Sardain and Bessonnet, 2004). Thus, the transient position of
the resultant GRF can be obtained by tracing ZMP position ozmpr using Equations (5.4.1).
Moreover, the transient value of resultant GRF is also obtained from global equilibrium
conditions as:
000
M +MF + Fr r
GRF zmp
GRF zmp
o oGRF zmp
=
=
− =
(5.4.1)
This two-step active-passive algorithm is depicted in Figure 5.6 and explained as
follows:
75
Input , ,q q q& && and GRF = 0
Start
Obtain the resultant active forces: 1τ , 2τ , 3τ moments: 4τ , 5τ , 6τ
Retrieve GRF from global equilibrium GRFM , GRFF , o
GRFr and apply them at ZMP
Obtain real joint torques Global Force: 0
Global Moment: 0
Calculate τ from EOM
End
Calculate τ from EOM again
Figure 5.6 Flowchart of the two-step active-passive algorithm to obtain GRF and real joint torques
Step 1: Given current state variables q , q& , and q&& , external loads and gravity, the
joint torques are calculated based on the inverse recursive Lagrangian dynamics without
GRF. The global forces 1τ , 2τ , 3τ and moments 4τ , 5τ , 6τ in the virtual branch are not
zero because of excluding GRF. These forces are in fact the resultant active forces at the
end of the virtual branch, i.e., the pelvis. After that, ZMP can be calculated using these
forces.
Step 2: Considering the global equilibrium between the resultant active forces and
the passive forces (GRF) at ZMP, the resultant GRF are obtained and then treated as
external forces applied at ZMP for the skeletal model. Given the state variables, external
loads, gravity, as well as GRF, the real joint torques are recovered from the equations of
motion.
76
5.4.2 Partition of Ground Reaction Forces
In single support phase, one foot supports the whole body and ZMP stays in the
foot area so that GRF can be applied at the ZMP directly. However, in the double support
phase, ZMP is located between the two supporting feet, and the resultant GRF needs to
be distributed to the two feet appropriately. This partition process can be treated as a sub-
optimization problem (Dasgupta and Nakamura, 1999). In order to simplify this process,
the GRF is distributed to the points (A, B) of the supporting parts on each foot as shown
in Figure 5.7, where point A (triangle) is the left toe center and point B (triangle) is the
right heel center. 1d and 2d are the distances from ZMP (circle) to point A and B
respectively. A linear relationship is used to partition GRF.
GRFM GRFF
Figure 5.7 Partition of ground reaction forces
The GRF value is first linearly decomposed at ZMP as follows:
2 21 1
1 2 1 2
1 12 2
1 2 1 2
,
,
M M F F
M M F F
GRF GRF GRF GRF
GRF GRF GRF GRF
d dd d d d
d dd d d d
= =+ +
= =+ +
(5.4.2)
Then, ( 1GRFM , 1
GRFF ) are transferred to point A and ( 2GRFM , 2
GRFF ) to point B as
follows:
77
1 1
1
M M d F
F F
A GRF A GRFzmp
A GRF
= + ×
= (5.4.3)
2 2
2
M M d F
F F
B GRF B GRFzmp
B GRF
= + ×
= (5.4.4)
where Azmpd is the position vector from point A to ZMP, and B
zmpd is the position vector
from point B to ZMP.
78
CHAPTER 6
DYNAMIC HUMAN WALKING PREDICTION: ONE STEP
FORMULATION
In this chapter, normal walking is assumed to be symmetric and cyclic, therefore
only one step of gait cycle needs to be modeled and simulated. The problem is formulated
as a nonlinear optimization problem. A unique feature of the formulation is that the
equations of motion are not integrated explicitly, but evaluated by inverse dynamics in
the optimization process, thus enforcing the laws of physics. For the performance
measure, the dynamic effort that is represented as the integral of the squares of all the
joint torques is minimized. A program based on a sequential quadratic programming
approach is used to solve the nonlinear optimization problem. Besides normal walking,
several other cases are also considered, such as walking with a shoulder backpack of
varying loads. In addition to the kinematics data, kinetics data such as joint torques and
ground reaction forces are recovered from the simulation.
6.1 Gait Model
As defined in the literature, a complete gait cycle includes two continuous steps
(one stride). In the current work, normal walking is assumed to be symmetric and cyclic;
therefore only one step of the gait cycle needs to be modeled. Each step is divided into
two phases, single support phase and double support phase. Single support phase occurs
when one foot contacts the ground while the other leg is swinging; it starts from the rear
foot toe-off and ends when the swinging foot lands on the ground with a heel-strike; the
time duration for this phase is denoted as SST . Considering the foot ball joint, the single
support phase can be detailed into two basic supporting modes: rear foot single support
and forefoot single support. The double support phase is characterized by both feet
contacting the ground. This phase starts from the front foot heel-strike and ends with the
contralateral foot toe-off, and the time duration of double support is denoted as DST . In
79
this work, a walking step starts from left heel strike, then goes through left foot flat, right
toe off, right leg swing, left heel off, and finally comes back to right heel strike as shown
in Figure 6.1. In this process, the foot support region is plotted in Figure 6.2.
Figure 6.1 Basic feet supporting modes in a step (side view: R denotes right leg; L denotes left leg)
As shown in Figure 6.1, this one-step walking model consists of complete
experimental gait phases. Left leg undergoes heel strike, loading response, mid-stance,
and terminal stance. Right leg goes through pre-swing, initial swing, mid-swing and
terminal swing phases.
Figure 6.2 Foot support region in a step (dash area is foot support region)
80
The corresponding foot contacting conditions are summarized in Table 6.1.
Table 6.1 Foot contacting conditions: four modes in a step
Contact mode:
Double support Single support
Double support Rear Fore
Right toe Left heel Left ball Left toe
Left heel Left ball Left toe Right heel
Symmetry conditions for the gait cycle are introduced in this study, where it is
possible to consider only one step in a normal steady gait cycle instead of considering a
stride. As a result, the computational cost is significantly reduced. In the symmetry
approach, the successive step repeats the motion of previous step by swapping the roles
of legs and arms. This is explained in Figure 6.3, where the normal step starts from the
left heel strike and ends with the right heel strike. The initial and final joint angles and
velocities should satisfy symmetric conditions so as to generate continuous and cyclic
gait motion.
Figure 6.3 A normal step with symmetry conditions
81
6.2 Optimization Formulation
For a given walking velocity (V) and a step length (L), the time duration for that
step is calculated as /T L V= . The double support time duration, which represents a
portion of the step time, is defined as DST T= α ; as a result, the single support time
duration, is given as (1 )SST T= −α , where α is obtained from the literature (Ayyappa,
1997). Single support is detailed into rear foot support (mid-stance) and forefoot support
(terminal stance). Their time durations are set to SSTβ and (1 ) SST−β respectively, where
β is obtained from the literature. In this study, the total time T for a step is specified by
the given velocity and step length.
The walking task is formulated as a nonlinear programming optimization
problem. A general mathematical form is defined as: find the optimal joint trajectories q
and joint torque τ to minimize a human performance measure subject to physical
constraints.
Find :To : minSub. h 0 ; 1,...,
g 0 ; 1,...,
q, τ (q, τ) =
i
j
fi mj k=
≤ =
(6.2.1)
where hi are the equality constraints and gj are the inequality constraints.
6.2.1 Design Variables
In the current formulation, the design variables are the joint profiles ( )tq for a
symmetric and cyclic gait motion. The governing differential equations are not
integrated; instead an inverse dynamics procedure is used to calculate the joint torques
( , )τ q t based on the current joint profiles. This is so called differential inclusion
formulation. Therefore, the equations of motion are automatically satisfied in the
optimization process.
82
6.2.2 Objective Function
The predicted motion depends strongly on the adopted objective function J. In
this work, the dynamic effort, the time integral of the squares of all joint torques, is used
as the performance criteria for the walking problem.
T
0 max max
( , ) ( , )( ) τ q τ qq T
t
t tJ dt=
⎛ ⎞ ⎛ ⎞= ⋅⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟τ τ⎝ ⎠ ⎝ ⎠∫ (6.2.2)
where max
τ is the maximum absolute value of joint torque limit.
6.2.3 Constraints
Two types of constraints are considered for the walking optimization problem:
one is the time dependent constraint which includes joint limits, torque limits, ground
penetration, dynamic stability, arm-leg coupling, and self avoidance. These constraints
are imposed throughout the entire time interval. The second type is time independent
constraint which comprises symmetry conditions, ground clearance and initial and final
foot positions; these constraints are considered only at a specific time point during the
step.
6.2.3.1 Time Dependent Constraints
(1) Joint limits
To avoid hyperextension, the joint limits are taken into account in the
formulation. The joint limits representing the physical range of motion and are obtained
from the literature.
( ) , 0q q qL Ut t T≤ ≤ ≤ ≤ (6.2.3)
where Lq are the lower joint limits and Uq the upper limits.
Joint limit constraint can also be used to “freeze” a DOF by setting its lower
bound and upper bound to the neutral angle (the natural angle at rest) instead of
eliminating this DOF from the skeleton model. This method is used in the current
83
formulation to simplify the walking optimization problem. Since we are more interested
in lower body motion, we freeze some DOFs in the upper body except the first two joints
on spine, shoulder, and elbow. The frozen DOFs include wrist joint, clavicle joint, neck
joint, spine3, and spine4 joints. We are assuming that all the trunk motion happens at the
first two spine joints. For other tasks, the frozen DOFs can be easily released to satisfy
the task requirement.
(2) Torque limits
Each joint torque is also bounded by its physical limits which are obtained from
the literature.
( ) , 0L Ut t T≤ ≤ ≤ ≤τ τ τ (6.2.4)
where Lτ are the lower torque limits and Uτ the upper limits.
(3) Ground penetration
Walking is characterized with unilateral contact between the foot and ground as
shown in Figure 6.4. While the foot contacts the ground, the height and velocity of
contacting points (circles) is zero. In contrast, the height of other points (triangles) on the
foot is greater than zero.
Figure 6.4 Foot ground penetration conditions
84
Therefore, the ground penetration constraints are formulated as follows:
( ) 0, ( ) 0, ( ) 0, ( ) 0,( ) 0, , 0
i i i i
i
y t x t y t z t iy t i t T
= = = = ∈Ω> ∉Ω ≤ ≤
& & &
(6.2.5)
where Ω is the set of contacting points as illustrated in Table 6.1.
(4) Dynamic stability
The dynamic stability is achieved by enforcing the ZMP to remain within the foot
support region (FSR) as depicted in Figure 6.5, where Γ is a vector along the boundary
of FSR and r is the position vector from a vertex of the FSR to ZMP.
1Γ
2Γ
4Γ
3Γ
1r2r
3r4r
Figure 6.5 Foot support region (top view)
The ZMP constraint is mathematical expressed as follows:
( ) 0, 1,..., 4yr Γ n i i i× ⋅ ≤ = (6.2.6)
where yn is the normal unit vector along the y axis.
(5) Arm-leg coupling
The arm-swing is generally considered to help balance the upper body during
walking to reduce the trunk moment in the vertical direction. In practice, it is difficult to
measure the moment produced by the swing arm. In this study, we introduced a two-
85
pendulum model to represent arm-leg coupling during the walking motion. The basic idea
of the arm-leg coupling constraint is that the arm-swing on one side counteracts the leg-
swing on the other side as depicted in Figure 6.6, where the first pendulum 1η represents
left arm (from left shoulder to left wrist), and the second pendulum 2η denotes right leg
(from right hip to right ankle).
1η
2η
Figure 6.6 Arm-leg coupling motion
The mathematical form of coupling constraint is written as:
( )( )1 2 0η n η nz z⋅ ⋅ ≥ (6.2.7)
where zn is the unit vector along z axis.
It is noted that the arm-leg coupling constraint is just a constraint on the swing
directions of the arm and the leg rather than a quantitative relationship on the swing
angles. The swing angles are determined by the optimization process.
86
(6) Self avoidance
Self avoidance is considered in the current formulation to prevent penetration of
the arm in the body. A sphere filling algorithm is used to formulate this constraint as
shown in Figure 6.7.
Figure 6.7 Self avoidance constraint between the wrist and hip
1 2( , ) 0, 0d t r r t T− − ≥ ≤ ≤q (6.2.8)
where 1r is a constant radius to represent the wrist, and 2r is another radius to represent
the hip; d is the distance between wrist and hip.
6.2.3.2. Time Independent Constraints
(1) Symmetric condition
The gait simulation starts from the left heel strike and ends with the right heel
strike. The initial and final postures and velocities should satisfy the symmetry conditions
to generate continuous walking motion. These conditions are expressed as follows:
x x x x
y y y y
z z z z
(0) ( ) 0, (0) ( ) 0(0) ( ) 0, (0) ( ) 0(0) ( ) 0, (0) ( ) 0
(0) ( ) 0, (0) ( ) 0
L R L R
S S S S
S S S S
S S S S
q q T q q Tq q T q q Tq q T q q T
q q T q q T
− = − =− = − =
+ = + =
+ = + =
& &
& &
& &
& &
(6.2.9)
87
where subscripts L and R represent the DOFs of the leg, arm and shoulder joints which
satisfy the symmetry condition with the contralateral leg, arm and shoulder joints; the
subscript S represents the DOFs of spine, neck and global joints which satisfy the
symmetry condition on itself at the initial and final times; x, y, z are global axes.
(2) Ground clearance
To avoid foot drag motion, ground clearance constraint is imposed during the
walking motion. Instead of controlling the maximum height of the swing leg, the
maximum knee flexion at mid-swing is used to formulate ground clearance constraint. In
addition, biomechanical experiments have shown that the maximum knee flexion of
normal gait is around 60 degrees regardless the subjects age and gender.
60 ,knee midswingq t t−ε ≤ − ≤ ε = (6.2.10)
where ε is a small range of motion, i.e., 5ε = degrees.
(3) Initial and final foot contacting position
Since the step length L is given, the foot initial and final contacting positions are
specified at the initial and final times to satisfy the step length constraint. It is noted that
the initial and final postures and velocities are determined by the optimization process
instead of specifying them from the experiments.
(0) (0),( ) ( ),
x xx x
i i
i iT T i== ∈Ω
%
% (6.2.11)
where xi% is the specified initial and final contacting position, and Ω is the set of
contacting points as specified in Table 6.1.
6.3 Numerical Discretization
For the optimization problem, the time domain is discretized by using B-spline
curves which are defined by a set of control points P and time grid points (knots) t. A B-
spline is a numerical interpolation method that has many important properties, such as
continuity, differentiability, and local control. These properties, especially
88
differentiability and local control, make B-splines appropriate to represent joint angle
trajectories, which require smoothness and flexibility.
Let { }0 1, ,t .., mt t t= be a non-decreasing sequence of real numbers, i.e.,
1, 0 1 i it t i ,.. ,m -+≤ = . The it are called knots, and they are non-decreasingly spaced for a
B-spline. A cubic B-spline is defined as
( ) ( ),40
; 0nct
j jj
q t B t P t T=
= ≤ ≤∑ (6.3.1)
where the { } , 0 jP j , ..,nct= are the ( )1nct + control points, and the ( ){ },4jB t are the
cubic B-spline basis functions defined on the non-decreasing knot vector. For [ ]1,i it t t +∈ ,
explicit basis functions of a cubic B-spline are given in Chapter 3.
Since the first and the second order derivatives of the joint angles are needed in
the optimization process, the derivatives of a cubic B-spine curve can be easily obtained
from Equation (6.3.1), since only the basis functions are functions of time. Therefore, the
original continuous variable optimization problem is converted into a parameterized
optimization problem by using Equations (6.3.1), (6.3.2) and (6.3.3).
( ) ( ),40
; 0nct
j jj
q t B t P t T=
= ≤ ≤∑ && (6.3.2)
( ) ( ),40
; 0nct
j jj
q t B t P t T=
= ≤ ≤∑ &&&& (6.3.3)
q , q& , and q&& are functions of t and P; therefore torque ( , )t Pτ τ= is an explicit
function of the knot vector and control points from the equations of motion. Thus, the
derivatives of torque with respect to control points can be computed using the chain rule
as:
i i i i
q q qP q P q P q Pτ τ τ τ∂ ∂ ∂ ∂ ∂ ∂ ∂= + +
∂ ∂ ∂ ∂ ∂ ∂ ∂& &&
& && (6.3.4)
In this study, multiplicity at the ends is used in the knot vector. For the cubic B-
spine, multiplicity property guarantees that the initial and final joint angle values of a
89
DOF are exactly those corresponding to initial and final control point values as shown in
Figure 6.8. This makes imposing the symmetric posture constraint easier. The time
dependent constraints are imposed not only at the knot points but also between the
adjacent knots, so that a very smooth motion can be generated.
Figure 6.8 B-spline discretization of a joint profile
6.4 Normal Walking
A sequential quadratic programming (SQP) algorithm in SNOPT (Gill, Murray,
and Saunders 2002) is used to solve the nonlinear optimization problem of normal
walking. To use the algorithm, cost and constraint functions and their gradients need to
be calculated. The foregoing developed recursive kinematics and dynamics procedure in
Chapter 2 provides accurate gradients to improve the computational efficiency of the
optimization algorithm. Appropriate normal walking parameters (velocity and step
length) are obtained from biomechanics literature (Inman et al. 1981). In addition to
normal walking, the current work also considers situations where people walk and carry
backpacks with various weights (20 lbs, 40 lbs, and 80 lbs respectively).
In solving a normal gait motion, the user inputs a pair of parameters, for example
normal walking velocity V = 1.2 m/s and step length L = 0.6 m, and the parameterized
90
nonlinear optimization problem is solved with SNOPT. There are 330 design variables
(55 DOFs each with 6 control points) and 1036 nonlinear constraints. First a simplified
optimization problem is solved to obtain a feasible solution for the walking problem.
Here =q 0 is used as the starting point with ( ) 0F =q as the objective function, and all
the constraints are imposed. Then, the feasible solution is used as the starting point for
the optimization problem formulated with dynamic effort as the objective function. The
optimality and feasibility tolerances are both set to 310−ε = in SNOPT and the optimal
solutions are obtained in 512 CPU seconds on a Pentium(R) 4, 3.46 GHz computer.
0
0.5
1
1.5
2
2.5
3
-0.20
0.2
0
0.5
1
1.5
Figure 6.9 The diagram of optimized cyclic walking motion (two strides)
Figure 6.9 shows the resulting stick diagram of a 3D human walking on level
ground including the motion in single support phase and double support phase. As
91
expected, correct knee bending occurs to avoid collision. The arms swing to balance the
leg swing. The continuity condition is satisfied to generate smooth walking motion where
the initial and final postures are also optimized. ZMP location is also plotted in the figure
and it stays in the foot support region to satisfy the dynamic stability condition. It is
important to note that the spine keeps upright automatically to reduce energy expenditure
in the walking motion.
6.4.1 Kinematics
Based on the literature and a clear understanding of human gait, six angles and
displacements have been chosen as determinants to define forward walking (Saunders et
al., 1953). These determinants correspond to the lower extremities and pelvic motion of
the human that include hip flexion/extension, knee flexion/extension, ankle
plantar/dorsiflexion, pelvic tilt, pelvic rotation, and lateral pelvic displacement. With the
exception of lateral pelvic displacement, each of the gait determinants is the time history
of a joint angle. Joint angles are dimensionless, so they become an intrinsic measurement
of motion.
The walking motion experimental data is comprised of four healthy male subjects.
During the walking trials, each subject walked at a self-selected speed. The experimental
data for each subject was normalized by dividing the cycle time to directly evaluate the
determinants at a percentage of a gait cycle. For each subject, the time scale was
normalized such that the initial left heel strike occurred at time t = 0 and the subsequent
left heel strike occurred at time t = 1 (Rahmatalla et al., 2008).
The predicted six determinants of normal walking for a stride from left heel strike
and ending with the subsequent left heel strike are plotted in Figures 6.10.
92
0 20 40 60 80 100-20
-10
0
10
20
30
Hip
ang
le (d
egre
e)
Percentage of gait cycle
Experiment 95% C.I. Predict
0 20 40 60 80 100-30
-20
-10
0
10
20
30
40
50
60
70
80
90
Kne
e an
gle
(deg
ree)
Percentage of gait cycle
Experiment 95% C.I. Predicted
0 20 40 60 80 100
-30
-20
-10
0
10
20
Ank
le a
ngle
(deg
ree)
Percentage of gait cycle
Experiment 95% C.I. Predicted
0 20 40 60 80 100-15
-10
-5
0
5
10
15
Pelv
ic ti
lt (d
egre
e)
Percentage of gait cycle
Experiment 95% C.I. Predicted
0 20 40 60 80 100-20
-10
0
10
20
Pelv
ic ro
tatio
n (d
egre
e)
Percentage of gait cycle
Experiment 95% C.I. Predicted
0 20 40 60 80 100
-50
-40
-30
-20
-10
0
10
20
30
40
50
Pelv
ic d
ispl
acem
ent (
mm
)
Percentage of gait cycle
Experiment 95% C.I. Predicted
Figure 6.10 Comparison of predicted determinants with experimental data
93
In Figure 6.10, the red curves represent the predicted determinants, the black
curves are experimental mean value of determinants, and the dashed blue curves show
95% confident region of the statistical means. In general, the predicted walking motion
has shown a strong correlation with the experimental data. The six determinants lie
closely to the mean of the experimental data and major parts of the motion are in the
confidence region and have similar trends with the statistical mean. The ankle motion,
pelvic rotation, and pelvic lateral displacement have time precedence. This is because the
six determinants represent a complex coupled motion, and the optimal solution is a
compromise motion which may result in sequence variation. Furthermore, ankle motion
is the major passive movement due to GRF. It has shown a larger plantar flexion at 60%
of gait cycle. These differences are expected due to approximations in the mechanical
model of the human body and the experimental conditions.
6.4.2 Dynamics
Since we are using a rigid skeleton model, the energy absorption of muscle
tendon-ligament and joint tissue are ignored at heel strike and toe off. This results in
some jerk in ground reaction forces and joint torques. Therefore, the butterworth low-
pass filter with cutting frequency of 8 Hz is adopted to analyze GRF and joint torques as
a post processor. Figure 6.11 depicts torque profiles of the hip, the knee and the ankle in a
complete cycle (stride). Here, HS denotes heel strike, FF foot flat, HO heel off, and TO
toe off.
94
‐60
‐40
‐20
0
20
40
60
80
0 10 20 30 40 50 60 70 80 90 100Torque
(Nm)
% Gait Cycle
Hip Torque
flexion
extension
swingstance
FFHS HO TO HS
‐40
‐20
0
20
40
60
0 10 20 30 40 50 60 70 80 90 100
Torque
(Nm)
% Gait Cycle
Knee Torque
stance
flexion
extensionswing
FFHS HO TO HS
‐60
‐40
‐20
0
20
40
60
80
0 10 20 30 40 50 60 70 80 90 100Torque
(Nm)
% Gait Cycle
Ankle Torque
FFHS
plantarflexion
swingstance
HO TO HS
dorsiflexion
Figure 6.11 Joint torque profiles in a complete cycle
95
‐0.5
0
0.5
1
1.5
0 10 20 30 40 50 60 70 80 90 100Vertical G
RF (bo
dy w
eight)
% Gait Cycle
Vertical GRF
vertical
swingstance
FFHS HO TO HS
‐0.2
‐0.1
0
0.1
0.2
0.3
0 10 20 30 40 50 60 70 80 90 100
Fore‐Aft GRF
(bo
dy w
eight)
% Gait Cycle
Fore‐Aft GRF
HS
aft
fore
swingstance
FF HO TO HS
‐0.1
‐0.05
0
0.05
0 10 20 30 40 50 60 70 80 90 100
Transverse GRF
(bo
dy w
eight)
% Gait Cycle
Transverse GRF
medial
lateral
swingstance
HS FF HO TO HS
Figure 6.12 Ground reaction forces in a complete cycle
96
In Figure 6.11, the hip torque begins to flex the hip at the heel strike and this
torque reaches its maximum extension torque at terminal stance phase. At the knee joint,
the reaction force flexes the knee during early stance, but the knee torque then reverses
into an extension torque. Before the swing phase, the knee is flexed for a second time.
The ankle starts a plantar torque just after heel strike and reverses into a dorsiflexion
toque continuously during stance, reaching peak at terminal stance then drops quickly
until toe-off.
Figure 6.12 shows the ground reaction forces in the predicted walking
locomotion. The vertical GRF has a familiar double-peak pattern, and the maximum
vertical force is developed soon after heel strike and then again during terminal stance
(push off); In the walking direction, fore-aft GRF, there is a decelerating force early in
the stance phase, and an acceleration force at push off; Meanwhile, the foot is also
pushing laterally during the entire stance phase.
The resulting joint torques and GRF have shown considerable agreement with the
experimental results presented in the literature (Stansfield et al., 2006).
6.5 Walking with Backpack: Cause-and-effect
In this process, a backpack is considered for the walking motion with the walking
velocity V = 1.2 m/s and step length L = 0.6 m. The backpack is considered as a point
load applied on the back in the downward vertical direction. Although the current
backpack model is relatively simple, it is used to study its cause-and-effect during the
walking motion under the current framework. Three cases are tried with varying
backpack weights: 20 lbs, 40 lbs, and 80 lbs. 3D stick diagram of the walking motion are
compared in Figure 6.13 and reasonable spine bending is observed with increasing
backpack load. The joint angle profiles, the ground reaction forces, and the joint torque
profiles are illustrated in Figure 6.14, 6.15 and 6.16 respectively.
97
0
0.5
1
1.5
2
2.5
3
-0.20
0.2
0
0.5
1
1.5
0
0.5
1
1.5
2
2.5
3
-0.20
0.2
0
0.5
1
1.5
0
0.5
1
1.5
2
2.5
3
-0.20
0.2
0
0.5
1
1.5
(a) (b) (c)
Figure 6.13 Optimized walking motion with backpack (a) 20 lb, (b) 40 lb, (c) 80 lb
‐20
‐10
0
10
20
30
0 10 20 30 40 50 60 70 80 90 100Hip angle (de
gree
)
% Gait Cycle
Hip Angle
20‐lb
40‐lb
80‐lb
swingstance
flexion
extension
stance
HS FF HO TO HS
0
10
20
30
40
50
60
70
0 10 20 30 40 50 60 70 80 90 100
Knee
angle (de
gree
)
% Gait Cycle
Knee Angle
20‐lb
40‐lb
80‐lb
swingstance
flexion
HS FF HO TO HS
‐20
‐15
‐10
‐5
0
5
10
0 10 20 30 40 50 60 70 80 90 100
Ankle angle (de
gree
)
% Gait Cycle
Ankle Angle
20‐lb
40‐lb
80‐lb
swingstance
plantarflexion
dorsiflexionHS FF HO TO HS
0
5
10
15
20
25
30
35
0 10 20 30 40 50 60 70 80 90 100
Bend
ing angle (degree)
% Gait Cycle
Spine Bending Angle
20‐lb
40‐lb
80‐lb
swingstance
flexion
HS FF HO TO HS
Figure 6.14 Joint profiles with backpack
98
‐0.5
0
0.5
1
1.5
2
0 10 20 30 40 50 60 70 80 90 100
Vertical G
RF (bo
dy w
eight)
% Gait Cycle
Vertical GRF
20‐lb
40‐lb
80‐lb
swingstance
HS FF HO TO HS
‐0.3
‐0.2
‐0.1
0
0.1
0.2
0.3
0 10 20 30 40 50 60 70 80 90 100
Fore‐aft GRF
(bo
dy w
eight)
% Gait Cycle
Fore‐aft GRF
20‐lb
40‐lb
80‐lb
aft
fore
swingstance
HS FF HO TO HS
‐0.12
‐0.1
‐0.08
‐0.06
‐0.04
‐0.02
0
0.02
0.04
0 10 20 30 40 50 60 70 80 90 100
Lateral GRF
(bo
dy w
eight)
% Gait Cycle
Lateral GRF
20‐lb
40‐lb
80‐lb
swingstance
lateral
medial
HS FF HO TO HS
Figure 6.15 Ground reaction forces with backpack
99
All the hip, knee, and ankle motion have no significant differences with various
backpack loads. This is because they are all simulated under the same walking
parameters: walking velocity and step length. However, the spine bending angles are
significantly affected by the backpack loads. Heavier weight results a larger bending
angle to lower the center of mass and increase the stability.
The ground reaction forces show generally greater forces with increasing load.
There is significant load effect on the vertical GRF. For fore-aft GRF, the 80-lb backpack
results in greater minimum and maximum force than the 20-lb backpack. The 40-lb
backpack has a minimum force similar to the 20-lb backpack and a maximum force
similar to the 80-lb backpack. For medial-lateral GRF, the 80-lb backpack has larger peak
force compared to 20-lb and 40-lb backpacks, however there is no significant difference
in other part of gait cycle.
‐80
‐60
‐40
‐20
0
20
40
60
80
100
120
0 10 20 30 40 50 60 70 80 90 100
Torque
(Nm)
% Gait Cycle
Hip Torque
20‐lb
40‐lb
80‐lb
swingstance
extension
flexion
HS FF HO TO HS
‐40
‐20
0
20
40
60
80
100
0 10 20 30 40 50 60 70 80 90 100
Torque
(Nm)
% Gait Cycle
Knee Torque
20‐lb
40‐lb
80‐lb
swingstanceextension
flexion
HS FF HO TO HS
‐60
‐40
‐20
0
20
40
60
80
100
120
0 10 20 30 40 50 60 70 80 90 100
Torque
(Nm)
% Gait Cycle
Ankle Torque
20‐lb
40‐lb
80‐lb
swingstance
dorsiflexion
plantarflexion
HS FF HO TO HS
‐30
‐20
‐10
0
10
20
30
40
0 10 20 30 40 50 60 70 80 90 100Torque
(Nm)
% Gait Cycle
Spine Bending Torque
20‐lb
40‐lb
80‐lb
swingstance
flexion
extension
HS FF HO TO HS
Figure 6.16 Joint torque profiles with backpack
100
It can be seen that the torques on the lower extremity are almost the same in the
swing phase, however, they are different in the stance phase because of varying weight of
the backpack. In the swing phase, all the weight is shifted to the stance leg, so the torque
of the swinging leg is almost the same in spite of the change of the backpack weights. On
the other hand, during the stance phase, 80-lb backpack results larger peak torque
compared to 20-lb and 40-lb backpacks. For the hip and knee torque, there is no
significant difference between 20-lb and 40-lb backpacks. The 80-lb backpack has the
maximum extension knee torque similar to other backpacks, but the maximum flexion
torque occurred later than the lighter backpack. The spine bending torque shows
significant greater value with the increase of load.
An interesting result is observed from the foregoing analyses. The different
weight backpacks are tested under the same walking parameters (step length and
velocity). Therefore, the similar joint profiles of lower extremity are obtained for various
loads. Although, GRF has great difference, especially the one along vertical direction, the
joint torque profiles have no significant difference. This may be explained in the context
of human walking strategy, the optimal GRF location is chosen from the optimization to
facilitate an energy saving walking for different loads to increase stability and reduce the
joint torques. Thus, the current algorithm predicts that people will choose a strategy to
walk more efficiently for carrying various backpack loads under the given walking
parameters.
6.6 Summary
In this chapter, motion prediction of normal walking of a 55-DOF digital human
model was presented. The normal walking was treated as a cyclic and symmetric motion
with repeatable initial and final postures and velocities. The motion planning was
formulated as a large scale nonlinear programming problem and solved by commercial
software (SNOPT). Joint profiles were discretized by cubic B-splines and the
101
corresponding control points were treated as unknowns. The energy related objective
function, which represents the integral of squares of all joint torques, was minimized.
Due to its crucial role in walking, the arm motion was incorporated by considering the
arm-leg motion coupling constraint in the formulation. Walking determinants were
obtained from human subjects and were used to verify the gait motion of the predicted
model. The effect of external force, such as backpacks, on gait motion was studied and
reasonable responses were achieved. The current formulation has shown to be very
effective in dealing with joint torques and ground reaction forces. Furthermore, the
current methodology was found to be quite robust due to the significant role of the
analytical gradients which were included in the formulation using recursive Lagrangian
dynamics. The proposed model showed high fidelity in predicting both kinematics and
dynamics of human walking. However, there are some limitations for the proposed one
step walking formulation. In practice, many walking problems are not symmetric, for
example, walking with different step lengths, walking along a curve, and asymmetric
walking. To study these walking problems, one stride walking formulation is presented in
next chapter.
102
CHAPTER 7
DYNAMIC HUMAN WALKING PREDICTION: ONE STRIDE
FORMULATION
In this chapter, an efficient optimization-based stride walking formulation is
developed. In this formulation, a performance measure and the appropriate constraints are
defined to simulate natural human cyclic stride walking. The problem is formulated as a
nonlinear optimization problem. A program based on a sequential quadratic programming
approach is used to solve the nonlinear optimization problem. Besides normal walk, the
speed effect for walking motion is also discussed. In addition, an asymmetric walking is
simulated by using the proposed formulation and some insights are revealed for some
specific pathological gaits.
7.1 Gait Model
As defined in the literature, a complete gait cycle includes two continuous steps,
i.e., a stride. In the current work, normal walking is assumed to be a cyclic motion, that
is, the stride repeats itself. Therefore, one stride motion is formulated and simulated in
this study. Furthermore, a step can be defined in terms of the double support and single
support times. Double support is characterized by both feet being in contact with the
ground. The time duration is denoted as DST . Single support occurs when one foot
contacts the ground while the other leg is swinging. The time duration for this phase is
denoted as SST . Considering the foot ball joint, the single support phase can be detailed
into two basic supporting modes: rear foot single support and forefoot single support.
The normal stride introduced in this chapter starts from the left heel strike and
ends with the subsequent left heel strike. This one stride walking model consists of seven
physical gait phases: heel strike, loading response, mid-stance, terminal stance, pre-
swing, initial swing, mid-swing, and terminal swing phases. The initial and final joint
103
angles and velocities should satisfy continuity conditions so as to generate continuous
and cyclic gait motion.
In the stride motion, the left leg starts with left heel strike, then goes through left
foot flat, left heel off, left toe off, left leg swing and finally comes back to left heel strike
again as shown in Figure 7.1. In this process, the dynamic stability condition is satisfied
as long as ZMP locates in the foot support region as plotted in Figure 7.2.
(a) First step
(b) Second step
Figure 7.1 Basic feet supporting modes in a stride (side view: R denotes right leg; L denotes left leg)
104
(a) First step
(b) Second step
Figure 7.2 Foot support polygon in a stride (dash area is foot support polygon)
The corresponding foot contacting conditions are summarized in Table 7.1, where
LDS denotes left foot leading double support, LSS left foot single support, RDS right
foot leading double support, and RSS right foot single support.
Table 7.1 Foot contacting conditions
Contact modes:
LDS LSS RDS
RSS LDS
Rear Fore Rear Fore
Right toe Left heel Left ball Left toe Right heel Right ball Right toe
Left heel Left ball Left toe Right heel Right ball Right toe Left heel
105
7.2 Optimization Formulation
For a given walking velocity (V) and a step length (L), the time duration for a
stride is calculated as 2 /T L V= . The double support time duration of a step is defined as
/ 2DST T= α ; as a result, the single support time duration of a step is defined as
(1 ) / 2SST T= −α , where α is obtained from the literature (Ayyappa, 1997). Single
support is detailed into rear foot support and forefoot support. Their time durations are set
to SSTβ and (1 ) SST−β respectively, where β is obtained from the literature. In this study,
the total time T for a stride is specified by the given velocity and step length.
7.2.1 Design Variables
In the current formulation, the design variables are the joint angle profiles ( )tq for
a cyclic stride motion. The governing differential equations are not integrated; instead an
inverse dynamics procedure is used to calculate the joint torques ( , )τ q t based on the
current joint profiles.
7.2.2 Objective Function
The dynamic effort, the time integral of the squares of all joint torques, is used as
the performance criteria for the walking motion.
T
0 max max
( , ) ( , )( ) τ q τ qq T
t
t tJ dt=
⎛ ⎞ ⎛ ⎞= ⋅⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟τ τ⎝ ⎠ ⎝ ⎠∫ (7.2.1)
where max
τ is the maximum absolute value of the joint torque limit.
7.2.3 Constraints
Two types of constraints are considered for the walking optimization problem: (1)
time dependent constraints which include joint limits, torque limits, ground penetration,
foot contacting position, dynamic stability, arm-leg coupling, and self avoidance. These
constraints are imposed throughout the entire time interval; (2) time independent
106
constraints which comprise continuity condition and ground clearance constraints
imposed only at a specific time point during the motion.
7.2.3.1 Time Dependent Constraints
(1) Joint limits
To avoid hyperextension, the joint limits are taken into account in the
formulation. The joint limits representing the physical range of motion are obtained from
the literature.
( ) 0q q q L Ut t T≤ ≤ ≤ ≤ (7.2.2)
where Lq are the lower joint limits and Uq the upper limits.
(2) Torque limits
In addition, the joint torque is also bounded by its physical limits which are
obtained from literature.
( ) 0τ τ τ L Ut t T≤ ≤ ≤ ≤ (7.2.3)
where Lτ are the lower torque limits and Uτ the upper limits.
(3) Ground penetration
Walking is characterized with unilateral contact between the foot and ground.
While the foot contacts the ground, the height and velocity of contacting points are zero.
In contrast, the height of other points on the foot is greater than zero. Therefore, the
ground penetration constraints are formulated as follows:
( ) 0, ( ) 0, ( ) 0, ( ) 0,( ) 0, , 0
i i i i
i
y t x t y t z t iy t i t T
= = = = ∈Ω> ∉Ω ≤ ≤
& & & (7.2.4)
where Ω is the set of contacting points as illustrated in Table 7.1.
(4) Foot contacting position
The foot contacting position is specified during the motion to satisfy the step
length constraint. However, the initial and final postures, and velocities are determined
by the optimization process instead of specifying them from the experiments.
107
[ ]( ) , , 0,x x i it i t T= ∈Ω ∈% (7.2.5)
where xi% is the specified contacting position, and Ω is the contacting set as specified in
Table 7.1.
(5) Dynamic Stability
The dynamic stability is achieved by enforcing the ZMP to remain within the foot
support region (FSR) as depicted in Figure 7.3, where Γ is a vector along the boundary
of FSR and r is the position vector from a vertex of the FSR to ZMP.
1Γ
2Γ
4Γ
3Γ
1r2r
3r4r
Figure 7.3 Foot support polygon (top view)
The ZMP constraint is mathematical expressed as follows:
( ) 0 1,..., 4yr Γ n i i i× ⋅ ≤ = (7.2.6)
where yn is the normal unit vector along the y axis.
(6) Arm-leg coupling
The arm leg coupling constraint is introduced based on the idea that the arm
swing should counteract the leg swing on the other side to reduce the trunk movement.
Therefore, we introduced a two-pendulum model to represent arm-leg coupling during
the walking motion as depicted in Figure 7.4, where the first pendulum 1η represents left
108
arm (from left shoulder to left wrist), and the second pendulum 2η denotes right leg
(from right hip to right ankle).
1η
2η
Figure 7.4 Arm-leg coupling motion
The mathematical form of coupling constraint is written as:
( ) ( )1 2 0η n η nz z⋅ ⋅ ≥ (7.2.7)
where zn is the unit vector along z axis.
(7) Self avoidance
Self avoidance is considered in the formulation to prevent penetration of the arm
in the body. A sphere filling algorithm is used to formulate this constraint.
1 2( , ) 0 0q d t r r t T− − ≥ ≤ ≤ (7.2.8)
where 1r is the radius of a sphere to represent the wrist, and 2r is the radius of another
sphere to represent the hip; d is the distance between wrist and hip.
109
7.2.3.2. Time Independent Constraints
(1) Continuity condition
The gait simulation starts from the left heel strike and ends with the subsequent
left heel strike. The initial and final postures and velocities should satisfy the continuity
conditions to generate continuous walking motion. These conditions are expressed as
follows:
(0) ( ) 0 2,3,...(0) ( ) 0 1,2,...
i i
j j
q q T i nq q T j n
− = =− = =
& &
(7.2.9)
where n is the number of degrees of freedom. There is global translation along the
walking direction on the first DOF, Thus, the position continuity constraint excludes the
first DOF.
(2) Ground clearance
To avoid foot drag motion, ground clearance constraint is imposed during the
walking motion. Instead of controlling maximum height of the swing leg, the maximum
knee flexion at mid-swing is used to formulate ground clearance constraint.
60 knee midswingq t t−ε ≤ − ≤ ε = (7.2.10)
where ε is a small range of motion, i.e., 5ε = degrees.
7.2.4 Numerical Discretization
For the optimization problem, the entire time domain is discretized by B-spline
curves which are defined by a set of control points P and time grid points (knots) t. The
knot vector t is uniquely determined by the input walking parameters and the time
duration ratio of the physical gait phases obtained from literature. Therefore, the time-
dependent-variables optimization problem is transformed into a parameterized nonlinear
optimization programming with control points P as design variables.
110
Find : ( ) ( )To : minSub. h 0 ; 1,...,
g 0 ; 1,...,
q P , τ P (q, τ) =
i
j
fi mj k=
≤ =
(7.2.11)
where hi are the equality constraints and gj are the inequality constraints.
In addition, the gradients of joint torque with respect to control points are
computed from the following chain rule:
i i i i
q q qP q P q P q Pτ τ τ τ∂ ∂ ∂ ∂ ∂ ∂ ∂= + +
∂ ∂ ∂ ∂ ∂ ∂ ∂& &&
& && (7.2.12)
7.3 Validation of Normal Walking
A large-scale sequential quadratic programming (SQP) approach in SNOPT (Gill,
Murray, and Saunders 2002) is used to solve the nonlinear optimization problem of the
stride walking. The analytical gradients are provided to the optimization solver to
improve its computational efficiency (Xiang et al. 2008). The appropriate normal walking
parameters (velocity and step length) are obtained from biomechanics literature (Inman et
al. 1981). In addition to normal walking, the current work also studies the slow, fast, and
asymmetric walking which addresses a pathological gait.
In solving the gait motion, the parameterized nonlinear optimization is carried out
in SNOPT. There are totally 495 design variables (55 DOFs each with 9 control points)
and 2105 nonlinear constraints. First a simplified optimization problem is solved to
obtain a feasible solution for the walking problem. Here =q 0 is used as the starting
point with ( ) 0F =q as the objective function, and all the constraints are imposed. Then,
the feasible solution is used as the starting point for the optimization problem formulated
with dynamic effort as performance measure. The optimality and feasibility tolerances
are both set to 310−ε = in SNOPT.
111
0 20 40 60 80 100-20
-10
0
10
20
30
Hip
ang
le (d
egre
e)
Percentage of gait cycle
Experiment 95% C.I. Predict
0 10 20 30 40 50 60 70 80 90 100
-10
0
10
20
30
40
50
60
70
80
90
Kne
e an
gle
(deg
ree)
Percentage of gait cycle
Experiment 95% C.I. Predicted
0 20 40 60 80 100
-30
-20
-10
0
10
20
Ank
le a
ngle
(deg
ree)
Percentage of gait cycle
Experiment 95% C.I. Predicted
0 20 40 60 80 100-15
-10
-5
0
5
10
15
Pelv
ic ti
lt (d
egre
e)
Percentage of gait cycle
Experiment 95% C.I. Predicted
0 20 40 60 80 100-20
-10
0
10
20
Pelv
ic ro
tatio
n (d
egre
e)
Percentage of gait cycle
Experiment 95% C.I. Predicted
0 20 40 60 80 100
-50
-40
-30
-20
-10
0
10
20
30
40
50
Pelv
ic d
ispl
acem
ent (
mm
)
Percentage of gait cycle
Experiment 95% C.I. Predicted
Figure 7.5 Comparison of predicted determinants with experimental data
112
The current stride walking formulation is validated with the motion capture data
using six determinants which are defined in the literature to measure forward walking
(Saunders et al., 1953). These determinants measure the lower extremities and pelvic
motion of the human and include hip flexion/extension, knee flexion/extension, ankle
plantar/dorsiflexion, pelvic tilt, pelvic rotation, and lateral pelvic displacement.
The predicted six determinants of normal walking in a complete cycle starting
from left heel strike and ending with the subsequent left heel strike are compared with the
experimental data plotted in Figures 7.5. The procedures about the motion capture
experiment were described in Rahmatalla et al. 2008. In Figure 7.5, the red curves
represent the predicted determinants, the black curves are experimental mean value of
determinants, and the dashed blue curves show 95% confident region of the statistical
means. In general, the predicted walking motion has shown a strong correlation with
experimental data except for the pelvic tilt in a small range of motion. The pelvic rotation
and lateral displacement lie closely to the mean of the experimental data. Major parts of
the hip motion, knee motion, and ankle motion are in the confident region and have the
similar trend with the statistical mean.
7.4 Speed Effect on Walking Motion: Slow Walk and Fast
Walk
To study the speed effect on walking motion, slow and fast walking are simulated
and the corresponding gait parameters are listed in Table 7.2. The assumption here is that
the walking cadence is same while the walking speed is varied.
Table 7.2 Walking parameters
Slow walk Fast walk
Velocity (m/s) 1.0 1.6
Step length (m) 0.5 0.8
113
00.5
11.5
22.5
-0.20
0.2
0
0.5
1
1.5
(a)
00.5
11.5
22.5
33.5
4
-0.200.2
0
0.5
1
1.5
(b)
Figure 7.6 The diagram of optimized walking motion (a) slow walk, (b) fast walk
114
Figure 7.6 shows the resulting stick diagram of a 3D human walking on level
ground with different speed and step length. The continuity condition is satisfied to
generate smooth walking motion where the initial and final postures are also optimized.
Besides the step length and velocity, the walking postural sequences are quite similar for
slow and fast walking in Figure 7.6.
7.4.1 Kinematics
Figure 7.7 Joint angle profiles for slow and fast walks
115
The hip and knee joint profiles are plotted in Figure 7.7. There is significant speed
effect on the maximum flexion and extension hip angles. For the knee joint angle, the
first flexion peak in the stance phase for the fast walking is much larger than that for the
slow walking. However, there is no significant speed effect on the second flexion peak in
the swing phase.
7.4.2 Dynamics
The speed effect on the joint torques and ground reaction forces are presented in
this section. Figure 7.8 depicts torque profiles of the hip, the knee and the ankle during a
full stride motion.
In Figure 7.8, there is significant speed effect for the peaks of the hip flexion and
extension torque, and the peak value increases with the speed. At knee joint, fast walking
has a larger maximum flexion torque than slow walking. But, there is no significant speed
effect on the extension torque in the stance phase. With different walking speeds, the
ankle starts with a similar plantar torque just after heel strike and reverses into a
dorsiflexion torque continuously during stance, and the maximum dorsiflexion torque on
the ankle increases with the speed.
Figure 7.9 shows the ground reaction forces in the predicted walking locomotion.
The vertical GRF has greater peak forces with increasing speed. There are significant
speed effects for the fore-aft GRF which are braking and pushing forces during the
walking motion. For transverse GRF, the lateral forces are quite similar, but different in
medial forces.
116
‐150
‐100
‐50
0
50
100
150
200
0 10 20 30 40 50 60 70 80 90 100Torque
(Nm)
% Gait Cycle
Hip Torque
slow
fast
flexion
extension
‐60
‐40
‐20
0
20
40
60
80
100
120
0 10 20 30 40 50 60 70 80 90 100
Torque
(Nm)
% Gait Cycle
Knee Torque
slow
fast
flexion
extension
‐60
‐40
‐20
0
20
40
60
80
100
120
140
160
0 10 20 30 40 50 60 70 80 90 100
Torque
(Nm)
% Gait Cycle
Ankle Torque
slow
fast
dorsiflexion
plantarflexion
Figure 7.8 Joint torque profiles for slow and fast walks
117
‐0.2
‐0.15
‐0.1
‐0.05
0
0.05
0.1
0.15
0.2
0 10 20 30 40 50 60 70 80 90 100
Fore‐Aft GRF
(bo
dy w
eight)
% Gait Cycle
Fore‐Aft GRF
slow
fast
fore
aft
Figure 7.9 Ground reaction forces for slow and fast walks
118
7.5 Asymmetric Walking
One of the advantages of the stride walking formulation is that asymmetric
walking can be easily simulated in one optimization problem by setting different step
lengths for the right and the left foot, and joint angle limits or torque limits between the
left leg and the right leg. In this study, an asymmetric walking is simulated with the
walking velocity V = 1.2 m/s, the left step length L = 0.6 m and the right step length L =
0.5 m. 3D stick diagram of the walking motion are compared and the asymmetric walking
with a smaller right step length is observed in Figure 7.10 (a). The left knee joint angle
profile, the left knee joint torque profile, and the vertical ground reaction force are
illustrated in Figures 7.11, 7.12 and 7.13 respectively.
00.5
11.5
22.5
-0.20
0.20
0.5
1
1.5
00.5
11.5
22.5
3
-0.20
0.2
0
0.5
1
1.5
(a) (b)
Figure 7.10 Optimized walking motion (a) abnormal walking, (b) normal walking
119
0
10
20
30
40
50
60
0 10 20 30 40 50 60 70 80 90 100
Joint angle (degree)
% Gait Cycle
Knee Profile
normal
abnormal
TO
flexion
FFHS HO HS
Figure 7.11 Left knee joint profile of abnormal walking
‐40
‐20
0
20
40
60
80
100
0 10 20 30 40 50 60 70 80 90 100
Torque
(Nm)
% Gait Cycle
Knee Torque
normal
abnormal
flexion
extension
TOFFHS HO HS
Figure 7.12 Left knee joint torque profiles of abnormal walking
120
‐0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0 10 20 30 40 50 60 70 80 90 100
Vertical G
RF (bo
dy w
eight)
% Gait Cycle
Vertical GRF
normal
abnormal
TOFFHS HO HS
Figure 7.13 Ground reaction forces of abnormal walking
It can be seen that the abnormal knee joint profile has smaller peak values than
the normal walking as shown in Figure 7.11. In addition, the maximum swing angle
appears later in the gait cycle than the normal one. In Figure 7.12, the abnormal walking
has a smaller maximum flexion torque but a larger maximum extension torque at the knee
joint. Figure 7.13 depicts the vertical GRF and the abnormal walking shows a smaller
second peak vertical force. This can be explained as follows: the push-off motion at
termination of the stance phase is limited by the smaller right step length so that the left
leg is unable to fully push the ground. Thus, the proposed algorithm predicts the
abnormal walking motion and some insights on pathological gait are obtained from the
simulation. Many other cases of pathological gait can be easily simulated using the
current formulation, such as locked knee, locked ankle, etc.
121
7.6 Circular Walk
Simulation of walking along a circular path is carried out by using one stride
formulation with three changes in the constraints: (1) foot contacting position, (2)
continuity condition of global translations, and (3) continuity condition of global rotation.
In order to avoid global rotation coupling issue for circular walk, the sequence of global
rotations is reordered as follows: the first global rotation is along the vertical axis (y) as
shown in Figure 7.14 (b), the second is along the forward axis (z), and the third is along
the lateral axis (x).
(a) (b)
Figure 7.14 Reorder the sequence of global rotational DOFs (a) original sequence z4, z5, z6; (b) reordered sequence z4, z5, z6
Figure 7.15 shows the top view of the circular walk with the radius of the circle as
R. Feet are aligned in the tangential direction using step length L and turning angle θ
which is related to the radius R as follows:
2 sin2
R Lθ⎛ ⎞ =⎜ ⎟⎝ ⎠
(7.6.1)
122
The foot contacting positions are then obtained as:
'
'
cos( ) sin( )sin( ) cos( )
x N N xz N N z
θ θ ⎛ ⎞⎛ ⎞ ⎛ ⎞= ⎜ ⎟⎜ ⎟ ⎜ ⎟− θ θ⎝ ⎠ ⎝ ⎠⎝ ⎠
(7.6.2)
where N is the number of steps, 'x is the starting position, x is the final position after
Nθ rotation.
Figure 7.15 Circular walk (top view)
The continuity constraints of global translations on x and z axes are imposed by
using Equation (7.6.2). In addition, the continuity constraint of global rotation along the
vertical axis is expressed as follows:
( ) (0) 2q T q− = θ (7.6.3)
Circular walk is simulated with walking velocity of 1.2 m/s, step length of 0.6 m,
and radius R = 1.918 m. Therefore, 20 steps (10 strides) are needed to complete the entire
circle.
123
Figure 7.16 shows the 3D stick diagram of circular walk. Figure 7.17 depicts the
ground reaction forces and also compared with the ones obtained for the normal straight
walking case.
-3
-2
-1
0
1
2
3
0
0.5
1
1.5
2
2.5
3
3.5
4
0
0.5
1
1.5
2
Figure 7.16 3D diagram of walking along a circle
In Figure 7.17, the peak values of fore-aft GRF of circular walk are smaller than
those for the normal straight walk. However, the lateral-transverse GRF of circular walk
is much larger than that for the normal straight walk. The larger lateral force is required
to provide enough centripetal force for the circular walk.
124
‐0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0 10 20 30 40 50 60 70 80 90 100
Vertical G
RF (bo
dy w
eight)
% Gait Cycle
Vertical GRF
straight
circular
‐0.15
‐0.1
‐0.05
0
0.05
0.1
0.15
0 10 20 30 40 50 60 70 80 90 100
Fore‐Aft GRF
(bo
dy w
eight)
% Gait Cycle
Fore‐Aft GRF
straight
circular
fore
aft
‐0.2
‐0.15
‐0.1
‐0.05
0
0.05
0.1
0 10 20 30 40 50 60 70 80 90 100
Transverse GRF
(bo
dy w
eight)
% Gait Cycle
Transverse GRF
straight
circular
lateral
medial
Figure 7.17 GRF of circular walk
125
7.7 Summary
This chapter presented one-stride walking motion prediction of a 55-DOF digital
human model. The stride walking was treated as a cyclic motion with repeatable initial
and final postures and velocities. The walking problem was formulated as a nonlinear
programming problem and solved using commercial software (SNOPT). Joint profiles
were discretized by cubic B-splines and the corresponding control points were treated as
unknowns in the optimization formulation. The energy related objective function, the
dynamic effort, which is calculated as the integral of squares of all joint torques was
minimized. The walking determinants were obtained to verify the normal walking
motion. The speed effect on the walking motion was studied and reasonable responses
were achieved. The kinetic data such as joint torque and ground reaction forces were also
analyzed. In addition, asymmetric walking motion was simulated and some insights were
obtained. The one-stride walking formulation was also extended to simulate circular walk
and the ground reaction forces were compared with those for normal straight walking
case. Thus, the proposed optimization formulation was found to be quite robust and
accurate to predict both normal and abnormal human walking motions which have
significant clinical applications.
126
CHAPTER 8
DYNAMIC HUMAN WALKING PREDICTION: MINIMUM-TIME
FORMULATION
8.1 Introduction
For the walking motion prediction in Chapters 6 and 7, the walking velocity, step
length, and time duration of each phase are all specified from the literature. However,
these specified input parameters may not be the optimal for a certain set of anthropometry
and strength data. In addition, it is hard to answer how fast a person can walk under
his/her strength condition by using previous formulation in which both the velocity and
step length are specified. This is a critical question in many practical applications
especially for military training tasks. In order to solve these two problems, a new
formulation is introduced in this chapter in which time points are also treated as
unknowns to be optimized along with the motion. Therefore, in the new formulation, time
points are additional design variables and the sensitivity analysis with respect to time
points are needed in the optimization process. In addition, the Jacobin matrix needs to be
extended to include knot vector. By given step length, the new formulation predicts the
velocity and the optimal time duration for each phase. Moreover, different step length
and joint torque limits are used for walking motion prediction to study the cause-and-
effect problem. The effect of walking speed on the time duration of different phases is
also investigated.
8.2 Optimization Formulation
For the minimum-time walking problem, the only user input parameter is the
walking step length (L) which can be obtained from the empirical regression equation in
the literature. The time points are optimized so that the time duration for each phase is the
optimal and the total time (T) is minimized. Thus, the maximum speed is achieved as
/V L T= for the given step length.
127
8.2.1 Design Variables
The design variables are the joint angle profiles ( )tq and discretized time points t
(knots) for the walking motion. The governing differential equations are not integrated;
instead an inverse dynamics procedure is used to calculate the joint torques ( , )τ q t based
on the current joint profiles and knot vector.
8.2.2 Objective Function
From the insights of predictive dynamics in Chapter 4, we know that minimum-
time performance measure cannot predict natural human motion. Therefore, a mixed
performance measure is used in this chapter to study minimum-time problem as follows:
T
0 max max
( , ) ( , )( ) (1 ) , [0,1]T
t
t tJ u u dt u=
⎛ ⎞⎛ ⎞ ⎛ ⎞⎜ ⎟= − + ⋅ ∈⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟τ τ⎝ ⎠ ⎝ ⎠⎝ ⎠∫
τ q τ qq (8.2.1)
where max
τ is the maximum absolute value of joint torque, u is a specified constant and T
is the total travel time. The second term, dynamic effort is related to energy consumption.
When u goes to zero, the mixed performance measure becomes the minimum-time
objective function. This is actually a multi-objective optimization (MOO) problem
(Marler and Arora, 2004) and a priori articulated preference 0.9u = is used in this study.
8.2.3 Constraints
Similar to the one step formulation in Chapter 6, two types of constraints are
considered for the walking optimization problem: one is the time dependent constraint
which includes joint limits, torque limits, ground penetration, dynamic stability, arm-leg
coupling, and self avoidance. The second type is time independent constraint which
comprises symmetry conditions, ground clearance and initial and final foot positions.
Besides these constraints, the time point constraints are also considered for the minimum-
time formulation as follows:
128
1 2 3
1 2
1
0
3 3n n n
i i
t t tt t tt t i n
− −
+
= =⎧⎪ = =⎨⎪ < ≤ ≤ −⎩
=
(8.2.2)
where the cubic b-spline knots have multiplicities at the boundaries and satisfy non-
decreasing condition.
8.2.4 Sensitivities
The sensitivity analysis with respect to knot points (t) should be included in the
formulation. First, the analytical sensitivities /q∂ ∂t , /q∂ ∂t& , /q∂ ∂t&& are calculated in B-
spline module formulated in Chapter 3. Then the derivatives of a torque with respect to
knot points can be computed using the chain rule as:
i i i i
q q qt q t q t q t∂τ ∂τ ∂ ∂τ ∂ ∂τ ∂
= + +∂ ∂ ∂ ∂ ∂ ∂ ∂
& &&
& && (8.2.3)
8.3 Minimum-time Walking Motion Prediction
Minimum-time walking motion is predicted by using the foregoing formulation.
Two different step lengths are tested in the walking motion prediction and the simulation
results are listed in Table 8.1. It can be seen that the larger step length predicts faster
walking.
Table 8.1 Walking motion prediction with different step length
Step length L (m) Minimum-time T (s) Velocity V = L/T (m/s)
0.6 0.404 1.485
0.7 0.382 1.832
The joint torque profiles are plotted in Figure 8.1, and the ground reaction forces
are shown in Figure 8.2.
129
‐150
‐100
‐50
0
50
100
150
0 10 20 30 40 50 60 70 80 90 100Torque
(Nm)
% Gait Cycle
Hip Torque
L = 0.6 m
L = 0.7 m
flexion
extension
‐80
‐60
‐40
‐20
0
20
40
60
80
100
0 10 20 30 40 50 60 70 80 90 100Torque
(Nm)
% Gait Cycle
Knee Torque
L = 0.6 m
L = 0.7 m
flexion
extension
‐60
‐40
‐20
0
20
40
60
80
100
0 10 20 30 40 50 60 70 80 90 100
Torque
(Nm)
% Gait Cycle
Ankle Torque
L = 0.6 m
L = 0.7 m
dorsiflexion
plantarflexion
Figure 8.1 Joint torque profiles with minimum-time formulation
130
‐0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
0 10 20 30 40 50 60 70 80 90 100
Vertical G
RF (bo
dy w
eight)
% Gait Cycle
Vertical GRF
L = 0.6 m
L = 0.7 m
‐0.3
‐0.2
‐0.1
0
0.1
0.2
0.3
0 10 20 30 40 50 60 70 80 90 100
Fore‐Aft GRF
(bo
dy w
eight)
% Gait Cycle
Fore‐Aft GRF
L = 0.6 m
L = 0.7 m
fore
aft
‐0.1
‐0.08
‐0.06
‐0.04
‐0.02
0
0.02
0.04
0.06
0.08
0 10 20 30 40 50 60 70 80 90 100
Transverse GRF
(bo
dy w
eight)
% Gait Cycle
Transverse GRF
L = 0.6 m
L= 0.7 m
lateral
medial
Figure 8.2 Ground reaction forces with minimum-time formulation
131
In Figure 8.1, the larger step length predicts higher walking velocity and larger
hip and knee joint torque values. However, the ankle torque of larger-step-length walking
is smaller than the one of smaller-step-length walking. This may be explained as the
strategy of larger-step-length fast walking in which the people try to use different heel
strike angle to achieve higher efficiency. This results in smaller ankle torque but larger
impact force. Therefore, the fast walking of larger step length has greater ground reaction
forces compared to the fast walking of smaller step length.
The optimal time durations for different phases are also obtained with the
predicted walking motion. The effect of walking speed on the optimal time duration is
depicted as follows:
0
10
20
30
40
50
Double support Rear foot support Fore foot support
Time du
ration
percentage
Specified
L = 0.6 m
L = 0.7 m
Figure 8.3 Percentage of optimal time duration in a step
For the simulated one step walking motion, there are double support and single
support phases. Furthermore, Single support phase consists of rear foot support and fore
foot support. It can be seen that higher walking speed reduces double support time
132
duration and increases the rear foot support time duration. For example, the initial guess
of double support time duration percentage is 10% but the predicted time duration
percentage for the walking motion with step length 0.7 m is 4.76%.
8.4 Minimum-time Walking Motion Prediction with
Reduced Torque Limits
The minimum-time walking motion is simulated with the reduced torque limits in
this section. A simple fatigue model is proposed and the fatigue information is
represented by the sequentially reduced torque limits. Then the maximum speed for
different torque limits is predicted to simulate walking with fatigue.
A numerical example is performed by changing knee torque limits with given step
length L = 0.7 m. The predicted minimum-time and maximum velocity are listed in Table
8.2.
Table 8.2 Walking motion prediction with different knee torque limits
Lower torque limit (Nm) Upper torque limit (Nm) Minimum-time T (s) Velocity V = L/T (m/s)
-259.1 103.2 0.382 1.832
-70.0 50.0 0.451 1.552
It can be seen that the predicted maximum walking velocity is reduced from 1.832
m/s to 1.552 m/s after smaller knee torque limits are implemented. The joint torque
profiles are plotted in Figure 8.4. The predicted knee torque profile has smaller peak
value and different trend at the beginning stage. However, the predicted walking motion
with smaller knee torque limits results in larger ankle and hip torque values. This is
because the weak knee joint is compensated by stronger hip and ankle joints for the
predicted walking motion.
133
‐150
‐100
‐50
0
50
100
150
200
0 10 20 30 40 50 60 70 80 90 100Torque
(Nm)
% Gait Cycle
Hip Torque
Reduced limits
Normal limits
flexion
extension
‐80
‐60
‐40
‐20
0
20
40
60
80
100
0 10 20 30 40 50 60 70 80 90 100Torque
(Nm)
% Gait Cycle
Knee Torque
Reduced limits
Normal limits
flexion
extension
‐60
‐40
‐20
0
20
40
60
80
100
120
0 10 20 30 40 50 60 70 80 90 100
Torque
(Nm)
% Gait Cycle
Ankle Torque
Reduced limits
Normal limits
dorsiflexion
plantarflexion
Figure 8.4 Joint torque profiles with different knee torque limit
134
8.5 Summary
In this chapter, the minimum-time walking problem was described and formulated
as an optimization problem. In the new formulation, the knot vector (time points) and the
control points of joint profiles were treated as unknowns. The corresponding gradients of
knot points were developed in the B-spline module. A mixed performance measure
comprised of total time and dynamic effort with appropriate weight coefficients was
minimized. The nonlinear multi-objective optimization problem was solved by the
commercial optimization software SNOPT. The minimum time was predicted for given
step length, i.e., the fastest walking was predicted under the torque limits. Therefore, the
question of how fast a person can walk was answered by using the minimum-time
walking formulation. In addition, the joint torques and ground reaction forces of
minimum-time walking with different step length were compared and the predicted
kinetic data were interpreted. The effect of walking speed on the time duration of
different phases was investigated which showed that fast walking had less double support
time duration. Moreover, smaller torque limits were implemented in the walking motion
prediction and it indeed reduced the maximum walking velocity. This idea can be used to
propose a fatigue model in the future.
135
CHAPTER 9
CONCLUSIONS AND FUTURE RESEARCH
9.1 Conclusions
In this dissertation, an accurate biomechanical gait model is developed to predict
dynamic spatial human walking motion by using predictive dynamics method. Predictive
dynamics is formulated as an optimization problem by taking appropriate performance
measures and constraints to recover the real motion of a dynamic system. For dynamic
human walking prediction, the cubic B-spline interpolation is used for time discretization
and the well-established robotic formulation of the Denavit-Hartenberg method is used
for kinematics analysis of the mechanical system. Furthermore, the recursive Lagrangian
formulation is used to develop the equations of motion, and is chosen because of its
known computational efficiency. The approach is also suitable for evaluation of the
gradients in closed form that are needed in the optimization process. The energy related
performance measure, which represents the integral of squares of all joint torques, was
minimized. A novel approach was presented to calculate ground reaction forces and ZMP
from equations of motion with analytical gradients using a two step active-passive
algorithm. Three formulations were developed to predict natural human walking motion:
the first was one-step formulation, the second was one-stride formulation, and the third
was minimum-time formulation. Walking determinants were obtained from human
subjects and were used to verify the gait model. The effect of external force, such as
backpacks, on gait motion was studied and reasonable responses were achieved. The
speed effect on the walking motion was also investigated. The kinetic data such as joint
torque and ground reaction forces were analyzed. In addition, asymmetric walking
motion was simulated and some insights were obtained by using one-stride walking
formulation. Furthermore, the current methodology was found to be quite robust due to
the significant role of the analytical gradients which were included in the formulation
136
using recursive Lagrangian dynamics. Finally, the proposed model showed high fidelity
in predicting both kinematics and dynamics of human walking.
9.2 Future Research
Besides the foregoing work, the following issues will be studied in the future.
(1) Anthropometric data
The accuracy of dynamic human walking simulation highly depends on the
accuracy of input anthropometric data. To date, it is still difficult to measure the accurate
moment of inertia and center of gravity of body segment experimentally. It is more
difficult to measure the physical limits such as joint limits and torque limits. For example,
coupling of joint motions is involved in the measurement process, and the torque limits
also relate to joint position and velocity, and so on. Thus, more accurate anthropometric
data are needed for the simulation.
(2) Multi-objective optimization (MOO)
Human motion is governed by multi-objectives in nature. An investigation on
human walking simulation using MOO was carried out in Chapter 8, but it is just a
preliminary research and more performance measures need to be investigated such as
discomfort, stability, and fatigue. In addition, the Pareto optimal surface may need to be
generated to find the true optimal solution. The goal of MOO is to reveal the true
performance measure behind the human motion so that the predictive dynamics can
predict more natural human motion.
(3) Alternative formulations and different discretization methods
The numerical performance of the optimization problem needs to be investigated.
The issues for numerical performance include alternative formulations and different
discretization methods. For alternative formulations, joint angle, velocity, acceleration,
and torque profiles can be treated as design variables simultaneously. Thus, the Jacobin
matrix is a sparse matrix and SNOPT sparse solver can be used to solve the nonlinear
137
optimization problem more efficiently. Alternative discretization methods may be used to
discretize equations of motion such as finite difference and Hermite interpolations.
Therefore, alternative formulations and different discretization modules can be developed
in the predictive dynamics environment to improve the numerical performance.
(4) Musculoskeletal model
The simulation in this study is based on skeletal model in the joint space. The
advantages of skeletal model are its computational efficiency, robustness and stability.
However, it misses the important muscle activity and recruitment information. In addition,
the musculoskeletal model suffers from severe computational burdens for use in the
optimization process. One remedy is to incorporate control method and motion capture to
study muscle activities. The other one is to use a skeletal model integrated muscles only
on particular joint such as knee and spine. Then the predictive dynamics methodologies
developed in this dissertation can be easily used to study muscles of interest only.
138
REFERENCES
[1] Anderson, F.C. and Pandy, M.G. Dynamic optimization of human walking. Journal of Biomechanical Engineering, 123(5):381-390, 2001.
[2] Anderson, K. and Hsu, Y. Analytical fully-recursive sensitivity analysis for multibody dynamic chain systems. Multibody System Dynamics, 8:1-27, 2002.
[3] Armstrong W.M. Recursive solution to the equations of motion of an N-link manipulator. Proceedings of the 5th world congress on theory of machines and mechanisms, 2:1343-1346, 1979.
[4] Ayyappa, E. Normal human locomotion, part 1: basic concepts and terminology. Journal of Prosthetics and Orthotics, 9(1):10-17, 1997.
[5] Bae, D.S. and Haug. E.J. A recursive formulation for constrained mechanical system dynamics: part I. Open loop systems. Mechanics Based Design of Structures and Machines, 15(3):359-382, 1987.
[6] Bae, D.S., Cho, H., Lee, S., and Moon, W. Recursive formulas for design sensitivity analysis of mechanical systems. Computer Methods in Applied Mechanics and Engineering, 190:3865-3879, 2001.
[7] Barthelemy, J.F.M. and Hall, L.E. Automatic differentiation as a tool in engineering design, Structural Optimization, 9:76-82, 1995.
[8] Bessonnet, G. and Lallemand, J.P. Optimal trajectories of robot arms minimizing constrained actuators and traveling time. IEEE International Conference on Robotics and Automation, 1:112-117, 1990.
[9] Chevallereau, C. and Aousin, Y. Optimal reference trajectories for walking and running of a biped robot. Robotica, 19:557-569, 2001.
[10] Choi, M., Lee, J., and Shin, S.Y. Planning Biped Locomotion Using Motion Capture Data and Probabilistic Roadmaps. ACM Transactions on Graphics, 22(2):182–203, April 2003.
[11] Chung, H.J., Xiang Y., Mathai, A., Rahmatalla, S., Kim, J., Marler, T., Beck, S., Yang, J., Arora, J.S., Abdel-Malek, K., and Obuseck, J. A robust formulation for prediction of human running. 2007 Digital Human Modeling for Design and Engineering Symposium, Seattle, Washington, June 16-18, 2007.
[12] Dasgupta, A. and Nakamura, Y. Making feasible walking motion of humanoid robots from human motion capture data. IEEE international Conference on Robotics and Automation, 2:1044-1049, May 1999.
[13] Denavit, J. and Hartenberg, R.S. A kinematic notation for lower-pair mechanisms based on matrices. Journal of Applied Mechanics, 22:215-221, 1955.
[14] Dissanayake, M.W.M.G., Goh, C.J., and Phan-Thien, N. Time-optimal trajectories for robot manipulators. Robotica, 9:131-138, 1991.
139
[15] Eberhard, P. and Bischof, C. Automatic differentiation of numerical integration algorithms. Mathematics of Computation, 68:717-731, 1999.
[16] Eberhard, P. and Schiehlen, W. Computational dynamics of multibody systems: history, formalisms, and applications. Journal of Computational and Nonlinear Dynamics, 1:1-12, 2006.
[17] Featherstone, R. Robot dynamics algorithms, Kluwer, Boston, 1987.
[18] Furukawa, T. Time-subminimal trajectory planning for discrete non-linear systems. Journal of Engineering Optimization, 34:219-243, 2002.
[19] Fu, K.S., Gonzalez, R.C. and Lee, C.S.G. Robotics: control, sensing, vision, and intelligence. McGraw-Hill, 1987.
[20] Gill, P.E., Murray, W., and Saunders, M.A. SNOPT: An SQP algorithm for large-scale constrained optimization. SIAM Journal on Optimization, 12:979-1006, 2002.
[21] Gowami, A. Postural stability of biped robots and the foot rotation indicator point. International Journal of Robotics Research, 18(6):523-533, 1999.
[22] Hollerbach, J.M. A recursive Lagrangian formulation of manipulator dynamics and a comparative study of dynamics formulation complexity. IEEE Transactions on Systems, Man, and Cybernetics, 11(10):730-736, 1980.
[23] Hsieh, C.C and Arora, J.S. Design sensitivity analysis and optimization of dynamic response. Computer Methods in Applied Mechanics and Engineering, 43(2):195-219, 1984.
[24] Huang, Q., Yokoi, K., Kajita, S., Kaneko, K., Arai, H., Koyachi, N. and Tanie, K. Planning walking patterns for a biped robot. IEEE transactions on robotics and automation, 17:280-289, 2001.
[25] Inman, V.T., Ralston, R.J. and Todd, F. Human walking. Baltimore, MD: Wilkins & Wilkins; 1981.
[26] Kajita, S., Kanehiro, F., Kaneko, K., Fujiwara, K., Harada, K., Yokoi, K., and Hirukawa, H. Biped walking pattern generation by using preview control of zero-moment point. Proceedings of the IEEE international Conference on Robotics and Automation, pages 1620-1626, Taipei, Taiwan, 2003.
[27] Kim H.J., Horn E., Arora J.S. and Abdel-Malek K. An optimization-based methodology to predict digital human gait motion, 2005 Digital Human Modeling for Deisgn and Engineering Symposium, Iowa City, Iowa, June 14-16, 2005.
[28] Kim, H.J., Wang, Q., Rahmatalla, S., Swan, C.C., Arora, J.S., Abdel-Malek, K. and Assouline, J.G., Dynamic motion planning of 3D human locomotion using gradient-based optimization. International Journal of Biomechanical Engineering, 2008 (in press).
[29] Kim, J.G., Baek, J.H., and Park, F.C. Newton-type algorithms for robot motion optimization. Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems, 3:1842-1847, 1999.
140
[30] Laumond, P.J. A motion capture-based control-space approach for walking mannequins. Computer Animation & Virtual Worlds, 17(2):109-126, May 2006.
[31] Lo, J., Huang, G., and Metaxas, D. Human motion planning based on recursive dynamics and optimal control techniques. Multibody System Dynamics, 8(4):433-458, 2002.
[32] Luh, J., Walker, M., and Paul, R. On-line computational scheme for mechanical manipulators. ASME Journal of Dynamic Systems, Measurement, and Control, 102(2):69-76, 1980.
[33] Marler, R.T. and Arora, J.S. Survey of multi-objective optimization methods for engineering. Structural and Multidisciplinary Optimization, 26:369-395, 2004.
[34] Mu, XP. and Wu, Q. Synthesis of a complete sagittal gait cycle for a five-link biped robot. Robotica, 21:581-587, 2003.
[35] Orin, D., McGhee, R., Vukobratovic, M., and Hartoch, G. Kinematic and kinetic analysis of open-chain linkages utilizing Newton-Euler methods. Mathematical Biosciences, 43(1-2):107-130, 1979.
[36] Park, F.C., Bobrow, J.E., and Ploen, S.R. A lie group formulation of robot dynamics. The International Journal of Robotics Research, 14(6):609-618, 1995.
[37] Park, J. and Kim, K. Biped robot walking using gravity-compensated inverted pendulum mode and computed torque control. IEEE International Conference on Robotics and Automation, 4:3528-3533, 1998.
[38] Rahmatalla, S., Xiang, Y., Smith, R., Li, J., Muesch, J., Bhatt, R., Swan, C., Arora, J.S. and Abdel-Malek, K. A validation protocol for predictive human locomotion. 2008 Digital Human Modeling for Deisgn and Engineering Symposium, Pittsburgh, Pennsylvania, June 17-19, 2008.
[39] Rein, U. Efficient object-oriented programming of multibody dynamics formalisms. Computational Dynamics in Multibody Systems, pages 37-47. Dordrecht, Netherlands, Kluwer Academic Publishers, 1995.
[40] Rodríguez, J.I., Jiménez, J.M., Funes, F.J., and Jalón, J.G.D. Recursive and residual algorithms for the efficient numerical integration of multi-body systems. Multibody Systems Dynamics, 11:295-320, 2004.
[41] Saidouni, T. and Bessonnet, G. Generating globally optimized sagittal gait cycles of a biped robot. Robotica, 21(2):199-210, 2003.
[42] Sardain, P. and Bessonnet, G. Forces acting on a biped robot. Center of pressure - zero moment point. IEEE Transactions on systems, man and cybernetics- Part A: Systems and Humans, 34(5):630-637, 2004.
[43] Saunders J.B., Inman V.T., Eberhart H.D. The major determinants in normal and pathological gait. The Journal of Bone and Joint Surgery, 35(A):543-58, 1953.
[44] Schiehlen, W. Multibody system dynamics: roots and perspectives. Multibody System Dynamics, 1:149-188, 1997.
141
[45] Serban, R. and Haug, E.J. Kinematic and kinetic derivatives in multibody system analysis. Mechanics Based Design of Structures and Machines, 26(2):145-173, 1998.
[46] Snyman, J.A. and Berner, D.F. A mathematical optimization methodology for the optimal design of a planar robotic manipulator. International Journal for Numerical Methods in Engineering, 44:535-550, 1999.
[47] Sohl, G.A. and Bobrow, J.E. A recursive multibody dynamics and sensitivity algorithm for branched kinematic chains. ASME Journal of Dynamic Systems, Measurement, and Control, 123:391-399, 2001.
[48] Stansfield, B.W., Hillman, S.J., Hazlewood, M.E. and Robb, J.E. Regression analysis of gait parameters with speed in normal children walking at self-selected speeds. Gait and Posture, 23:288-294, 2006.
[49] Toogood, R.W. Efficient robot inverse and direct dynamics algorithms using micro-computer based symbolic generation. Proceedings of IEEE International Conference on Robotics and Automation, 3:1827-1832, 1989.
[50] Uicker, J.J. On the dynamic analysis of spatial linkages using 4μ4 matrices. Ph.D. thesis, Northwestern University, 1965.
[51] Vukobratović, M. and Borovac, B. Zero-moment point – thirty five years of its life. International Journal of Humanoid Robotics, 1(1):157-173, 2004.
[52] Wang, Q., Xiang, Y., Arora, J.S., and Abdel-Malek, K. Alternative formulations for optimization-based human gait planning, 48th AIAA/ASME/ASCE/AHS/ASC Structures, Structural Dynamics and Materials Conference, Honolulu, Hawaii, April 23-26, 2007.
[53] Xiang, Y., Chung, H. J., Mathai, A., Rahmatalla, S., Kim, J., Marler, T., Beck, S., Yang, J., Arora, J. S., Abdel-Malek, K., and Obuseck, J. Optimization-based dynamic human walking prediction, 2007 Digital Human Modeling for Design and Engineering Symposium, Seattle, Washington, June 11-14, 2007.
[54] Xiang, Y., Arora, J.S., and Abdel-Malek, K. Optimization-based motion prediction of mechanical systems: sensitivity analysis. Structural and Multidisciplinary Optimization, 2008 (in press).
[55] Yamaguchi, J., Soga, E., Inoue, S. and Takanishi, A. Development of a bipdal humanoid robot control method of whole body cooperative dynamic biped walking. IEEE International Conference on Robotics and Automation, 1:368-374, 1999.