determining subject-specific whole body center of … · determining subject-specific whole body...
TRANSCRIPT
DETERMINING SUBJECT-SPECIFIC WHOLE BODY CENTER OF MASS USING
COMMERCIAL OFF-THE-SHELF DEVICES
by
Vaqas Arshad
July 2015
A thesis submitted to the
Faculty of the Graduate School of
the University at Buffalo, State University of New York
in partial fulfilment of the requirements for the
degree of
Master of Science
Department of Mechanical and Aerospace Engineering
ii
Dedicated To
My parents and my two sisters for their unconditional love, support and prayers. Everything that
I have achieved in life, I could never have done it without you.
iii
ACKNOWLEDGEMENTS
First and foremost, I would like to thank Dr. Venkat Krovi for his support, encouragement
and kind guidance that he always extended towards me. I would also like to thank Dr. Manoranjan
Majji and Dr. Rahul Rai for kindly serving as my committee members. I would also like to thank
in particular Dr. Alejandro Gonzalez who most patiently and graciously answered all my queries
all the away over from France. I would also like to thank all ARMLAB members, in particular Ali,
Mark, Mike, Olivia, Yin Chi and Yi Jui, for their support and good company. Finally, I am thankful
to the Fulbright Program and the Institute of International Education for giving me this invaluable
opportunity to study and work at the University at Buffalo.
iv
CONTENTS
Dedicated To ................................................................................................................................................. ii
ACKNOWLEDGEMENTS ......................................................................................................................... iii
LIST OF FIGURES ..................................................................................................................................... vi
LIST OF TABLES ..................................................................................................................................... viii
ABSTRACT ................................................................................................................................................. ix
1 INTRODUCTION ................................................................................................................................ 1
1.1 RISING ELDERLY POPULATION ................................................................................................ 1
1.2 BALANCE CONTROL AND STABILITY ..................................................................................... 2
1.3 CENTER OF MASS, CENTER OF PRESSURE AND ZERO MOMENT POINT ........................ 4
1.4 COM ESTIMATION METHODS .................................................................................................... 5
1.5 THESIS ORGANIZATION ............................................................................................................ 10
2 MATHEMATICAL BACKGROUND ............................................................................................... 11
2.1 HOMOGENEOUS TRANSFORMATION .................................................................................... 11
2.2 PSEUDO-INVERSE ....................................................................................................................... 12
2.3 THE STATICALLY EQUIVALENT SERIAL CHAIN ................................................................ 13
2.4 MODELING OF THE SESC .......................................................................................................... 14
2.5 APPLICATION TO HUMAN SUBJECTS .................................................................................... 18
2.5.1 Constructing the human body’s SESC from CoM Data ............................................................. 18
2.5.2 Constructing the human body’s SESC from Partial CoM Data .................................................. 20
3 EXPERIMENTAL SETUP ................................................................................................................. 23
3.1 MICROSOFT KINECT .................................................................................................................. 23
3.2 NINTENDO WII ............................................................................................................................ 26
3.3 EXPERIMENTAL PROTOCOLS .................................................................................................. 27
3.4 HUMAN BODY'S SESC FOR COM ESTIMATION IN DIFFERENT PLANES ........................ 31
3.5 VALIDATION OF THE METHOD ............................................................................................... 32
4 COM ESTIMATION IN THE SAGITTAL PLANE .......................................................................... 35
4.1 CONSTRUCTION OF THE SESC ................................................................................................ 35
4.2 COM HORIZONTAL COMPONENTS ......................................................................................... 39
4.3 DATA SELECTION ....................................................................................................................... 39
4.4 NUMBER OF POSES REQUIRED FOR IDENTIFICATION/CALIBRATION ......................... 40
4.5 QUALITY OF THE IDENTIFICATION PROCESS ..................................................................... 40
v
4.5.1 Condition Number of the Matrix D ............................................................................................. 40
4.5.2 Rank of the Matrix D .................................................................................................................. 41
4.6 POSES USED FOR IDENTIFICATION ....................................................................................... 42
4.7 DATA ACQUISITION AND FILTERING.................................................................................... 43
4.7.1 Butterworth Filter ........................................................................................................................ 44
4.8 CALCULATION OF JOINT VALUES ......................................................................................... 50
4.9 VALIDATION OF STATIC POSTURE ........................................................................................ 51
4.10 EXPERIMENTAL DATA .............................................................................................................. 53
5 COM ESTIMATION IN THE FRONTAL PLANE ........................................................................... 57
5.1 CONSTRUCTION OF THE SESC ................................................................................................ 57
5.2 COM HORIZONTAL COMPONENTS ......................................................................................... 58
5.3 NUMBER OF POSES REQUIRED FOR IDENTIFICATION/CALIBRATION ......................... 58
5.4 POSES USED FOR IDENTIFICATION ....................................................................................... 59
5.5 DATA ACQUISITION AND FILTERING.................................................................................... 59
5.6 CALCULATION OF JOINT VALUES ......................................................................................... 60
5.7 VALIDATION OF STATIC POSTURE ........................................................................................ 60
5.8 EXPERIMENTAL DATA .............................................................................................................. 61
6 COM ESTIMATION IN THREE DIMENSIONS ............................................................................. 66
6.1 CONSTRUCTION OF THE SESC ................................................................................................ 66
6.2 COM HORIZONTAL COMPONENTS ......................................................................................... 67
6.3 NUMBER OF POSES REQUIRED FOR IDENTIFICATION/CALIBRATION ......................... 67
6.4 POSES USED FOR IDENTIFICATION ....................................................................................... 68
6.5 DATA ACQUISITION AND FILTERING.................................................................................... 69
6.6 CALCULATION OF JOINT VALUES ......................................................................................... 70
6.7 VALIDATION OF STATIC POSTURE ........................................................................................ 70
6.8 EXPERIMENTAL DATA .............................................................................................................. 71
6.8.1 Validation on subject with symmetric mass distribution ............................................................ 71
6.8.2 Validation on subject with asymmetric mass distribution .......................................................... 75
7 CONCLUSION AND FUTURE WORK............................................................................................ 81
REFERENCES ........................................................................................................................................... 83
vi
LIST OF FIGURES
Figure 1 – CoM of a baseball bat [23] .......................................................................................................... 4
Figure 2 – CoM ground projection and support polygon [18] ...................................................................... 6
Figure 3 – Definitions of human body segments [33]................................................................................... 7
Figure 4 – Mechanical parameters of the human body [33] ......................................................................... 8
Figure 5 - Homogeneous Transformation ................................................................................................... 11
Figure 6 – Kinematic and static parameters of a spatial multilink chain [7] .............................................. 15
Figure 7 – SESC for the spatial system [7] ................................................................................................. 15
Figure 8 – Visualization of a link structure’s SESC [51]............................................................................ 22
Figure 9 – Microsoft Kinect for Windows v1 sensor [55] .......................................................................... 24
Figure 10 – Joints tracked by a Kinect for Windows v1 sensor [56] .......................................................... 25
Figure 11 – Top surface of a Wii balance board [58] ................................................................................. 26
Figure 12 – Bottom surface of a Wii balance board [58] ............................................................................ 27
Figure 13 – Coordinate system of a Kinect sensor [65] .............................................................................. 29
Figure 14 – Wii balance board reference frame .......................................................................................... 30
Figure 15 – Translating the CoP from the Wii’s frame to the human’s frame [7] ...................................... 30
Figure 16 – Sagittal and frontal planes of the user [67] .............................................................................. 32
Figure 17 – Flow diagram of CoM estimation process ............................................................................... 33
Figure 18 – Flow diagram for experimental part of thesis .......................................................................... 34
Figure 19 – The human body realized as a 3-DOF model for the sagittal plane study ............................... 35
Figure 20 – CoM of each link in the sagittal plane study ........................................................................... 37
Figure 21 – Coordinate frames attached to each joint for the 3 DOF model .............................................. 38
Figure 22 – Identification Poses Used [19] ................................................................................................. 42
Figure 23 – Hypothetical frequency spectrum of a waveform consisting of a desired signal and unwanted
higher frequency noise [33] ........................................................................................................................ 44
Figure 24 – Response of low pass filter X0(f)/Xi(f) introduced to attenuate the noise [33] ........................ 45
Figure 25 – Response of an ideal filter [71] ................................................................................................ 45
Figure 26 – Spectrum of the output waveform, obtained by multiplying the amplitude of the input by the
filter response at each frequency [33] ......................................................................................................... 46
Figure 27 – Difference between a zero-phase filter and a filter that introduces a phase in the output [71] 47
Figure 28 – A high cutoff frequency results in almost no noise attenuation while a very low cutoff
frequency results in a drastic attenuation of the noise signal ...................................................................... 47
Figure 29 – Determining the best cutoff frequency from a plot of mean residual amplitudes vs. cutoff
frequencies .................................................................................................................................................. 49
Figure 30 – Calculating joint angle from joint positions returned by the Kinect ........................................ 51
Figure 31 – CoP variation while the user performs and maintains a pose for five seconds. The blue box
indicates the 500 millisecond window in which the standard deviation of the CoP values recorded is less
than 1 millimeter. ........................................................................................................................................ 52
Figure 32 – MATLAB GUI for the project ................................................................................................. 53
Figure 33 – Kinect skeleton tracking is distorted for the pose .................................................................... 55
vii
Figure 34 – Kinect skeleton tracking is distorted when the user is not facing the user .............................. 56
Figure 35 – The 5-DOF model of the human body used for the frontal plane study .................................. 57
Figure 36 – Identification poses used for the frontal plane study ............................................................... 59
Figure 37 – Coordinate frame attached to the ankle joint ........................................................................... 60
Figure 38 – Comparison of CoM determined using the SESC with the CoP and AT values ..................... 64
Figure 39 – The model of the human body used for developing the 3D SESC .......................................... 66
Figure 40 – Identification poses used for the 3D CoM estimation ............................................................. 69
Figure 41 – Comparison of the CoM x-component estimated using SESC method with CoP and AT
values .......................................................................................................................................................... 73
Figure 42 – Comparison of the CoM z-component estimated using SESC method with CoP and AT
values .......................................................................................................................................................... 74
Figure 43 – Comparison of the CoM x-component estimated using SESC method with CoP and AT
values .......................................................................................................................................................... 78
Figure 44 – Comparison of the CoM z-component estimated using SESC method with CoP and AT
values .......................................................................................................................................................... 78
Figure 45 – Comparison of the SESC/CoP and AT/CoP rms errors in the frontal plane ........................... 80
Figure 46 – Comparison of the SESC/CoP and AT/CoP rms errors in the sagittal plane........................... 80
Figure 47 – Kinect skeleton is distorted for some poses ............................................................................. 82
viii
LIST OF TABLES
Table 1 – Subject Characteristics ................................................................................................................ 34
Table 2 – Mechanical Parameters for the Classical CoM Estimation [33] ................................................. 36
Table 3 – Identification Data Collected ...................................................................................................... 53
Table 4 – Subject SESC parameters ........................................................................................................... 54
Table 5 – Comparison of CoM values with CoP values ............................................................................. 55
Table 6 – Subject CoP values recorded during identification ..................................................................... 61
Table 7 – Subject SESC parameters ........................................................................................................... 62
Table 8 – Comparison of the horizontal projections of the calculated CoM and CoP ................................ 63
Table 9 – Comparison of CoM vertical values against AT calculated values ............................................ 65
Table 10 – Comparison of CoM (SESC), CoP and CoM (AT) values ....................................................... 72
Table 11 – RMS errors ................................................................................................................................ 74
Table 12 – Comparison of CoM (SESC) vertical values with AT values................................................... 75
Table 13 – Comparison of CoM (SESC), CoP and CoM (AT) values ....................................................... 77
Table 14 – RMS errors ................................................................................................................................ 79
Table 15 – Comparison of CoM vertical values ......................................................................................... 80
ix
ABSTRACT
The center of mass (CoM) trajectory is an important metric used to analyze the stability of
humanoid robots as well as humans in activities such as walking, stretching, bending or standing.
Popular classical methods of CoM estimation make use of anthropometric tables for developing a
biomechanical model of the human subject, which can introduce large errors if the subject’s body
parameters do not match those of the experimental subjects used for developing the tables. This is
true especially in the case of elderly subjects, amputees and obese subjects whose bodies do not
have a uniform mass distribution. More modern methods have been developed which make use of
the center of pressure (CoP) data of the user to calculate the CoM, but these require implementation
within a controlled environment, laboratory-grade equipment and the user to remain on force plates
all the time.
In recent times, significant research interest has been targeted towards the realm of physical
rehabilitation using commercial off-the-shelf gaming devices like the Microsoft Kinect and
Nintendo Wii and exercise games (also known as exergames). Such devices have been posited and
proposed as viable and reasonably accurate alternatives to laboratory-grade motion capture
systems and force plates which are cost-effective as well as portable. This thesis presents and
validates research into a method for determining a human subject’s 3D CoM developed with two
commercial off-the-shelf products: Kinect sensor and Wii balance board.
The method that is employed is known as the Statically Equivalent Serial Chain (SESC)
approach. In this approach, any system of rigid bodies that are connected in a tree or linear
arrangement can be realized as a linear chain, the end-point location of which is the same as the
original structure’s CoM. Hence, the CoM position of the original structure can be estimated if we
x
can calculate the location of the modified and simpler linear chain’s end-point. The configuration
of this new linear chain, or the SESC, is a function of the original chain’s joint values, link masses,
locations of the link masses and the distances between the joints. The advantage of using this
method for CoM estimation of a human being is that the SESC can be developed without any
knowledge of the individual’s limb masses, locations of limb masses and limb lengths.
Furthermore, the method is subject specific that takes into account the distribution of masses in
the subject’s body. Hence, it is not prone to the errors that are inherent in the classical CoM
estimation methods.
The implementation of the method in this work involves two steps. The first step is a
calibration or identification phase in which the subject-specific SESC is designed through
stereophotogrammetric and dynamometric data taken from a selected number of poses. For this
purpose, the Kinect is used as a markerless motion capture system for calculating the user’s limb
orientations (joint values) and the Wii balance board is used for calculating the CoP locations for
a set number of identification poses. The second phase is the actual implementation or utilization
phase in which the person’s CoM can be determined for any posture using only the kinematic data.
The method was experimentally validated on a subject. The system developed offers the
advantages of low-cost and portability, which remove the constraint of laboratory environment
required for implementation and make it suitable for in-home rehabilitation exercises.
Furthermore, it can be calibrated for users of any age, height, weight and body parameters.
1
1 INTRODUCTION
Accurate location of the center of mass and the study of its time history have played a very
significant role in the study of balance of both humans and humanoids. In humanoid robots, control
of the robot’s center of mass renders significant aid in maintaining static balance [1]. For human
beings, balance is very closely related to the center of mass’s position and velocity [2]. Besides
the importance of the center of mass in balance studies, it is also an important parameter in human
postural control systems [3] and rehabilitation programs [4], and in describing gaits [5].
Traditionally, in both robotics and biomechanical systems, the estimation of the center of
mass (and its time trajectory) has relied on laboratory grade high-end sensors which are expensive
and require a large set-up time. In order to make center of mass estimation systems portable so
they can be employed in clinical settings as well as in home environments, it is important to make
use of devices that are inexpensive and easy to set up.
1.1 RISING ELDERLY POPULATION
It has been projected that the world’s older population is continuously on the rise. This is
particularly due to the fact that life expectancy is increasing and birth rate is declining, especially
in the developed countries. If this projection is fulfilled, there will be an estimated 392 million
people of the age 80 years or older by the year 2050, while the average life expectancy will become
83 years for the developed countries and 75 years for developing countries [6].
One conclusion that has been drawn from the prognosis of this projection is that there is a
need for more readily available and low-cost rehabilitation programs for the elderly population
2
which is more prone to diseases and ailments that put the patient in a debilitated state for prolonged
periods of time.
The ability to maintain balance while standing is a vital requirement for performing daily
activities and for independent functioning and living [7]. However, it can be quite challenging for
elderly people as the human body undergoes many transformations with age: reaction time
increases, visual and sensory feedback deteriorates and muscle properties undergo modifications
[8-10].
About thirty percent of people over the age of 65 become victims of fall accidents at least
once in a year, and this proportion rises with age [11-13]. Fall-related injuries range from medium
to severe, such as hip fractures, joint dislocations and head trauma, and can even lead to an early
death [14]. Out of all severe injuries that result from falls among the elderly population, nearly
forty percent lead to hospitalization, after which about 30-40% of the patients are transferred to a
nursing home [15]. Besides having physical consequences on the individual’s body, falls also have
a psychological effect: the fear of falling can lead to a deterioration in the quality of life because
the individual does not feel it is safe to perform some activities on their own [16, 17]. Fortunately,
however, falls are a problem that is preventable to a large extent [14].
1.2 BALANCE CONTROL AND STABILITY
If we consider humanoid robots, they can be modeled as several robotic manipulators
combined together at the torso [18]. In order to obtain a stable posture or gait in humanoid robots,
i.e. to obtain static or dynamic stability, their center of mass is controlled to create a suitable center
of pressure or zero moment point trajectory [19]. Similarly for humans, a crucial metric for
assessing a person’s stability is tracking their center of mass while they are motionless or
3
ambulating. This can be used to assess their progress in a balance training program or as the
foundation of a fall-prevention or fall-reporting system for domestic helpers or doctors. The center
of mass’s estimation is important in not only the fields of life sciences and health but also robotics
where it is used to assess the stability of biped machines as explained before. Studying the center
of mass is also important while carrying out posture and gait analysis [20].
The term activities of daily living (ADL) is used to refer to basic activities that an
individual performs every day, such as walking, eating, showering, sit-to-stand motion, etc. From
the fact that the elderly population is on the rise, we can also conclude that the number of people
who need assistance with ADL rendered by domestic staff, physicians, rehabilitative/assistive
devices, etc. is also rising.
The general techniques used to assess a person’s health such as diagnosing their symptoms
for an ailment or disability offer only a partial indication of their functional independence and
capacities [21]. And so, over the years, several methods have been developed to measure the
functional capabilities and independence of a person by studying their ADL. The assessment of
ADL is a critical metric to evaluating a person’s motor function and consequently it can also serve
as a factor that determines, in part, if a person requires medical attention and/or assistance imparted
by a nursing home, a hospital, a rehabilitation program, use of an assistive/rehabilitative device,
etc.
My goal in this study was to develop a home-based balance assessment program of a
person, i.e. to develop a system to track their center of mass, as a part of one of this lab’s larger
frameworks developed: the Cyber Physical System for home-based rehabilitation [22]. The
Microsoft Kinect and Nintendo Wii which were developed basically for virtual reality gaming
4
were not originally intended for a task such as this. My aim was to determine if these noisy,
inexpensive tools can be used for home-based rehabilitation with sufficient accuracy.
1.3 CENTER OF MASS, CENTER OF PRESSURE AND ZERO
MOMENT POINT
That point in a body where all of the mass of the body is assumed to be concentrated is
known as the center of mass (CoM). For a uniform solid body that has a symmetric shape, the
CoM is the geometric center of the body. For example, the center of mass of a billiard ball is at its
center. When a body is supported at its CoM, it is in static equilibrium i.e. there is no net torque
acting on it. For example, it is possible to balance a uniform rigid pole in the air using your finger
when your finger is underneath the CoM of the pole, i.e. at the exact geometric center, mid-way
along its length.
Figure 1 – CoM of a baseball bat [23]
5
It is important to know that it is not necessary for the CoM of a body or a system of bodies
to lie within the body or the system. For a single body such as a doughnut, the CoM lies in the
center of its hole. For a collection of bodies, the CoM location depends on the CoM locations of
all individual bodies that make up the structure. The CoM location of a 3R manipulator, for
example, is always changing with change in joint values.
From a biomechanics point of view, the center of pressure (CoP) is the point of application
of the ground reaction forces acting on the body when the body is in contact with the ground. The
CoP is always bounded within the confines of the body’s support polygon [18].
The concept of zero moment point (ZMP) was introduced by Mimior Vukobratovic [24].
The ZMP is defined as the point on the ground where the inertial and gravity moments cancel out,
resulting in a net zero moment. It is an important motion planning concept for biped robots [25].
1.4 COM ESTIMATION METHODS
It is known that static stability is achieved by the human body by maintaining the CoM’s
projection on the ground inside the body’s support polygon [19], i.e. to avoid falling during
unsupported standing, a human’s CoM ground projections should lie within the area delimited by
their feet [26]. The same is true for humanoid robots [18]. For dynamic balance, it is the ZMP that
must remain within the support polygon [18].
6
Figure 2 – CoM ground projection and support polygon [18]
The CoP estimation is not a very complex process as it can be done using the measured
ground reaction forces [27]. Estimating the CoM, however, can be complex since it involves either
segmentation of the body and estimation of the limb weight and composition, or integrating the
motion data [28, 29].
Over the years, several methods have been devised for evaluating the CoM of an articulated
multibody system, particularly when the system is in motion. The most widely used is the
segmental method, also known as the kinematic method, which is based on the very definition of
CoM: the weighted average position of body segments [30]. This method requires the full
kinematics description of markers attached to bony landmarks of the subject’s limbs [31]. It then
estimates the position of the CoM of the subject using a kinematic model of the subject associated
with anthropometric data which is obtained from anthropometric tables (AT). This AT data is
obtained from test specimens (which include living subjects and/or cadavers). Examples of such
7
AT that have been published are the ones by De Leva [32], Winter [33] and Zatsiorsky [34]. To
determine the CoM of a subject using the tables published by [33], for example, the height and
weight of the subject are measured. Then, the length and CoM of each limb can be calculated using
the formulas provided in the table. The CoM of the subject is then calculated as the weighted
average position of the body masses.
Figure 3 – Definitions of human body segments [33]
8
While these works have been of immense importance in biomechanics for their study of
the dynamics of the human body, they account for variations in body parameters due to differences
in different body-builds within a small category of subjects [20] and this is their main
Figure 4 – Mechanical parameters of the human body [33]
9
disadvantage: they provide body parameters for only a certain type of population. For example,
Zatsiorsky and Seluyanov cover only healthy, young and adult Caucasians in their work [34].
Hence, a potential disadvantage of using this method is that if the subject under study and the test
subject for the anthropometric data from the table have a mismatch in body parameters, large
estimation errors in the CoM can occur [20]. Upon identification of this potential drawback,
several authors have tried to expand the anthropometric data to make them applicable to a more
diverse pool of subjects, such as specific ethnic groups and infants [7].
The method of using AT is also prone to errors when the subject under study has a body
that has an irregular distribution of the body mass, such as in elderly and obese people or in subjects
who suffer muscle atrophy due to paralysis. Studies have shown that this method may not be
suitable for these subjects in such a case [35, 36].
Medical imaging techniques can be used to improve the AT estimates [26]. This, however,
increases the cost and complexity of the process [28]. This was implemented in [37] where a high-
end motion capture system and a force plate was used to calculate the inertial parameters of the
body segments and the subject-specific mass.
To avoid the errors associated with the method of using AT, a different approach was used
in [38] where the authors developed a relationship between the CoM and CoP in the frequency
domain, but it is a relationship that is best suited to addressing periodic motions [1, 39]. Based on
Shimba’s work [40] who developed a method of determining the center of gravity from force
platform data, King and Zatsiorsky [41] also developed a method whereby the CoM location of a
subject was estimated using a double integration of the horizontal ground reaction forces. Even
though the methods gave very accurate results, they were essentially laboratory-based and
10
restricted the subject to stay on force plates while providing only a horizontal estimate of the CoM
[18, 34, 42].
With the goal of coming up with a method to determine a subject-specific CoM, different
authors [2, 18] proposed and implemented the Statically Equivalent Serial Chain method based on
the work of Espiau and Boulic [20]. It is these works which have been reported on and
experimentally validated in this thesis.
1.5 THESIS ORGANIZATION
The following part of this thesis is organized as follows:
In Chapter 2, the Statically Equivalent Serial Chain method is introduced and explained,
which is the method employed in this study of CoM estimation. The derivation of the Statically
Equivalent Serial Chain is also presented for an articulated multi-body system, along with the
method of constructing a human body’s SESC with complete or partial CoM data.
Chapter 3 introduces the hardware that was employed in this study and explains their
features. It then explains the three stages in which this thesis research was carried out. Chapters 4,
5 and 6 then explain the respective stages in detail with discussions on the experimental findings.
The results of the human’s CoM obtained via the Statically Equivalent Serial Chain method are
also compared with the results of CoM estimation using AT. Chapter 7 provides the conclusions
drawn from this thesis and future work.
11
2 MATHEMATICAL BACKGROUND
2.1 HOMOGENEOUS TRANSFORMATION
Suppose we have two Cartesian coordinate frames, i-1 and i as shown below.
The homogenous transform, or transformation matrix, which relates the coordinate frame
i to i-1 is given by:
Ti = [𝐑𝑖 𝑑𝑖⃗⃗ ⃗
𝟎 1] (2.1)
Here, Ri is the 3-by-3 rotation matrix that describes the orientation of the frame i with respect to
the base frame i-1, 𝑑𝑖⃗⃗ ⃗ is the 3-by-1 displacement vector and 0 is a 1-by-3 matrix of zeros.
For planar systems in which the angle of rotation of frame i with respect to the frame i-1
is 𝜃, the rotation matrix is given by:
z
x
y
x
y
z
𝑑 𝑖
Oi-1
Oi
Figure 5 - Homogeneous Transformation
12
𝐑𝑖 = [cos 𝜃 − sin 𝜃sin 𝜃 cos 𝜃
] (2.2)
In space, there are three rotations about the three orthogonal axes. Hence, we have one
rotation matrix for the rotation about each axis:
𝐑𝑖,𝑥 = [1 0 00 cos 𝜃 − sin 𝜃0 sin 𝜃 cos 𝜃
] (2.3)
𝐑𝑖,𝑦 = [cos 𝜃 0 sin 𝜃0 1 0
− sin 𝜃 0 cos 𝜃] (2.4)
𝐑𝑖,𝑧 = [cos 𝜃 − sin 𝜃 0sin 𝜃 cos 𝜃 00 0 1
] (2.5)
2.2 PSEUDO-INVERSE
Suppose we have a matrix A of size m-by-n. Since inverses exist for only square matrices,
an inverse cannot be computed for this matrix. However, a pseudo-inverse which is an inverse-
like object can be obtained.
A pseudo-inverse is a matrix inverse-like object that may be defined for a complex matrix,
even if it is not necessarily square [43]. For any given complex matrix, many approximations to
the pseudo-inverse exist. The most commonly encountered pseudo-inverse is the Moore-Penrose
matrix inverse [44-46] which is used to calculate a least squares solution to a system of linear
equations. Hence, for a matrix A of size m-by-n, the Moore-Penrose pseudo-inverse is a unique
matrix of size n-by-m. It is this type of pseudo-inverse that we shall use in this study.
13
2.3 THE STATICALLY EQUIVALENT SERIAL CHAIN
As opposed to the CoM calculation approaches mentioned in the last chapter, the Statically
Equivalent Serial Chain method that will be used in this thesis uses a preliminary experiment to
develop an equivalent model of the articulated multibody system, thereby making it a subject-
specific method for CoM estimation. This subject model is then updated as the system moves and
new joint values are obtained to determine the CoM of the particular configuration, i.e. link
orientation. This method was developed by Espiau and Boulic [20] who proved that:
“The position of the CoM of a general tree-structure kinematic chain can always be represented
by the end-point position of an equivalent serial open kinematic chain, the geometric parameters
of which depend on the mass properties of the original structure”.
To put it in simpler terms, every serial or tree arrangement of links can be modeled as an
equivalent serial chain which terminates at the CoM of the original structure. The forward
kinematics of the equivalent chain will give us its end-point which is the CoM location of the
original structure. This method has been implemented to determine the CoM of humanoid robots
[18] and humans [2]. Some important aspects of this method are as follows:
1. Any structure’s statically equivalent serial chain (SESC) has the same number of joints as
the number of degrees-of-freedom (DOF) of the original chain.
2. The geometric parameters of the equivalent chain are fixed and they do not change with
the configuration of the original chain.
14
3. The joint variables of the equivalent chain are simple functions of the original chain’s joint
values.
4. The method is applicable to simple linear chains as well as tree-structure chains.
An important advantage of using this method is that in contrast to the kinematic method, it
does not require any static parameter values of the subject, including link masses, locations of the
masses, and distances between the joints. We need only construct the kinematic model of the
system based upon the number of joints under consideration and the types of joints.
2.4 MODELING OF THE SESC
The example in this section has been obtained from [7]. The system employed is a structure
made up of rigid bodies (or links) which are connected by revolute or spherical joints. Each link
is fully described by its geometric and mass properties. Hence, it is assumed that we know the
locations of all joints, the masses of all the links, and the locations of these individual masses.
The location of a link’s CoM in its local reference frame is given by the 3-by-1 vector 𝑐𝑖⃗⃗ ,
while the mass of the link is mi. The total mass of the system is given by 𝑀 = ∑𝑚𝑖. The multilink
chain is shown in Figure 6. Its SESC is shown in Figure 7.
15
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗
𝑟2⃗⃗ ⃗
𝑑1⃗⃗⃗⃗
𝑟3⃗⃗ ⃗
𝑟4⃗⃗⃗
𝑟5⃗⃗ ⃗
𝑑2⃗⃗⃗⃗
𝑑3⃗⃗⃗⃗
𝑑4⃗⃗⃗⃗ 𝑐1⃗⃗ ⃗ 𝑑1⃗⃗⃗⃗
𝑐2⃗⃗ ⃗
𝑐3⃗⃗ ⃗
𝑐4⃗⃗ ⃗
T1
m1
m2
m3
m4
Figure 6 – Kinematic and static parameters of a spatial multilink chain [7]
Figure 7 – SESC for the spatial system [7]
16
We define the CoM of the collection of links as the weighted sum of each body’s CoM.
Hence:
{𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗
1} =
𝑚1
𝑀T1{
𝑐1⃗⃗ ⃗1} +
𝑚2
𝑀T1T2{
𝑐2⃗⃗ ⃗1} +
𝑚3
𝑀T1T3{
𝑐3⃗⃗ ⃗1} +
𝑚4
𝑀T1T3T4{
𝑐4⃗⃗ ⃗1} (2.6)
On expanding this equation, we get:
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗ = 𝑑1⃗⃗⃗⃗ + R1𝑟2⃗⃗ ⃗ + R1R2𝑟3⃗⃗ ⃗ + R1R3𝑟4⃗⃗⃗ + R1R3R4𝑟5⃗⃗ ⃗ (2.7)
Here,
𝑟2⃗⃗ ⃗ = (m1𝑐1⃗⃗ ⃗ + m2𝑑2⃗⃗⃗⃗ + (m3 + m4) 𝑑3⃗⃗⃗⃗ )/M
𝑟3⃗⃗ ⃗ = (m2𝑐2⃗⃗ ⃗)/M
𝑟4⃗⃗⃗ = (m3𝑐3⃗⃗ ⃗ + m4𝑑4⃗⃗⃗⃗ )/M
𝑟5⃗⃗ ⃗ = (m4𝑐4⃗⃗ ⃗)/M
Here it is to be noted that if we have complete knowledge of the system’s static parameters,
the vectors 𝑟𝑖⃗⃗ can be calculated. Furthermore, if the system has only revolute and/or spherical
joints, the distances between the joints (𝑑𝑖⃗⃗ ⃗) are constant. Since all parameters are now constant,
the vectors 𝑟𝑖⃗⃗ are constant.
We now manipulate equation (2.7). We let:
R1* = R1
R2* = R1 R2
R3* = R1 R3
17
R4* = R1 R3 R4
Hence, equation (2.7) becomes:
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗ = 𝑑1⃗⃗⃗⃗ + R1*𝑟2⃗⃗ ⃗ + R2
*𝑟3⃗⃗ ⃗ + R3*𝑟4⃗⃗⃗ + R4
*𝑟5⃗⃗ ⃗ (2.8)
Hence, as can be seen from equation (2.8), the CoM location of the original tree-structured
chain is equivalent to the end-effector location of an equivalent serial chain that has the same
number of DOF as the original chain.
We can manipulate equation (2.8) further to get the following:
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗ = [I R1* R2
* R3* R4
*]
{
𝑑 1
𝑟 2𝑟 3𝑟 4𝑟 5}
(2.9)
Here, I is the 3-by-3 identity matrix. If the original chain has n number of links and contains
only revolute and/or spherical joints as explained before, in which case the centers of mass are
always at the same positions in the respective links, the vector made up of the 𝑟𝑖⃗⃗ vectors is a
constant. Hence:
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗ = [I R1* R2
* … Rn*]
{
𝑑1⃗⃗⃗⃗
𝑟2⃗⃗ ⃗
𝑟3⃗⃗ ⃗...
𝑟 𝑛+1}
(2.10)
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗ = B𝑋 (2.11)
18
𝑋 is the matrix of link parameters and is constant in case of only revolute and/or spherical
joints in the original structure. Matrix B is of size 3-by-3(n + 1) for the spatial case and contains
the orientation matrices expressed in the global reference frame.
2.5 APPLICATION TO HUMAN SUBJECTS
In case of human subjects, we model the body as either a linear or branched structure of
links, depending on whether it is a 2D or 3D CoM estimation, as we shall see. We assume that the
geometric parameters of the body are unknown, i.e. the masses of the individual’s limbs, the
positions of the limbs’ masses and the lengths of the limbs are unknown. Therefore, the vector 𝑋
in equation (2.11) is unknown and the CoM cannot be calculated. However, it is possible to
estimate the vector 𝑋 experimentally from multiple recordings of the system in different
configurations.
2.5.1 Constructing the human body’s SESC from CoM Data
For simplicity, we assume that the base frame of the system is attached to the first joint.
Hence, 𝑑1⃗⃗⃗⃗ = 0 in equation (2.10) and we have:
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗ = [R1* R2
* … Rn*]
{
𝑟2⃗⃗ ⃗
𝑟3⃗⃗ ⃗...
𝑟 𝑛+1}
(2.12)
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗ = B𝑋 (2.13)
19
This equation holds for a particular posture of the subject’s body, i.e. for a certain
combination of limb orientations. For m configurations of the body, we have m different B matrices
and m positions of the corresponding CoM (𝑋 , however, will remain constant because of revolute
and spherical joints). Hence, we have:
[ 𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗
1
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗2
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗3
.
.
.
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗𝑚]
=
[ 𝐁1𝐁2𝐁3...𝐁m]
𝑋 (2.14)
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗ = D𝑋 (2.15)
The matrix D is of size 3m-by-3n. It should be noted that even though D is not full-rank,
the vector containing the mass locations is in its range space, and so there are many solutions for
𝑋 .
One of these solutions for 𝑋 can be found using the Moore-Penrose pseudo-inverse of D
as follows:
𝑋 = D+
[ 𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗
1
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗2
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗3
.
.
.
𝐶𝑜𝑀⃗⃗⃗⃗ ⃗⃗ ⃗⃗ ⃗𝑚]
(2.16)
Determining the vector 𝑋 from m different postures is what constitutes the identification
or calibration step.
20
One we have 𝑋 , equation (2.13) can be used to estimate the location of the CoM of a body
for any posture, which is what we shall call the utilization or implementation step in our study.
2.5.2 Constructing the human body’s SESC from Partial CoM Data
The method described above can still be used to construct a system’s SESC even when
partial CoM data is known to us in the identification/calibration step. For any identification
posture’s CoM, we have:
{
𝐶𝑜𝑀𝑥
𝐶𝑜𝑀𝑦
𝐶𝑜𝑀𝑧
} = {
𝐁𝑥𝐁𝑦𝐁𝑧
}𝑋 (2.17)
From equation (2.17), we can use any one row or a combination of rows in the identification
stage to calculate 𝑋 . Theoretically, 3n data sets (identification postures) are enough for calibration
while for planar systems 2n are sufficient [1].
In the most general case, a set of (n + 1) measurements of the x, y and z components of the
CoM are required so that the matrix B is invertible [19]. If, however, not all components are
known, then more measurements are needed. For example, if only one component is known, a set
of 3(n + 1) measurements are needed [19].
Suppose that we have only the x and y ground projections of the CoM available to us, i.e.
the components of the CoM in the horizontal plane only and the vertical component (z component)
of the CoM is not available to us. Equation (2.12) for our 4-DOF SESC in Figure 7 can then be
written as:
21
[𝐶𝑜𝑀𝑥
𝐶𝑜𝑀𝑦] = [
R∗1,𝑥 … R∗4,𝑥R∗1,𝑦 … R∗4,𝑦
] {
𝑟 2..𝑟 5
} = [𝐁𝑥𝐁𝑦] 𝑋 (2.18)
The sizes of matrices Bx and By are 1-by-3n. This is for one particular configuration of the
body. For m poses:
[ 𝐶𝑜𝑀1,𝑥𝐶𝑜𝑀1,𝑦
.
..𝐶𝑜𝑀𝑚,𝑥
𝐶𝑜𝑀𝑚,𝑦]
= [
𝐁1,𝑥∗
...𝐁𝑚,𝑦
∗
] 𝑋 = D𝑋 (2.19)
From equation (2.19), with only the x and y components of a human’s CoM projections
available to us in the identification/calibration phase, we can calculate the vector 𝑋 :
𝑋 = D+
[ 𝐶𝑜𝑀1,𝑥𝐶𝑜𝑀1,𝑦
.
.
.𝐶𝑜𝑀𝑚,𝑥
𝐶𝑜𝑀𝑚,𝑦]
(2.20)
When using two components of the CoM position for calibration, at least (3
2)𝑛 linearly
independent measurements should be taken to ensure that D is invertible [2]. It is to be noted,
however, that a larger number of measurements should be taken for precision and to reduce the
identification error [47].
It is also important to know while interpreting the physical meaning of 𝑋 that unless the
masses or the geometry of the links are known, it is not possible to separate a segment’s parameters
22
mi, 𝑐𝑖⃗⃗ or 𝑑𝑖⃗⃗ ⃗ from its vector 𝑟𝑖⃗⃗ [2]. For this purpose, techniques such as magnetic resonance imaging
[48], cross-section estimation with stereophotogrammetry [49] and cadaver studies [50] have been
used to determine the mechanical parameters of the system which cannot be identified separately
by deconstructing the SESC developed for a subject.
A visualization of a SESC is provided below. This is the 3D SESC that is associated with
a human body assumed to be composed of spherical joints and 9 links. The SESC is depicted in
blue color. In this example, the base frame is attached to the torso and the SESC terminates at the
CoM of the original structure.
Figure 8 – Visualization of a link structure’s SESC [51]
23
3 EXPERIMENTAL SETUP
For the identification/calibration phase, we need CoM values and limb orientations (joint
values) for m different postures of the subject. In the implementation/utilization phase, we need
only the joint values. Hence, for the identification phase, we need a motion capture device to track
the user’s joints in each pose and a device to measure the corresponding CoM for each pose. In
the utilization phase, we require only the motion capture device.
Traditional hardware used in laboratory settings for CoM research includes expensive
equipment such as laboratory-grade force plates and motion tracking camera systems. This
equipment is not only expensive but also requires a long and tedious setting-up procedure. This is
true especially in the case of motion capture systems which essentially require the placement of
reflective markers on the subject’s anatomical body landmarks. In contrast to this expensive
equipment which confines the implementation of the method to the laboratory setting, we make
use of portable, inexpensive equipment, since the basic aim of this study was to come up with a
convenient, portable, and inexpensive system for CoM estimation for elderly patients that can be
used in a home setting. Priority was placed on using common and non-invasive devices for data
collection.
3.1 MICROSOFT KINECT
Microsoft launched Kinect as an add-on to the Xbox 360 in 2010 for video gaming
applications. The motion sensor, which was primarily developed to enable the users to interact
with and control a virtual environment (such as virtual bowling and golf) through gestures and
speech quickly became hugely popular among not only video gamers but also programmers and
24
developers who recognized its potential applications in a huge array of fields. The Kinect has been
employed in rehabilitation studies and has produced encouraging results [52-54]. The basic
features of the Kinect for Windows v1 sensor which I used in this study are a depth sensor, a color
camera and a microphone array, all in one oblong box.
The Kinect sensor is shown in the following image:
Figure 9 – Microsoft Kinect for Windows v1 sensor [55]
The Kinect is used as a motion capture device that does not require the placement of
markers on the subject’s anatomical landmarks and it does not require the user to wear any special
suit or sensors. It is in fact a very cheap though less precise alternative to traditional motion capture
systems, with the added advantage of portability. Measurements made with the Kinect sensor have
been shown to be on good accordance with those made with a MoCap Vicon system [52].
The Kinect for Windows v1 sensor can track one person at a time and twenty joints per
person. Because it uses a camera to capture, recognize and track the whole body of the user in
three dimensions, there is no need for the user to hold a controller as in the case of other motion
capture devices such as the Nintendo Wii hand-held device. The maximum attainable frame rate
RGB camera
Infrared sensor Infrared projector
25
of the device is 30 Hz. The 20 joints that are tracked by the Kinect on the skeleton are depicted in
the figure below:
Figure 10 – Joints tracked by a Kinect for Windows v1 sensor [56]
The Kinect v1 sensor which was employed in this study is sufficient for the application as
only a single subject’s CoM was assessed at a time. As the Kinect’s skeleton tracking feature works
best when the user is facing the sensor, the subject stood facing the sensor at all times throughout
this study. The distance between the subject and the sensor was always kept between 2 and 3
meters, as per the device manufacturer’s recommendations. Furthermore, the space around and
especially in front of the user was completely cleared of any objects. The only objects in view of
the Kinect were the subject and the Wii balance board. The background was also covered with
white cardboard to ensure as smooth skeleton tracking as possible. The user wore skin-tight
clothing. The color black was not worn in any of the experiments, as this was found to result in
poor skeleton tracking due to absorption of the infrared rays of the depth sensor by the clothing. I
26
made use of the Microsoft Kinect for Windows Support from Image Acquisition Toolbox [57] for
this study.
3.2 NINTENDO WII
Nintendo introduced the Wii balance board as a peripheral for the Wii video gaming
console in 2007, adding to the growing ensemble of exergaming devices. Just as the Kinect uses a
camera to register the user’s movements, the Wii board records the user’s movements using
pressure sensors that are actuated when the user moves about on the board.
The balance board runs on four AA batteries. It is similar to laboratory-grade force plates
in that four pressure sensors are used to calculate the force distribution, and the user’s center of
mass and their weight. The shape of the board is just like a regular household weight scale.
Figure 11 – Top surface of a Wii balance board [58]
27
Figure 12 – Bottom surface of a Wii balance board [58]
The Wii balance board communicates with the Wii console, and is capable of doing so in
the same manner with a personal computer, via Bluetooth technology. The board, according to the
company, can be used for balance training of individuals which is closely related to health. If a
person has an uneven center of balance, their body will constantly be in the process of
compensating for this, resulting in an unnecessary strain acting on the whole body. The Wii
balance board has been shown to be very reliable for CoP path length assessment and to possess
concurrent validity with a laboratory-grade force plate [59]. It has also been employed in
rehabilitation studies and has yielded promising results [60, 61]. For acquiring the desired data
from the Wii, I made use of the CU Wii Balance Board Project [62].
3.3 EXPERIMENTAL PROTOCOLS
As mentioned in the last section, we require two different types of information for
developing the SESC of the human subject. The first is the joint values of the subject for
28
developing the rotation matrices, and the second is the horizontal projections of the user’s CoM.
This information will be obtained while the user performs different static poses.
The Kinect camera was used to obtain the joint positions from which the limb orientations
i.e. the joint values were calculated. For obtaining the horizontal projections of the user’s CoM,
we make use of the Wii balance board.
The Wii board in fact does not give an estimate of the user’s CoM but it provides us the
user’s CoP position. The quantity CoP – CoM which is the arithmetic difference of the CoP and
CoM has been found to be very highly correlated to the horizontal acceleration of the CoM [63].
It has in fact been found to be proportional to the acceleration of the CoM [64].
We can assume that when the system is perfectly static, the CoM ground projection
corresponds to the CoP [19]. However, due to an inherent sway and vibration of the human body,
it is impossible to achieve a perfectly static position. So we obtain the CoP of the user when the
postural sway is as small as possible. When the amplitude and frequency of the postural sway, and
resultantly the acceleration of the body, are very low, the forces induced by the movement of the
body are negligible compared to the gravitational forces. Hence, in such conditions, the CoM’s
ground projections are quasi-equal to the CoP [7]. From these joint values and CoP data, we can
construct the matrices needed to calculate 𝑋 in equation (2.20). After this identification/calibration
step, the CoM can be calculated for any posture of the body using equation (2.13).
The project was developed in MATLAB (MathWorks Inc., Natick, MA). While the Kinect
support package that I used has skeleton and joint tracking features available, there is no in-built
algorithm or tool to determine the orientations of limbs as opposed to other software development
29
kits such as OpenNI. Hence, all orientation matrices were built using the only information that was
available: joint positions returned by the Kinect.
The joint positions that are returned by the Kinect are always with respect to the world
coordinate system, which is the Kinect frame of reference. The origin of this frame of reference is
on the face of the sensor. The orthogonal axes of this frame are arranged as shown below.
Figure 13 – Coordinate system of a Kinect sensor [65]
Since the base frame for the SESC was always attached to a certain joint of the user in this
study, the orientation matrices of all limbs must be defined with reference to this frame. For this
purpose, all joint positions returned by the Kinect were redefined with respect to this frame of
reference.
The CoP components returned by the Wii are defined with respect to the Wii’s coordinate
frame which lies at the geometric center of the board on the top surface, as shown below. The
positive axes of this frame point to the right and the back of the board.
30
It is necessary to transform the CoP to the user’s base frame. This is a simple translation
along the x and y directions. For example, the CoP is indicated by the green point in the following
figure. This CoP is measured with respect to the Wii’s frame and the coordinates of the human’s
frame origin are (Xs, Ys) in the Wii’s frame.
xW
yW
CoP
(Xs, Ys)
Figure 15 – Translating the CoP from the Wii’s frame to the human’s frame [7]
y
x
Figure 14 – Wii balance board reference
frame
31
The CoM horizontal components in the SESC’s base frame are given by translating the
CoP given by the Wii to the SESC origin. The superscript W denotes definition with respect to the
Wii frame in these equations, while S denotes definition with respect to the subject’s frame.
CoMx ≈ CoPxS = CoPx
W – Xs (3.1)
CoMy ≈ CoPyS = CoPy
W – Ys (3.2)
The Wii reference frame’s position in the global coordinate system was acquired using the
code 3D Object Recognition with Kinect Camera [66].
3.4 HUMAN BODY'S SESC FOR COM ESTIMATION IN
DIFFERENT PLANES
This study was carried out in three steps. While the basic aim was to develop a 3D CoM
estimation interface which was the third and final phase, I started from the simplest study and
worked my way towards the goal.
In step 1, I determined the human body’s CoM in the sagittal plane, based on the work
done by [19]. This in fact has more usefulness as far as elderly patients are concerned. This was
done keeping in mind the objective of implementing the method for elderly subjects who have a
limited range-of-motion. It is not possible to ask some elderly patients to perform complicated
poses for identification of their SESC. In addition, many of these patients do not routinely engage
in activities which require stretching, for example, standing on one foot and stretching their arms
to reach for an item stored in an over-head cabinet.
32
Figure 16 – Sagittal and frontal planes of the user [67]
In step 2, I determined the human body’s CoM in the frontal (coronal plane) based on the
work done by [68]. This in fact has limited application for the target age group as it involves some
complicated poses. Step 3 of this study was the implementation of the SESC method for the full
body 3D CoM estimation based on [2].
3.5 VALIDATION OF THE METHOD
The validation of any CoM estimation method for human subjects is an open issue and no
method has yet been identified as the gold standard [42]. The most common validation technique
is to compare the values of CoM ground projections with the CoP positions [42] while the user
performs static poses. Hence, to validate the method in each step, we shall compare the computed
horizontal projections of the CoM of a user for random static postures (postures which are not used
33
during identification) to the CoP values simultaneously calculated by the Wii. In all three CoM
estimation studies, the comparison shall be made by computing the root mean square (rms) errors.
For the frontal plane study and for the 3D CoM estimation, we shall also compare the rms
error for the SESC CoM estimation with that of the CoM values calculated from the AT method.
The AT we shall use have been obtained from [33] which are largely used in biomechanical studies
[7]. For constructing the anthropometric models for the AT, the Kinect joint data shall be used.
The method that I employed for CoM estimation can now be explained by Figure 17:
The following part of this thesis can be described by the following figure:
Figure 17 – Flow diagram of CoM estimation process
34
The characteristics of the subject who was recruited for the test are reported below:
Age
(years)
Gender
Weight
(kg)
Height
(m)
BMI
(kg/m2)
Subject 1 27 M 60.5 1.78 23.5
Table 1 – Subject Characteristics
CoM estimation in the sagittal plane
CoM estimation in the frontal plane
3D CoM estimation
CHAPTER 4 CHAPTER 5 CHAPTER 6
Figure 18 – Flow diagram for experimental part of thesis
35
4 COM ESTIMATION IN THE SAGITTAL PLANE
4.1 CONSTRUCTION OF THE SESC
Generally, as mentioned before, the range-of-motion of adults who are the subject of this
study is limited. Bearing in mind this limitation, the poses that have been designed to develop the
SESC had to be designed as simple poses in which only the ankle, knee and hip joints are modified
by the adult as they perform a sit-to-stand motion. Complicated poses in which the user stretches
out their arms, stands on one leg while stretching out the second leg, etc. have not been used.
Furthermore, the three joints of ankles, knees and hips are assumed to be revolute joints.
Also, we assume the same mass distribution on the left and right sides of the body, divided by the
sagittal plane. With these assumptions and constraints, we model the human body as a three DOF
model. Starting from the base joint, i.e. the ankle joint, the first two links of the model are labeled
as shank and thigh. The head, arms and trunk of the user are joined together as one link, called the
head-arms-trunk (HAT).
Thigh
HAT
Shank
Ankle
Hip
Knee
Figure 19 – The human body realized as a 3-DOF model for the sagittal
plane study
36
Table 2 shows the human body’s parameters used in the classical method of CoM
estimation.
Segment Segment Weight
Handa 0.006M
Foota 0.0145M
Lega 0.0465
Thigha 0.100M
HAT 0.678M
Table 2 – Mechanical Parameters for the Classical CoM Estimation [33] aTheir weight is counted twice
M = Mass of the body
As can be seen from the table, the mass of the feet is only 2.9% of the total body mass.
Hence, we neglect it in our system. We also assume that the centers of mass of all three links lie
on the lines joining the two joints, halfway along the link length. This second assumption will hold
for all body limbs while we develop the SESC for the subject in all three phases of this study.
37
The 3-DOF model of the human body is shown in the following figure. Each joint has a
local coordinate frame attached to it. As can be seen, the base frame is attached to the ankle joint.
Hence, this joint is the starting point of the SESC.
m2, c2
m1, c1
m3, c3
Figure 20 – CoM of each link in the sagittal plane study
38
Figure 21 – Coordinate frames attached to each joint for the 3 DOF model
We can now express the CoM of our model, assuming that the mechanical parameters are
perfectly known.
[𝐶𝑜𝑀𝑥
𝐶𝑜𝑀𝑦] = [
cos 𝜃1 cos 𝜃2 cos 𝜃3sin 𝜃1 sin 𝜃2 sin 𝜃3
] [
𝑟1⃗⃗⃗
𝑟2⃗⃗ ⃗
𝑟3⃗⃗ ⃗
] = B𝑋 (4.1)
ɵ3
ɵ2
ɵ1
x
y
39
4.2 COM HORIZONTAL COMPONENTS
As can be seen in Figure 21, the only useful component of the user’s CoP that will be
available to us using the Wii will be the x component (the y component is along the vertical axis
which is not available to us, while the z component of the CoP is not useful). Hence, for m postures,
we have:
[ 𝐶𝑜𝑀1,𝑥
.
.
.𝐶𝑜𝑀𝑚,𝑥]
=
[ cos 𝜃1,1 cos 𝜃2,1 cos 𝜃3,1
. . .
. . .
. . .cos 𝜃1,𝑚 cos 𝜃2,𝑚 cos 𝜃3,𝑚]
𝑋 (4.2)
𝑋 = D+
[ 𝐶𝑜𝑀1,𝑥...
𝐶𝑜𝑀𝑚,𝑥]
(4.3)
4.3 DATA SELECTION
The three angles of the ankle, knee and hip joints for both the right and left limbs are
calculated using joint positions that are returned by the Kinect. Since we are calculating the CoM
of the user in the sagittal plane, we calculate the angles for both the left and right joints of the user.
The means of two corresponding angles are then used as the joint values in the 3-DOF system for
calculating the vector 𝑋 .
40
4.4 NUMBER OF POSES REQUIRED FOR
IDENTIFICATION/CALIBRATION
In equation (4.1), the number of SESC parameters that we have to identify is equal to n,
i.e. the number of joints, which in this case is 3. Consequently, the number of postures needed for
identification is also at least n (in this case, 3) as there are three unknown quantities in the equation.
However, for as accurate a model as possible, we must make use of a larger number of poses.
4.5 QUALITY OF THE IDENTIFICATION PROCESS
4.5.1 Condition Number of the Matrix D
Suppose we have a linear system:
A𝑥 = �⃗� (4.4)
Here, A is the configuration matrix of size m-by-n, 𝑥 is the input and �⃗� is the vector of
measurements. A least squares estimate will be used to calculate the vector 𝑥 . This linear system
has m number of measurements and n number of parameters to be estimated.
To check for the accuracy of this system, we can calculate the condition number of the
matrix A. The condition number tells us how close the matrix A is to being singular. It is an analysis
of the numerical sensitivity of the system. A singular matrix has condition number equal to infinity.
The best systems make use of matrices with a condition number equal to one, or close to one, and
are said to be well-conditioned. Inverses of well-conditioned matrices can be calculated accurately.
Conversely, a matrix with a large condition number is called an ill-conditioned matrix and it is
almost singular. Hence, the inverse of an ill-conditioned matrix is prone to large numerical errors.
41
We are calculating the pseudo-inverse of the matrix D, the configuration matrix of our
system, for modeling the SESC. Hence, one indicator of the quality of our identification/calibration
process is the condition number of the matrix D [19]. In the Euclidean norm, the condition number
of the matrix D is equal to the quotient of the largest and smallest singular values (σ) of the matrix
[19]:
cond (D) = 𝜎𝑚𝑎𝑥
𝜎𝑚𝑖𝑛 (4.5)
4.5.2 Rank of the Matrix D
The rank of a matrix is the maximum number of independent rows (or independent
columns) in a matrix. For a matrix to be full row rank, its rows must be independent of each other,
i.e. no row should be a multiple of another row. For a matrix to be full column rank, no column
should be a multiple of another column. For a square matrix, both concepts are the same and it is
said to be full rank if all rows and columns are independent of each other. A matrix is said to be
rank deficient if it does not have full rank. For a non-square matrix, the rank of the matrix depends
on which is smaller in number, the number of rows or the number of columns. So if a matrix is of
size m-by-n, and m > n, the matrix is said to be full rank if it is full column rank.
The data sets (the sets of joint values from each identification pose) used to construct the
matrix D must be independent, i.e. the matrix D must be full rank. Hence, each pose used for
identification should be clearly distinct from the rest.
42
4.6 POSES USED FOR IDENTIFICATION
Even though 3 postures should be sufficient for identification, I made use of 5 for greater
accuracy. The 5 postures that the subject was asked to perform are depicted below. It should be
noted that in all postures, the upper limbs are placed alongside the trunk to ensure that the CoM
stays in the sagittal plane.
The first is a normal standing posture. The second posture is achieved through a slight
forward flexion of the knees and the trunk. The third posture is knee flexion in which the trunk is
kept perpendicular to the ground while the knees are bent slightly. The fourth posture is achieved
by a greater forward flexion of the knees and the trunk. The fifth posture is bending of the trunk
while keeping the shank and thigh straight. These postures are depicted in the figure below.
Figure 22 – Identification Poses Used [19]
43
These poses were manually chosen keeping in mind the limited range that is achievable for
elderly subjects, while ensuring that the values of the limb orientations and the CoP positions were
well distinguished and not too close to one another. It was not possible to use more than 5 postures
because there must be clearly distinguished CoP values and joint values for each posture for the
matrix D to have full rank and a low condition number. When more than 5 postures were used, it
was observed that there was a very large error between the actual CoP and the experimental CoM
values. Moreover, when 6 poses were used for identification, an even smaller vertical component
of the CoM was calculated.
4.7 DATA ACQUISITION AND FILTERING
Nearly any sensor that is used to measure a physical quantity returns some noise and has
an inherent error that accompanies the measurement. The measurement is hence called raw data.
The Kinect algorithm makes an inference for joints that are occluded or cannot be tracked [69].
These inferences cause noise in the data that is returned by the Kinect to MATLAB. This noise
can propagate through calculations and result in large inaccuracies and incorrect results.
The Kinect has a number of limitations. Insufficient lighting, direct sunlight, baggy clothes
worn by the user, a cluttered background and objects between the user and the camera all result in
incorrect joint positions and hence, incorrect angles. Dark clothing may also absorb infrared light
and result in poor skeleton tracking as I observed in my experiments. Due to all these factors, the
joint position data that the Kinect returns contains noise and this results in jittering of the skeleton,
as was observed throughout this study.
In order to minimize the jittering of the skeleton that is tracked by the Kinect, a filter has
to be implemented that will reduce the effect of the noise in the data that is received. Low-pass
44
filters are often used to remove high-frequency noise from signals. They’re used to remove both
random and periodic noise.
4.7.1 Butterworth Filter
A filter typically used for tracking joints is the Butterworth filter [69, 70]. This filter has a
slight overshoot in response to step or impulse type inputs, but has a very short rise time. Because
impulsive type inputs rarely occur in human movement, the Butterworth filter is used for these
applications [33].
The signal is assumed to lie in the low-frequency end of the spectrum, while the noise
occupies the high-frequency end as shown in the figure:
Figure 23 – Hypothetical frequency spectrum of a waveform consisting of a desired signal and
unwanted higher frequency noise [33]
The filter has to allow the low-frequency component of the signal to pass through, while
attenuating the high-frequency part which is the noise. Hence, the low-pass filter is to be used for
this task. The frequency response i.e. the ratio of output X0(f) to input Xi(f) of such a low-pass filter
is shown below:
45
Figure 24 – Response of low pass filter X0(f)/Xi(f) introduced to attenuate the noise [33]
As can be seen, most signals below a certain frequency called the cutoff frequency (fc) are
allowed to pass through the filter unattenuated, i.e. their response is 1.0. However, there is a sharp
transition in the response close to the cutoff frequency, and the signals after this frequency are
attenuated.
An ideal low-pass filter allows all signals below the cutoff frequency to pass through
unchanged and rejects all components above this frequency, as shown below:
Figure 25 – Response of an ideal filter [71]
46
The filtered signal is shown in the figure.
Figure 26 – Spectrum of the output waveform, obtained by multiplying the amplitude of the input
by the filter response at each frequency [33]
As can be seen in the figure above, the overlap region where the noise overlaps with the
desired signal is also attenuated. This effect is known as distortion in the signal. Also, the noise
has been reduced but not removed completely. Hence, while choosing the cutoff frequency, a
compromise has to be made between complete noise removal and increased signal distortion. If fc
is too high, there is less signal distortion but high noise content in the filter output. If fc is too low,
there is less noise but high signal distortion.
Besides the cutoff frequency, the second parameter of the filter that we have to set is the
order of the filter. The order of the filter controls the signal’s cutoff slope. The higher the order,
the sharper the cutoff.
Another effect that the digital filter produces in the output signal apart from signal
distortion is a phase shift relative to the input, shown in the figure below. For this purpose, the
digital filter that has been implemented in MATLAB to the data has been applied to the data twice
in opposite directions to cancel out the phase distortion. This in fact doubles the effective order of
the filter applied. This is known as zero-phase filtering.
47
Figure 27 – Difference between a zero-phase filter and a filter that introduces a phase in the
output [71]
Figure 28 – A high cutoff frequency results in almost no noise attenuation while a very low cutoff
frequency results in a drastic attenuation of the noise signal
48
There are two methods that we can use to determine the cutoff frequency for the
Butterworth filter that we have applied.
One method [33] is to carry out a harmonic analysis, in which the power of each component
is analyzed and it is decided how much power is to be rejected and how much is to be accepted.
The second method [33] is to apply a Butterworth filter using different test values of the
cutoff frequency over the data. For each cutoff frequency, the mean residual amplitude (rms
value of the difference between the filtered and unfiltered data) is calculated. The mean residual
amplitude is mathematically defined as:
𝑅(𝑓𝑐) = √1
𝑁∑ (𝑋𝑖 − �̂�𝑖)2𝑁𝑖=1 (4.6)
Here 𝑋𝑖 = raw data at ith sample
�̂�𝑖 = filtered data at the ith sample
The mean residual amplitudes are then plotted vs. the cutoff frequencies.
49
Figure 29 – Determining the best cutoff frequency from a plot of mean residual amplitudes vs.
cutoff frequencies
As can be seen in the figure above, the high frequency part of the plot (blue line) is
sufficiently linear. A line (the red line in the figure) is drawn parallel to this line and is extrapolated
to the y-axis. From the ordinate, i.e. point a on the graph, a horizontal line (green line) is drawn
that cuts the plot at point b, as shown. From point b, a vertical line is drawn and is extrapolated to
find the abscissa (x-coordinate). The abscissa represents the cutoff frequency to be used.
By carrying out the procedure for determining the cutoff frequency for the low-pass filter,
the cutoff frequency determined was around 1/10 of the sample rate for the data sets, i.e. 2 Hz. It
was found that applying the filter on the data had in fact no meaningful impact on the results. The
mean of the data sets before and after the filtering was calculated and it was found that the
difference between both was less than 1 millimeter in most cases. I still chose to filter the data,
50
nonetheless, to remove any spikes due to noise from the devices. The same cutoff frequency was
used for all poses and the order of the filter applied was 2. Both the Kinect and the Wii data were
filtered.
4.8 CALCULATION OF JOINT VALUES
To measure the angle through which a joint rotates, the vectors to the two joints that lie
before and after this joint are calculated. Once we have the vectors, we calculate their dot product
and their norms. Suppose, for example, that we want to calculate the angle at the knee joint. This
can be calculated by considering the knee joint as the origin. The joints before and after this joint
are the ankle and hip joints respectively. Now, from the Kinect, we have the positions of these
three joints. From the positions of all three joints, we can get the vectors 𝐴1⃗⃗⃗⃗ and 𝐴2⃗⃗ ⃗⃗ , which are the
vectors from the knee to the hip joint and from the knee to the ankle joint respectively.
51
To get the joint angle, we use the following expression:
𝜃 = cos−1 𝐴1⃗⃗⃗⃗ ⃗ . 𝐴2⃗⃗⃗⃗ ⃗
| 𝐴1⃗⃗⃗⃗ ⃗|| 𝐴2⃗⃗⃗⃗ ⃗| (4.7)
4.9 VALIDATION OF STATIC POSTURE
The CoP values for modeling the SESC can only be assumed to be equal to the CoM ground
projections if the conditions are perfectly static. For the purpose of validating if a posture is static
and thus can be used, the user is asked to hold each pose while data is drawn using the Kinect and
Wii. For each pose, a time window of 500 milliseconds is identified. In this time segment, the CoP
𝐴1⃗⃗⃗⃗
𝐴2⃗⃗ ⃗⃗
𝜃
= 𝜋𝑟2
Figure 30 – Calculating joint angle from joint positions returned by
the Kinect
52
position as well as the joint positions are obtained after every 50 milliseconds. So we have ten
values for each parameter in a time window. The frequency is thus 20 Hz and the frame rate is 20
fps.
If the standard deviation of the 10 CoP positions is less than 1 millimeter, we consider the
pose to be static. The mean of each data set is then calculated and this is used as the parameter
value for the pose. This is done since the mean of the values for a signal over a certain interval of
time is the most basic approximation of a signal for the particular time interval [72].
Figure 31 – CoP variation while the user performs and maintains a pose for five seconds. The
blue box indicates the 500 millisecond window in which the standard deviation of the CoP values
recorded is less than 1 millimeter.
53
Figure 32 – MATLAB GUI for the project
4.10 EXPERIMENTAL DATA
After the subject went through the identification phase, the joint values and CoP values for
each pose that were recorded were as follows:
Pose 𝜃1 𝜃2 𝜃3 CoP (cm)
1 89.1421º 80.6390º 91.6746º 10.6492
2 112.7907º 63.0760º 130.6382º 8.1704
3 119.2630º 70.6464º 86.1136º 9.9255
4 120.2205º 54.6261º 133.6138º 7.7190
5 76.3243º 60.6225º 114.7373º 10.0556
Table 3 – Identification Data Collected
54
Clearly, some of the angles that have been calculated are incorrect. The values of 𝜃2 and
𝜃3, for example, for pose number 5 are incorrect. This pose was performed with the user’s lower
limbs straight and almost perpendicular to the ground, while the torso was bent so that it was as
close to being parallel to the ground as possible.
Nevertheless, using this data, the parameters that make up the vector 𝑋 were computed as
follows:
𝑟1⃗⃗⃗ (cm) 𝑟2⃗⃗ ⃗ (cm) 𝑟3⃗⃗ ⃗ (cm)
1.3482 30.4930 14.2179
Table 4 – Subject SESC parameters
The condition number of the D matrix was 4.6586 and it was full rank.
The user was then asked to perform five more static poses for CoM estimation. For the
same poses, the CoP values returned by the Wii that I considered as the actual CoM values were
also noted. The CoM values computed against the corresponding CoP values for each pose are as
follows:
Pose Actual CoPx
(cm)
Calculated
CoMx
(cm)
Calculated
CoMy (cm)
1 8.0105 0.7153 45.8896
2 9.7238 8.3638 40.6545
55
3 10.9171 5.4004 45.0880
4 7.7251 8.9708 44.5670
5 4.6995 7.7271 44.5132
Table 5 – Comparison of CoM values with CoP values
The rms error came out to be 43.9 mm. The values of the vertical components which were
calculated are not very encouraging either, as they are much less than half of the user’s height.
We are using joint positions to compute the vectors. Using these vectors, we are calculating
the angles. Hence, the only source of error here is incorrect joint positions returned by the Kinect.
This is true especially in the case of the last pose where the trunk was bent while keeping the lower
limbs straight. It can be seen that for this pose, the Kinect was not able to track the skeleton
correctly.
Figure 33 – Kinect skeleton tracking is distorted for the pose
56
I tried to have the user face a different direction for this pose, but the Kinect was not able
to track the skeleton for any pose in which the user was not facing the sensor as can be seen in the
figure below.
Figure 34 – Kinect skeleton tracking is distorted when the user is not facing the user
57
5 COM ESTIMATION IN THE FRONTAL PLANE
5.1 CONSTRUCTION OF THE SESC
As opposed to the CoM estimation in the sagittal plane in which the model was a linear
chain, the original structure in this case is a tree structure. Since this is again a planar study, we
assume that the joints under consideration are revolute joints. The joints used to produce motion
in the frontal plane in this study are right ankle, right hip, left hip, right shoulder and left shoulder
joints. The limbs are the torso, the arms and the legs. Hence, we have a 5-DOF system. The base
joint is now set as the right ankle of the user. The structure of the human body under consideration
is shown in the following figure:
𝜃1
𝜃2
𝜃4
𝜃3
𝜃5
x
y
Figure 35 – The 5-DOF model of the human body used for the frontal
plane study
58
Due to their comparatively small masses, we assume the feet to be parts of the legs, the
head and neck to be a part of the torso and the hands to be parts of the arms.
The starting point of the SESC is the base frame, i.e. the right ankle joint.
5.2 COM HORIZONTAL COMPONENTS
It can be seen from Figure 35 that the Wii will provide us with two components of the
user’s CoP, one along the x (the horizontal) and one along the z (into the page) axis.
However, we are not calculating the z component of the user since this is a planar study.
Hence, the only useful component of the user’s CoP that will be available to us using the Wii will
be the x component. As in the last section, this CoP position has to be translated to the user’s base
frame.
5.3 NUMBER OF POSES REQUIRED FOR
IDENTIFICATION/CALIBRATION
Since the base frame is at the first joint, the number of SESC parameters that we have to
identify is equal to n, i.e. the number of joints, which in this case is 5. Consequently, the number
of postures needed for identification is also at least n (in this case, 5). However, we must make use
of more postures for an accurate system. It has been observed in experiments that 2*(n + 1)
independent postures are a good number of poses for this estimation method [68].
59
5.4 POSES USED FOR IDENTIFICATION
Even though for this case, 12 postures are the best number of data sets that we should use,
the lowest condition number with the maximum number of postures achieved was approximately
55 with 7 calibration poses. It should be noted that in all postures, the forearm and the upper arm
were kept in a straight line, i.e. the elbow was not rotated to minimize the impact of this joint on
the CoM. Similarly, the knee was also not allowed to rotate. The poses used are as follows:
Figure 36 – Identification poses used for the frontal plane study
5.5 DATA ACQUISITION AND FILTERING
All Kinect and Wii data was filtered using the Butterworth filter in MATLAB.
60
5.6 CALCULATION OF JOINT VALUES
To measure the angle through which a joint rotates, I made use of the orthogonal vector
method. Since the axis into the page is the z-axis and all joints are assumed to be revolute, the joint
axes are taken to be the z-axes. The x-axis of each coordinate frame at a joint is assumed to lie
along the link length and this vector is found using the joint positions. For example, the
configuration for the right ankle joint is shown:
Using the right-hand rule, the direction of the y-axis of the joint’s frame is found. The three
normalized orthogonal vectors of the frame make up the columns of the 3-by-3 rotation matrix.
R1 = [𝑥1̂ 𝑦1̂ 𝑧1̂] (5.1)
5.7 VALIDATION OF STATIC POSTURE
Quite a few of the identification poses used in this frontal plane study involve balancing
on one foot. For these poses, it was just not possible to obtain time windows of 500 milliseconds
x
y
Right ankle joint
Right hip joint
Figure 37 – Coordinate frame attached to the ankle joint
61
in which the standard deviation of the CoP values was less than 1 mm. Hence, the conditions were
relaxed and a time window of 500 milliseconds was identified in which the standard deviation of
CoP values was less than 3 mm. In this time segment, the CoP position as well as the joint positions
are obtained after every 50 milliseconds. The frequency is thus, again, 20 Hz and the frame rate is
20 fps. Hence, we have ten values for each parameter in a time window. The mean of each data
set is calculated and this is used as the parameter value for the pose.
5.8 EXPERIMENTAL DATA
The Wii data collected from the subject during the identification phase is tabulated below.
This is measured with respect to the user’s frame.
Pose CoP (cm)
1 -9.2950
2 -9.3239
3 2.3240
4 1.6229
5 1.7611
6 -1.3731
7 -19.8197
Table 6 – Subject CoP values recorded during identification
62
Since we are not receiving the joint angles directly but are calculating the matrix D, it
comes out to be:
D =
[ −0.0403 −0.5084 −0.0701 0.0859 −0.1308−0.0572 −0.4502 −0.0425 0.6447 −0.71570.0489 −0.1037 −0.5457 −0.0629 −0.55090.0827 −0.0564 −0.5774 −0.1313 −0.77200.0837 −0.1786 −0.5575 0.8097 −0.6738−0.1666 −0.7265 0.0423 0.4744 −0.9998−0.0443 −0.0299 −0.1021 0.9667 −0.6197]
Using this data, the parameters that make up the matrix 𝑋 are computed as follows:
𝒓𝟏⃗⃗⃗⃗ (cm) 𝒓𝟐⃗⃗⃗⃗ (cm) 𝒓𝟑⃗⃗⃗⃗ (cm) 𝒓𝟒⃗⃗⃗⃗ (cm) 𝒓𝟓⃗⃗⃗⃗ (cm)
71.8689 13.0821 5.8421 1.7084 0.7147
Table 7 – Subject SESC parameters
The condition number of the matrix D came out to be approximately 80 and it was full-
rank.
Once the SESC had been developed, the user was asked to perform 7 random postures and
the CoM was calculated every time. It is possible for us to compare the x component of the CoM
of the user that is calculated using the SESC method with the CoP component along the same axis.
For each pose, the CoM component using the AT was also estimated. The anthropometric
model used to calculate the CoM using the kinematic method consists of 5 segments: 2 legs, 2
63
arms and the torso. The comparison of the CoM calculated using the three methods is as follows.
All measurements are with respect to the human’s frame.
Actual CoPx
(cm)
Calculated SESC
CoMx
(cm)
Calculated AT CoMx
(cm)
-9.9756 -9.8873 -10.001
-9.8905 -9.5153 -9.7996
0.1937 0.4444 1.4445
-0.3088 -0.2451 0.3671
0.6512 -0.2182 0.5008
0.9145 -0.3107 0.6667
-11.3237 -11.3200 -11.6706
Table 8 – Comparison of the horizontal projections of the calculated CoM and CoP
The results of the CoM estimation are also displayed graphically in the following figure.
64
Figure 38 – Comparison of CoM determined using the SESC with the CoP and AT values
The SESC/CoP rms error calculated is 5.94 mm. The AT/CoP rms error came out to be
5.65 mm.
The vertical components of the CoM calculated are encouraging as they are all equal to
nearly half of the subject’s height. Since we have no vertical component of the CoM from the Wii
to which we can compare the CoM’s vertical component, we have to use AT. We compare the
vertical components of the CoM calculated using the SESC and AT methods as follows.
SESC calculated CoMy (cm) AT calculated CoMy (cm)
74.7210 81.591
77.3349 86.0211
78.9651 87.4
-14
-12
-10
-8
-6
-4
-2
0
2
4
CoM
x (
cm)
Trial (n)
CoP SESC AT
65
81.3893 89.0754
77.9340 83.3415
77.7393 82.1832
76.0954 83.908
Table 9 – Comparison of CoM vertical values against AT calculated values
The SESC/AT rms error for the vertical component of CoM is 7.2 cm.
66
6 COM ESTIMATION IN THREE DIMENSIONS
6.1 CONSTRUCTION OF THE SESC
When determining the whole-body CoM using the 3D SESC, we model all joints under
consideration as spherical joints. The joints used to produce motion in this study are right ankle,
right knee, right hip, left hip, left knee, right shoulder, right elbow, left shoulder, and left elbow
joints. For simplification, the base joint is set at the right ankle of the user. The structure of the
human body now under consideration is shown in the following figure:
R7
R6
R1
R3
R2
R8
R4
R5
R9
x
y
z
Figure 39 – The model of the human body used for developing the 3D SESC
67
We assume that the feet are parts of the legs, the head and neck a part of the torso and the
hands parts of the forearms.
In every coordinate frame attached to a joint, the x-axis of the frame is taken to be along
the link length for simplification.
6.2 COM HORIZONTAL COMPONENTS
In this study, we shall make use of both components of the user’s CoP using the Wii, i.e.
the components along the x and z directions in Figure 39. The CoP positions are translated to the
user’s base frame.
6.3 NUMBER OF POSES REQUIRED FOR
IDENTIFICATION/CALIBRATION
We have to make use of minimum 3n postures, i.e. 27. For greater accuracy, more postures
should be used. 40 static postures were used to develop the human SESC. This large number of
postures was used to ensure that by the end of the identification process, each of the nine joints
had undergone rotation.
68
6.4 POSES USED FOR IDENTIFICATION
69
Figure 40 – Identification poses used for the 3D CoM estimation
6.5 DATA ACQUISITION AND FILTERING
All Kinect and Wii data was filtered using the Butterworth filter in MATLAB. 20 CoP and
joint rotation values were obtained in a time window of 1 second. One set of values was obtained
after every 50 milliseconds, hence, the frame rate is still 20 and the sampling frequency is still 20
Hz.
70
6.6 CALCULATION OF JOINT VALUES
Similar to the frontal plane study, I made use of orthogonal vectors to compute joint
orientation matrices in this part of the study. Again, the x-axis of each joint was taken to be along
the link length, i.e. for a joint i-1, the x-axis was taken to be along the link length and lay between
this joint and the next joint i. But since all joints were assumed to be spherical joints as opposed
to the frontal plane study, the direction of the z-axis could not be set into the plane as in the last
part. It is always changing with the rotation of the joint.
We now identify for each joint two vectors. The first vector which we call 𝑣1⃗⃗⃗⃗ is taken from
this joint to the next joint along the link length. For example, for the right elbow joint rotation
matrix, the vector 𝑣1⃗⃗⃗⃗ is taken from the right elbow to the right wrist joint. Then, the second vector
𝑣2⃗⃗⃗⃗ is taken from the joint under consideration to the joint immediately before this joint. So for this
elbow joint, the second vector is taken from the elbow joint to the right shoulder joint. The vector
obtained by the cross product of the first vector with the second vector gives us a vector 𝑣3⃗⃗⃗⃗ . And
the cross product 𝑣1⃗⃗⃗⃗ x 𝑣3⃗⃗⃗⃗ gives us a fourth vector 𝑣4⃗⃗ ⃗. The normalized vectors 𝑣1⃗⃗⃗⃗ , 𝑣3⃗⃗⃗⃗ and 𝑣4⃗⃗ ⃗ make
up the columns of the orientation matrix. The orientation matrix for this joint is thus constructed
as:
R7 = [𝑣1̂ 𝑣3̂ 𝑣4̂] (6.1)
6.7 VALIDATION OF STATIC POSTURE
Since 40 static postures using 9 joints were used for this study, it was important to reduce
the fatigue that the subject went through while holding these poses. Therefore, I considered a pose
as static if the standard deviation of the CoP values obtained in a time window was less than 3
71
mm. However, it should be noted that many times while holding a pose, it was very probable for
the user to momentarily shift their weight. For example, when the user was balancing on one foot
with both arms held in a T-pose, it was observed that the user would jerk their body slightly which
would cause the CoP to shift. Hence, I identified time windows of one second to ensure that such
jerks, if performed, would not be a part of the time window since they would cause the standard
deviation to rise above the threshold value. In order to minimize the CoP – CoM variable, I made
use of 1 second long postures.
6.8 EXPERIMENTAL DATA
6.8.1 Validation on subject with symmetric mass distribution
The condition number of the matrix D came out to be 25.8207 and it was full-rank. After
the identification phase, the user was asked to perform 10 static postures. It is possible for us to
compare the x and z components of the CoM of the user that is calculated using the SESC method
with the CoP components along the same axes for these postures and with the CoM components
calculated using the kinematic method. The anthropometric model was constructed using 9
segments: 2 shanks, 2 thighs, the torso, 2 forearms and the 2 upper arms.
The vertical components of the CoM calculated were encouraging as they were all equal
to nearly half of the subject’s height. Since we have no vertical component of the CoM from the
Wii to which we can compare the CoM’s vertical component, we have to use anthropometric
tables. All CoM values below have been calculated with respect to the human’s frame of reference.
72
Pose
Actual
CoPx
(cm)
SESC
Calculated
CoMx
(cm)
AT
calculated
CoMx
(cm)
Actual
CoPz
(cm)
SESC
Calculated
CoMz
(cm)
AT
calculated
CoMz
(cm)
1 -11.5589 -11.6003 -11.8098 6.5488 5.5715 2.3138
2 0.5046 -0.5942 1.0691 4.5801 5.0758 4.1934
3 -12.3173 -13.5417 -13.2930 9.3465 7.8841 0.9043
4 -10.8695 -10.9523 -12.2954 7.4891 6.9136 1.413
5 -6.8875 -6.5969 -8.9502 6.3076 2.2514 2.8819
6 -15.8508 -17.2771 -18.3066 5.8034 5.5460 1.9286
7 0.4510 0.3986 0.2356 4.2596 3.9518 4.6437
8 0.6358 0.2368 2.4338 4.8822 4.5852 3.809
9 -4.2731 -6.4490 -5.3722 8.9511 5.6614 0.5378
10 -9.8292 -9.2012 -9.7383 9.0037 7.6833 0.0148
Table 10 – Comparison of CoM (SESC), CoP and CoM (AT) values
73
These results are also depicted in the graphs below:
Figure 41 – Comparison of the CoM x-component estimated using SESC method with CoP and
AT values
-20
-15
-10
-5
0
5
CoM
x (
cm)
Trial (n)
CoP SESC AT
74
Figure 42 – Comparison of the CoM z-component estimated using SESC method with CoP and
AT values
The RMS errors were calculated and are tabulated below.
Techniques of
comparison
RMS error (mm)
Medio-lateral (x) direction Anterior-posterior (y)
direction
SESC/CoP 10.06 18.15
AT/CoP 13.9 53.9
Table 11 – RMS errors
0
1
2
3
4
5
6
7
8
9
10
CoM
z (c
m)
Trial (n)
CoP SESC AT
75
The AT/CoP rms error was not large in the medio-lateral plane, while a high rms error was
observed for the anteroposterior direction. The vertical CoM components of the SESC and AT
methods have also been compared below. The rms error is 10.246 cm.
SESC calculated CoMy AT calculated CoMy
78.0071 87.8285
82.4995 92.8115
74.0225 80.1503
80.5428 92.959
79.8708 89.5482
73.7567 83.2185
80.6811 91.0452
83.0231 91.7554
76.5347 82.638
80.6275 96.4781
Table 12 – Comparison of CoM (SESC) vertical values with AT values
6.8.2 Validation on subject with asymmetric mass distribution
Since the SESC method takes into account the mass distribution of the subject as opposed
to the CoM estimation solution offered by use of AT, I validated this by attaching a small mass of
1.367 kg to the left upper limb of the user. Though a much larger mass could have been used to
overemphasize the SESC method’s advantage over AT of accounting for mass distributions of the
particular subject, a small mass was used for the convenience of the user and to reduce fatigue.
76
The CoM was then computed using the SESC method and AT. When calculating the CoM using
AT, the mass of the user was increased by 1.367 kg.
The subject was asked to perform the same identification poses and results were then
obtained for 10 static poses.
It was observed that there was still a gap between the SESC/CoP and AT/CoP rms errors
in the anterior-posterior direction, with the AT/CoP rms error being larger. However, now there
was also a much larger rms error for the AT/CoP in the medio-lateral direction since the mass
asymmetry was applied in this plane. The results are tabulated below and a graphical representation
is also provided.
Pose
Actual
CoPx
(cm)
SESC
Calculated
CoMx
(cm)
AT
calculated
CoMx
(cm)
Actual
CoPz
(cm)
SESC
Calculated
CoMz
(cm)
AT
calculated
CoMz
(cm)
1 -12.3662 -12.2287 -13.4396 15.1442 14.3955 3.4407
2 -14.9514 -15.5490 -13.9953 15.7968 15.1531 2.7027
3 1.4790 2.2492 4.1145 10.9239 10.5375 6.7353
4 -12.0012 -11.4865 -10.6295 13.8486 13.5248 4.9115
77
5 1.3152 0.6776 1.5659 10.8207 10.6840 7.2116
6 -11.8744 -11.9669 -10.7691 12.6850 10.7243 4.05
7 -10.6507 -10.5264 -10.3881 15.5296 14.6950 3.2645
8 0.4499 0.2047 0.3658 11.5670 11.1581 6.029
9 1.3235 0.9528 3.2205 11.8231 11.6481 6.3115
10 -13.6434 -13.1596 -12.3345 13.7760 13.8254 4.5418
Table 13 – Comparison of CoM (SESC), CoP and CoM (AT) values
The graphical results are as follows:
78
Figure 43 – Comparison of the CoM x-component estimated using SESC method with CoP and
AT values
Figure 44 – Comparison of the CoM z-component estimated using SESC method with CoP and
AT values
-20
-15
-10
-5
0
5
10
CoM
x (
cm)
Trial (n)
CoP SESC AT
0
2
4
6
8
10
12
14
16
18
CoM
z (c
m)
Trial (n)
CoP SESC AT
79
The rms errors recorded are displayed in table 14:
Techniques of
comparison
RMS error (mm)
Medio-lateral direction Anterior-posterior direction
SESC/CoP 4.58 7.73
AT/CoP 13.25 88.89
Table 14 – RMS errors
We can also compare the vertical components of the CoM calculated using the SESC and AT
methods. The rms error is 11.387 cm.
SESC calculated CoMy AT calculated CoMy
78.6348 85.1019
81.6244 89.6133
84.5138 89.2902
84.5923 95.4903
64.9094 92.2025
73.1595 80.415
84.3522 90.0965
83.7562 88.0614
88.5611 92.4122
79.2738 92.8915
80
Table 15 – Comparison of CoM vertical values
0
5
10
15
Without Load With Load
Comparison of SESC/CoP and AT/CoP rms errors in the Frontal Plane
SESC/CoP rms error AT/CoP rms error
0
20
40
60
80
100
Without Load With Load
Comparison of SESC/CoP and AT/CoP rms errors in the Sagittal Plane
SESC/CoP rms error AT/CoP rms error
Figure 45 – Comparison of the SESC/CoP and AT/CoP rms errors in the frontal
plane
Figure 46 – Comparison of the SESC/CoP and AT/CoP
rms errors in the sagittal plane
81
7 CONCLUSION AND FUTURE WORK
The method of determining a human subject’s whole body CoM using the SESC with the
help of commercial off-the-shelf devices Kinect and Wii was successfully developed and verified
in this study. A MATLAB GUI was designed to provide a user-friendly interface. The validation
of human CoM estimation solutions is an open topic, as the quantity cannot be directly measured
[2]. The only reliable validation method we can use in our case is the Wii CoP values.
The method is as accurate as the number of identification poses. However, quite a few
poses could not be used in the identification process because of the limitation of the Kinect. It was
observed that the skeleton tracking was off for many poses. This was observed especially in the
sagittal plane study.
For the vertical component of the CoM, it was found that a theoretically accurate value was
only attainable using the SESC method if the identification step contained postures in which the
trunk was bent forward and as close to being parallel to the ground as possible. This was deduced
after substituting values of the hip angle in the sagittal plane study for the pose in question with
angles close to 180 degrees. The vertical component value was seen to rise significantly. In fact,
it was almost equal to half of the user’s height and close to the theoretically correct value.
For some poses that I used, the Kinect made errors while tracking the skeleton as can be
seen. These led to errors in the SESC parameters which resultantly led to errors in the CoM
estimation.
82
Figure 47 – Kinect skeleton is distorted for some poses
The maximum error was observed in the sagittal plane study. The reason for this is the poor
tracking of the Kinect that was observed in the identification stage. Also, only a small number of
identification poses could be used while ensuring that the joint values as well as the CoP values
were well distinguished from each other, while taking into account only those poses that the Kinect
could track. Nevertheless, very encouraging results were obtained for the frontal plane and 3D
studies because of the large number of poses that could be used.
This system that has been developed has made use of portable, non-invasive and
inexpensive devices which require only a fraction of the price and set-up time need to use
traditional laboratory grade equipment.
Future work includes adding a tool to display the SESC online, thereby providing a
visualization of the SESC. A tool can also be developed to let the user know during the
identification when the calibration process converges, so as to remove unnecessary poses.
83
REFERENCES
[1] Cotton, S., Murray, A., Fraisse, P., 2009, “Estimation of the Center of Mass: From
Humanoid Robots to Human Beings”, IEEE/ASME Transactions on Mechatronics, 14(6),
pp. 707-712
[2] Gonzalez, A., Hayashibe, M., Bonnet, V., Fraisse, P., 2014, “Whole Body Center of Mass
Estimation with Portable Sensors: Using the Statically Equivalent Serial Chain and a
Kinect”, Sensors, 14, pp. 16955-16971
[3] Zabjek, K. F., Coillard, C., Rivard, C. H., Prince, F., 2008, “Estimation of the Center of
Mass for the Study of Postural Control in Idiopathic Scoliosis Patients: A Comparison of
Two Techniques”, European Spine Journal, 17(3), pp. 355-360
[4] Buchanan, J. J., Horak, F. B., 1999, “Emergence of Postural Patterns as a Function of
Vision and Translation Frequency”, Journal of Neurophysiology, 81(5), pp. 2325-2339
[5] Jian, Y., Winter, D. A., Ishac, M. G., 1993, “Trajectory of the Body COG and COP during
Initiation and Termination of Gait”, J. Gait Posture, 1(1), pp. 9-22
[6] United Nations, 2013, “World Population Ageing”, Population Division of the Department
of Economic and Social Affairs of the United Nations, New York, New York
[7] Cotton, S., Vanonvini, M., Fraisse, P., Ramdani, N., Demircan, E., Murray, A. P., Keller,
T., 2011, “Estimation of the Center of Mass from Motion Capture and Force Plate
Recordings: A Study on the Elderly”, Applied Bionics and Biomechanics, 8(1), pp. 67-84
[8] Frontera, W. R., Hughes, V. A., Lutz, K. J., Evans, W. J., 1991, “A Cross-sectional Study
of Muscle Strength and Mass in 45- to 78-yr Old Men and Women”, Journal of Applied
Physiology, 71(2), pp. 644-650
84
[9] Vandervoot, A. A., McComas, A. J., 1986, “Contractile Changes in Opposing Muscle of
the Human Ankle Joint with Aging”, Journal of Applied Physiology, 61(1), pp. 361-367
[10] Thompson, L. V., Brown, M., 1999, “Age-related Changes in Contractile Properties of
Single Skeletal Fibers from the Soleus Muscle”, Journal of Applied Physiology, 86(3), pp.
881-986
[11] Tromp, A. M., Smit, J. H., Deeg, D. J. H., Bouter, L. M., Lips, P., 1998, “Predictors for
Falls and Fractures in the Longitudinal Aging Study Amsterdam”, Journal of Bone and
Mineral Research, 13(12), pp. 1932–1939
[12] Tinetti, M. E., Speechley, M., Ginter, S. F., 1988, “Risk Factors for Falls among Elderly
Persons Living in the Community”, New England Journal of Medicine, 319(216), pp.
1701–1707
[13] Nevitt, M. C., Cummings, S. R., Kidd, S., Black, D., 1989, “Risk Factors for Recurrent
Nonsyncopal Falls: A Prospective Study”, Journal of the American Medical Association
Impact Factor & Information, 261(18), pp. 2663–2668
[14] http://www.cdc.gov/homeandrecreationalsafety/falls/adultfalls.html
[15] Sattin, R. W., Lambert Huber, D. A., DeVito, C. A., Rodriguez, J. G., Ros, A., Bacchelli,
S., Stevens, J. A., Waxweiler, R. J., 1990, “The Incidence of Fall Injury Events Among the
Elderly in a Defined Population”, American Journal of Epidemiology, 131(6), pp. 1028–
1037
[16] Hellstrom, K., Vahlberg, B., Urell, C., Emtner, M., 2009, “Fear of Falling, Fall-related
Self-efficacy, Anxiety and Depression in Individuals with Chronic Obstructive Pulmonary
Disease”, Clinical Rehabilitation, 23(12), pp. 1136-1144
85
[17] Painter, J. A., Elliott, S. J., Hudson, S., 2009, “Falls in Community-dwelling Adults Aged
50 Years and Older: Prevalence and Contributing Factors”, Journal of Allied Health, 38(4),
pp. 201-207
[18] Cotton, S., 2010, "Modélisation, Dynamique et Estimation du Centre de Masse de Robots
Humanoïdes", PhD Thesis, Université de Montpellier II, Montpellier, France
[19] Gonzalez, A., Hayashibe, M., Fraisse, P., 2012, “Estimation of the Center of Mass with
Kinect and Wii Balance Board”, IEEE/RSJ International Conference on Intelligent Robots
and Systems, Vilamoura, Algarve, Portugal, pp. 1023-1028
[20] Espiau, B., Boulic, R., 1998, “On the Computation and Control of the Mass Center of
Articulated Chains”, Research Report No. 3479, Institut National de Recherche en
Informatique et en Automatique, Grenoble, France
[21] Fillenbaum, G. G., 1984, “The Wellbeing of the Elderly: Approaches to Multidimensional
Assessment”, WHO Offset Publication No. 84, World Health Organization, Geneva,
Switzerland
[22] http://mechatronics.eng.buffalo.edu/research/CPSproject/index.html
[23] http://www.exo.net/~pauld/activities/baseball/bat2findcofm800.jpg
[24] Vukobratovic, M., 2004, “Zero Moment Point – Thirty-five Years of its Life”, IEEE
International Journal of Humanoid Robotics, 1, pp. 157-173
[25] https://en.wikipedia.org/wiki/Zero_moment_point
[26] Gonzalez, A., Hayashibe, M., Fraisse, P., 2013, “Online Identification and Visualization
of the Statically Equivalent Serial Chain via Constrained Kalman Filter”, IEEE
86
International Conference on Robotics and Automation, Karlsruhe, Germany, pp. 5323-
5328
[27] Sardain, P., Bessonnet, G., 2004, “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), pp. 630-637
[28] Jaffrey, M. A., 2008, “Estimating Center of Mass Trajectory and Subject-Specific Body
Segment Parameters Using Optimization Approaches”, PhD thesis, Victoria University,
Memphis, TN
[29] Schepers, H. M., van Asseldonk, H. F., Buurke, J. H., Veltink, P. H., 2009, “Ambulatory
Estimation of Center of Mass Displacement during Walking”, IEEE Transactions on
Biomedical Engineering, 56(4), pp. 1189-1195
[30] Lafond, D., Duarte, M., Prince, F., 2004, “Comparison of Three Methods to Estimate the
Center of Mass during Balance Assessment”, Journal of Biomechanics, 37(9), pp. 1421-
1426
[31] Winter, D. A., Patla, A. E., Prince, F., Ishac, M., Gielo-Perczak, K., 1998, “Stiffness
Control of Balance in Quiet Standing”, Journal of Neurophysiology, 80(3), pp. 1211–1221
[32] De Leva, P., 1996, “Adjustments to Zatsiorsky-Seluyanov’s Segment Inertia Parameters”,
Journal of Biomechanics, 29(9), pp. 1223-1230
[33] Winter, D. A., 2005, Biomechanics and motor control of human movement, John Wiley &
Sons, Inc., Hoboken, NJ
87
[34] Zatsiorsky, V. M., Seluyanov, V. N., Chugunova, L. G., 1990, “Methods of Determining
Mass-Inertial Characteristics of Human Body Segments”, Contemporary Problems of
Biomechanics, CRC Press, Boca Raton, FL, pp. 272-291
[35] Damavandi, M., Dalleau, G., Stylianides, G., Rivard C. H., Allar, P., 2013, “Head and
Trunk Mass and Center of Mass Position Estimations in Able-Bodied and Scoliotic Girls”,
Medical Engineering & Physics, 35(11), pp. 1607-1612
[36] Chambers, A. J., Sukits, A. L., McCrory, J. L., Cham, R., 2010, “The Effect of Obesity and
Gender on Body Segment Parameters in Older Adults”, Clinical Biomechanics, 25(2), pp.
131-136
[37] Venture, G., Ayusawa, K., Nakamura, Y., 2009, “Real-time Identification and
Visualization of Human Segment Parameters”, Annual International Conference of the
IEEE Engineering in Medicine and Biology Society, 2009, pp. 3983-3986
[38] Caron, O., Faure, B., Breniere, Y., 1997, “Estimating the Center of Gravity of the Body on
the Basis of the Center of Pressure in Standing Posture”, Journal of Biomechanics, 30(11),
pp. 1169-1171
[39] Breniere, Y., 1996, “Why We Walk the Way We Do”, Journal of Motor Behavior, 28(4),
pp. 291-298
[40] Shimba, T., 1984, “An Estimation of Center of Gravity from Force Platform Data”, Journal
of Biomechanics, 17(1), pp. 53-60
[41] King, D., Zatiorsky, V., 1997, “Extracting Gravity Line Displacement from Stabilographic
Recording”, Journal of Gait Posture, 6(1), pp. 27-38
88
[42] Bonnet, V., Gonzalez, A., Azevedo-Coste, C., Hayashibe, M., Cotton, S., Fraisse, P., 2015,
“Determination of Subject Specific Whole-Body Center of Mass Using the 3D Statically
Equivalent Serial Chain”, Gait & Posture, 41(1), pp. 70-75
[43] http://mathworld.wolfram.com/Pseudoinverse.html
[44] Moore, E. H., 1920, “On the Reciprocal of the General Algebraic Matrix”, Bulletin of the
American Mathematical Society, 26, pp. 394-495
[45] Penrose, R., 1955, “A Generalized Inverse for Matrices”, Proceedings of the Cambridge
Philosophical Society, 51, pp. 406-413
[46] Penrose, R., 1956, “On Best Approximate Solution of Linear Matrix Equations”,
Proceedings of the Cambridge Philosophical Society”, 52, pp. 17-19
[47] Khalil, W., Dombre, E., 2004, “Modeling, Identification & Control of Robots”, Kogan
Page Science Paper Edition, Butterworth-Heinemenn, Oxford, UK
[48] Reid, J. G., 1984, “Physical Properties of the Human Trunk as Determined by Computed
Tomography”, Archives of Physical Medicine and Rehabilitation, 65(5), pp. 246-250
[49] Jensen, R. K., 1978, “Estimation of the Biomechanical Properties of Three Body Types
using a Photogrammetric Method”, Journal of Biomechanics, 11(8-9), p. 349-358
[50] Dempster, W., Gaughran, G. R. L., 1967, “Properties of Body Segments Based on Size and
Weight”, American Journal of Anatomy, 120(1), p. 33-54
89
[51] Gonzalez, A., Hayashibe, M., Fraisse, P., 2012, “Three Dimensional Visualization of the
Statically Equivalent Serial Chain from Kinect Recording”, 34th Annual International
Conference of the IEEE EMBS, San Diego, CA, pp. 4843-4846
[52] Stone, E. E., Skubik, M., 2011, “Evaluation of and Inexpensive Depth Camera for Passive
In-home Fall Risk Assessment”, 5th International Conference on Pervasive Computing
Technologies for Healthcare, Dublin, Ireland, pp. 71-77
[53] Hu, R. Z.-L., Hartfiel, A., Tung, J., Fakih, A., Hoey, J., Poupart, P., 2011, “3D Pose
Tracking of Walkers Users’ Lower Limb with a Structured Light Camera on a Moving
Platform”, 2011 IEEE Computer Society Conference on Computer Vision and Pattern
Recognition Workshops, Colorado Springs, CO, pp. 29-36
[54] Bo, A. P. L., Hayashibe, M., Poignet, P., 2011, “Joint Angle Estimation in Rehabilitation
with Inertial Sensors and its Integration with Kinect”, Engineering in Medicine and
Biology, pp. 3479-3483
[55] www.microsoftstore.com
[56] http://neareal.net/index.php?Kinect%2FKinectForWindowsSDK%2FTips%2FJointTypeValue
[57] http://www.mathworks.com/hardware-support/kinect-windows.html
[58] https://en.wikipedia.org/wiki/Wii_Balance_Board
[59] Clark, R. A., Bryant, A. L., Pua, Y., McCrory, P., Bennell, K., Hunt, M., 2010, “Validity
and Reliability of the Nintendo Wii Balance Board for Assessment of Standing Balance”,
Gait & Posture, 31(3), pp. 307–310
90
[60] Deutsch, J., Robbins, D., Morrison, J., Bowlby, P. G., 2009, “Wii-based Compared to
Standard to Care Balance and Mobility Rehabilitation using the Nintendo Wii Balance
Board”, IEEE Virtual Rehabilitation International Conference, pp. 117-120
[61] Kennedy, M. W., Schmiedeler, J. P., Crowell, C. R., Villano, M., Striegel, A. D., Kuitse,
J., “Enhanced Feedback in Balance Rehabilitation using the Nintendo Wii Balance Board”,
IEEE 13th International Conference on e-Health Networking, Applications and Services,
Columbia, MO, pp. 162-168
[62] http://www.colorado.edu/neuromechanics/research/wii-balance-board-project
[63] Winter, D. A., Prince, F., Frank, J. S., Powell, C., Zabjek, K. F., 1996, “Unified Theory
Regarding A/P and M/L Balance in Quiet Standing”, Gait and Posture, 75(6), pp. 2334–
2343
[64] Winter, D.A., 1995, “Human Balance and Posture Standing and Walking Control during
Standing and Walking”, Gait Posture, 3(4), pp. 193-214
[65] https://msdn.microsoft.com/en-us/library/hh973078.aspx
[66] http://ese499kinect.weebly.com/matlab-code.html
[67] https://en.wikipedia.org/wiki/Sagittal_plane
[68] Cotton, S., Murray, A., Fraisse, P., 2009, “Estimation of the Center of Mass Using
Statically Equivalent Serial Chain Modeling”, Paper No. DETC2009-86227, ASME
International Design Engineering Technical Conferences & Computers and Information in
Engineering Conference, San Diego, CA, 7, pp. 961-967
91
[69] Nixon, M. E., Howard, A. M., Chen, Y.-P., 2013, “Quantitative Evaluation of the Microsoft
Kinect for Use in an Upper Extremity Virtual Rehabilitation Environment”, International
Conference on Virtual Rehabilitation, Philadelphia, PA, pp. 222-228
[70] Winter, D., Sidwall, H. G., Hobson, D., 1974, “Measurement and reduction of noise in
kinematics of locomotion”, Journal of Biomechanics, 7(2), pp. 157-159
[71] www.mathworks.com
[72] Elmer, S., Martin, J., 2009, “Fourier Series Approximations and Low Pass Filtering:
Facilitating Learning of Digital Signal Processing for Biomechanics Students”,
Sportscience, 13, pp. 1-8