Professional Documents
Culture Documents
Multi-Layer Perceptron Neural Network - MLPNN - For Effective Normal Gait Parameters Estimation
Multi-Layer Perceptron Neural Network - MLPNN - For Effective Normal Gait Parameters Estimation
Abstract—Progression action by the body and the time The first strategy is using available data from literature.
taken to complete a walking cycle are the most basic Human kinematics were studied and lower limb joint angles
descriptions of walking. In human walking, these of healthy subjects walking normally were recorded and
parameters are defined as stride length and cadence, presented in some textbooks [1, 2]. Robotic devices such as
respectively. They are the fundamental gait parameters WalkTrainer [3], Driven Gait Orthosis (DGO) [4] select the
that determine the pattern of motion of a particular gait. averaged lower limb joint angle traces from textbook and
There are strong relationships between human anatomy use them as reference trajectories in the rehabilitation
features and their gait parameters. However, these training process. On the other hand, desired trajectories for
relationships are vaguely understood. In this paper, we assisted gait training robot such as ALEX [5] and Gait
propose a method using multilayer perceptron neuron Trainer GT-I [6] are obtained from their own database.
network (MLPNN) to obtain the value of gait Some templates of desired ankle trajectories were
parameters for natural walking using human anatomy constructed from healthy subjects. A template is chosen for
features as input. These gait parameters will supplement training process when healthy subject’s dimensions,
the objective gait planning for rehabilitation purpose. primarily thigh and shank length, closely match with the
GAITRite is used to collect data from 30 healthy patient’s. However, the two strategies have some
subjects. MLPNN is designed and trained. Learning disadvantages. Firstly, there are variations of the overall
algorithm of the MLPNN to process experiment data is patterns for the hip, knee and ankle [2]. Therefore, using an
also discussed in this paper. Walking index and a range averaged trajectory of normal walking people for patients
of suggested walking speed are the two outputs of with different anatomy is not appropriate. In the second
MLPNN. With these outputs, stride length and cadence strategy, the number of healthy subjects involved to
are computed. The result section of this paper shows two determine target trajectory is small. Moreover, gait pattern
main advantages of using MLPNN compared to existing and parameters not only depends on thigh and shank length
method. Firstly, normal walking velocity is suggested for but also depends on some other parameters such as age,
the patient. This is the first step in the rehabilitation gender, weight and height. Therefore, more data and details
training process. Secondly, stride length and cadence of mapping algorithm are required to generate a suitable gait
computed from index given by MLPNN is more accurate pattern for a specified patient.
than using constant value of index. The paper ends with The gait pattern from healthy people is desired for gait
a summary of result and future work. rehabilitation training but its proper definition is lacking.
Most of gait rehabilitation robots and devices used
I. INTRODUCTION simplified approaches to replicate lower limb kinematics [4,
7]. Little information on the gait pattern used for robotic
G AIT planning and customization is one of the key
concerns for robotic assisted gait rehabilitation. Before
using robotic assisted gait rehabilitation for patients
orthosis was revealed. It’s only known that the gait patterns
can be created according to the patient’s height and lower
limb joints’ range of motion [8].
suffered from Spinal Cord Injured (SCI) and stroke, gait Generating a gait pattern that resembles a healthy
pattern should be planed and tailored for the patient. There human gait pattern is critical for the gait rehabilitation
are two major strategies to generate the desired gait pattern. process [9, 10]. However, based on the above arguments,
this problem has not been satisfactorily addressed.
Manuscript submitted Feb 9th ,2010. In view of issues mentioned above, the concept of using
Trieu Phat Luu is PhD student of School of Mechanical and Aerospace gait pattern generator (GaitGen) was introduced [11].
Engineering, Nanyang Technological University, Singapore. (Phone: +65-
GaitGen is expected to generate and implement natural gait
6790-5568; fax: +65-67935921; e-mail: luut0004@ntu.edu.sg).
H.B. Lim is PhD student of School of Mechanical and Aerospace patterns for robotic assisted gait rehabilitation. Gait pattern
Engineering, Nanyang Technological University, Singapore. (e-mail: is significantly affected by gait parameters such as stride
limh0048@ntu.edu.sg). length and cadence. In this work, the method of generating
Xingda Qu is Assistant Professor of School of Mechanical and
the gait parameters in explored.
Aerospace Engineering, Nanyang Technological University, Singapores. (e-
mail: XDQU@ntu.edu.sg The outline of this paper is as follows: the method of
K.H. Low is Professor of School of Mechanical and Aerospace using MLPNN to obtain gait parameters for GaitGen is
Engineering, Nanyang Technological University, Singapore. He is the introduced in section II. This section also discusses about
principal investigator of the project. (phone: 65-67905755; e-mail: MLPNN design and training algorithm. Section III describes
mkhlow@ntu.edu.sg).
the experiment set up using GAITRite. Section IV presents
the results of MLPNN output and gait parameter calculation. accordingly to patient’s anatomy. The gait parameters
Finally, section V is the conclusion, discussion and future formula is modified as follows:
work. stride _ length
index = (2)
Patient’s Anatomy cadence × body _ height
Parameters MLPNN is proposed to suggest a prefer walking speed
Height for patient and the index for the gait parameters formula.
Doctor/ From the suggested values, the stride length and cadence can
Physiotherapy
Patient Physical be calculated for gait pattern generation. The detail of
Constraint defining gait pattern from gait parameters (stride length,
Measured cadence) is discussed in [11].
Gait Parameters A set of experiment with 30 healthy subjects walking at
Specified their preferred walking speed on GAITRite is conducted.
Walking
Their parameters such as: age, gender, leg length, height and
Speed
weight are recorded and the value of stride length and
cadence are measured during the experiment. Each
parameter has effect on stride length and cadence because
Normalized Gait the p-value obtained by using Anova testing method [14] is
Parameters Formula
Discussed in less than 0.01. However, the relationship between these five
this paper parameters and gait parameters (stride length, cadence) is
Stride Length and Cadence
non-linear and vague. Since MLPNN is a good method for
non-linear function approximation, it is used in this paper
Lower Limb Kinematics with these five parameters as inputs.
Database
B. MLPNN architecture design
Gait Pattern Mapping The proposed MLPNN has 1 input layer, 1 hidden layer,
Algorithm and 1 output layer. The input layer has 5 nodes and each
node represents an input variable. Similarly, the output layer
Extreme
has 4 nodes represent four output variables. The hidden
Gait Pattern Generator layer contains 16 neurons. W1 is the input weight matrix and
W2 is the layer weight matrix. bij is the bias value of neuron
Gait Pattern j in layer i . The MLPNN’s architecture is depicted in
Figure 2.
Fig.1. Overall concept of the gait pattern generator.
A. Method of GaitGen
First of all, the patient’s anthropometric dimensions are
measured and a normal walking speed is specified by users
as inputs to GaitGen. The first step of gait pattern generation
is defining an appropriate walking speed for a specific
patient which is important in the whole rehabilitation
training process. In this paper, we applied a multi-layer
perceptron neural network to recommend a suitable walking
speed for a specific patient. After the users specify the
inputs, the normalized gait parameter module is able to
specify the suitable stride length and cadence.
GaitGen contains a module based on the normalized gait Fig.2. Architecture of MLPNN.
parameters formula which is first introduced by Inman et al. In forward computation process, each neuron in MPLNN
[12]. This formula describes the relationship between stride has an activation function to provide the output. In this
length, step frequency and body height as follows: paper, we use the hyperbolic tangent sigmoid transfer
stride _ length function which is derivative and give the output lies in the
= 0.008 (1) range of ( −1 ≤ y j (n) ≤ 1)
cadence × body _ height
bγ j ( n ) − bγ j ( n )
However, this formula is mainly derived for men and the e −e
constant value is not the same for subjects from Asian y j (n) = ϕ j ⎡⎣γ j (n) ⎤⎦ = a bγ j ( n ) − bγ j ( n )
(3)
e +e
population [13]. In this work, instead of using the constant
where:
value (0.008), we consider it as an index which is changing
ϕ j : activation function of neuron j D. Learning algorithm
γ j (n) : activation signal of neuron j During the training process of MLPNN, input vectors are
applied to the neural network and responses from the neural
a,b: constant value
network will be obtained. The output vectors from neural
Before training the MLPNN, input vectors and targets
network are different from priori target responses by vector
are scaled so that they fall in the range [-1, 1]. The output
error e(x). In order to approximate the non-linear
vectors of the network will be trained to produce value in
relationship between the input and output vectors, these
the range [-1, 1]. These outputs will be converted back into
error must be minimized. For this purpose, a supervised
the original units.
learning paradigm is applied to adjust the synaptic weights
C. Effect of the number of neurons in hidden layer of MLPNN so that its output vectors will match with desired
The number of neurons in hidden layer of MLPNN has a output vectors from data set.
significant effect on the output of the network. If the number Error back propagation (EBP), basically a gradient
of neurons in hidden layer is small, the MLPNN will not descent search algorithm, was a significant breakthrough
perform well on the training data and might be under- training algorithm [16]. However, this algorithm has two
trained. On the other hand, if the number of neurons in disadvantages: firstly, it is not robust and easy to be trapped
hidden layer is large, it might be over-trained and perform at local minimum value; secondly, the convergence rate is
well on the training data but very bad on the test set. Our very slow. Therefore, many attempts have been made to
purpose is to approximate the relationship between input and improve the EBP algorithm. Lavenberg-Marquardt (LM)
output vectors by using MLPNN to minimize the difference method was invented and it is now considered as the most
between output from MLPNN and desired output vectors. efficient algorithm when the network contains no more than
Therefore, we can consider the mean square error (MSE) as a few hundred weights [17, 18].
a fitness function and apply Genetic Algorithm (GA) to find When an input vector is applied to the network, the
the optimal value of the number of neurons in the hidden forward calculation is conducted and an output response
layer [15]. However, there are some disadvantages when from the network is given. The difference between network
using GA. Firstly, the initial values of weight matrices W1, output and target output is e(x), in which x is the input
W2 and bias vector bij , have effect on MSE, so we may vector. The function of neural networks is to minimize sum
of squares error function described by
obtain several MSE values with the same number of neurons N
in the hidden layer. Secondly, using GA, we will not be able E ( x ) = ∑ ei2 ( x) (4)
to display the effect of number of neurons in hidden layer on i =1
the output. For these reasons, we apply the trial and error Applied the Newton method, the input vector x can be
method to compare MLPNNs with different numbers of updated as follows:
neurons in the hidden layer. The number of neurons in the Δx = −[∇ 2 E ( x)]−1 ∇E ( x) (5)
hidden layer will be varied from 6 to 20 to create 15 where
networks and each network will be run 100 times. After ∇E ( x) = J T ( x)e( x) (6)
each run, the value of stride length, slMLPNN and cadence,
cadenceMLPNN will be obtained (detail in section IV).When ∇ 2 E ( x) is the Hessian matrix and it can be approximated
the value slMLPNN out of the range sl ± σ sl or cadenceMLPNN as:
out of the range cadence ± σ cadence , this run will be ∇ 2 E ( x) = J T ( x) J ( x) (7)
considered as fail. The effect of number of neurons in where J ( x) is the Jacobian matrix
hidden layer is illustrated in Figure 3. From this figure, we Then the update vector for the Gauss-Newton method is
choose 16 neurons in hidden layer for MLPNN which gives Δx = −[ J T ( x) J ( x)]−1 J T ( x)e( x) (8)
98 success in 100 runs (98%).
Levenberg-Marquardt algorithm is a modification of
Newton method as follows:
Δx = −[ J T ( x) J ( x) + μ I ]−1 J T ( x)e( x) (9)
When the scalar μ is zero, LM algorithm becomes
Newton’s method. When μ is large, this becomes gradient
descent method.
i: ith subject in the experiment, i=1 to 30 ( μindex ± σ index ) is the range of index obtained from
j: jth walking of one subject, j=1 to 5
experiment data (Table 1) and indexMLPNN is the value
When subjects walk on the GAITRite system, their stride
obtained from MLPNN for testing data. They are illustrated
length and cadence are recorded. The index value is derived
in Figure 4.
from the normalized gait equation [12] as follows:
stride _ length
index = (10)
cadence × body _ height
Among thirty healthy subjects involved in our
experiment, twenty-five subjects’ data were used for data
training and verification and the rest were used for testing
purpose. Desired output data for the five testing subjects are
recorded and computed in Table 1.
TABLE.1. EXPERIMENT DATA FOR THE TEST SET (5 SUBJECTS).
Index
Stride
Sub Walk Height Cadence Speed (Derived
Length
ject # (cm) (steps/min) (cm/s) from
(cm)
Eq.8)
1 #1 1.68 115.00 108.40 103.90 0.006315
1 #2 1.68 118.12 109.40 106.60 0.006427
1 #3 1.68 121.86 111.90 113.20 0.006482
1 #4 1.68 120.96 110.30 110.20 0.006528
1 #5 1.68 120.63 107.90 108.70 0.006654 Fig.4. Result of index for test set (5 subjects).
2 #1 1.65 121.53 113.20 112.40 0.006507
2 #2 1.65 134.03 109.10 122.30 0.007445 B. Comparison of velocity by MLPNN and experiment.
2 #3 1.65 141.33 109.10 128.20 0.007851
2 #4 1.65 134.98 109.10 123.10 0.007498 Similarly, the range of normal walking velocity
2 #5 1.65 137.63 108.60 124.00 0.007681
( μv ± σ v ), minimum and maximum value (vmin, vmax)in are
3 #1 1.75 134.20 115.80 130.40 0.006622
3 #2 1.75 129.00 111.90 121.10 0.006587 calculated from experiment data (Table 1). Output of
3 #3 1.75 127.54 114.50 122.30 0.006365
3 #4 1.75 122.16 110.70 113.60 0.006306
velocity vMLPNN and the range (vmin, vmax)MLPNN for 5 subjects
3 #5 1.75 121.99 110.30 112.90 0.006320 in test set are obtained after training MLPNN. The
4 #1 1.70 123.93 106.80 110.30 0.006826 comparison of vMLPNN and the range of desired value output
4 #2 1.70 125.65 105.60 110.70 0.006999
4 #3 1.70 126.45 106.80 113.40 0.006964 μv ± σ v is described in Figure 5. The comparison of (vmin,
4 #4 1.70 128.10 109.10 115.10 0.006907
4 #5 1.70 134.17 104.30 116.10 0.007567 vmax)MLPNN and (vmin, vmax)in is also displayed in Figure 5.
5 #1 1.74 140.95 121.20 142.30 0.006683
5 #2 1.74 136.20 113.70 129.40 0.006884
5 #3 1.74 137.31 115.40 132.00 0.006838
5 #4 1.74 136.01 117.10 133.80 0.006675
5 #5 1.74 137.16 119.00 135.50 0.006624
REFERENCES
[1] V. H. F. Margareta Nordin, Basic biomechanics of the
musculoskeletal system, 3rd ed., 2001.
[2] D. Winter, The biomechanics and motor control of human gait:
normal, elderly and pathological, 2nd ed. Waterloo: University
of Waterloo Press, 1991.
[3] Y. Allemand, Y. Stauffer, R. Clavel, and R. Brodard, "Design of
a new lower extremity orthosis for overground gait training with
the WalkTrainer," in 2009 IEEE International Conference on
Rehabilitation Robotics, ICORR 2009, pp. 550-555, 2009.
[4] G. Colombo, M. Joerg, R. Schreier, and V. Dietz, "Treadmill
training of paraplegic patients using a robotic orthosis," Journal
of Rehabilitation Research and Development, vol. 37, pp. 693-
700, 2000.
[5] S. K. Banala, S. H. Kim, S. K. Agrawal, and J. P. Scholz, "Robot
assisted gait training with active leg exoskeleton (ALEX)," IEEE
Transactions on Neural Systems and Rehabilitation
Engineering, vol. 17, pp. 2-8, 2009.
[6] S. Hussein, H. Schmidt, and J. Kruger, "Adaptive control of an
end-effector based electromechanical gait rehabilitation device,"
in 2009 IEEE International Conference on Rehabilitation
Robotics, ICORR 2009, pp. 366-371, 2009.
[7] C. Y. E. Wang, J. E. Bobrow, and D. J. Reinkensmeyer,
"Dynamic motion planning for the design of robotic gait
rehabilitation," Journal of Biomechanical Engineering, vol. 127,
pp. 672-679, 2005.
[8] J. Hidler, W. Wisman, and N. Neckel, "Kinematic trajectories
while walking within the Lokomat robotic gait-orthosis,"
Clinical Biomechanics, vol. 23, pp. 1251-1259, 2008.
[9] H. Barbeau, M. Wainberg, and L. Finch, "Description and
application of a system for locomotor rehabilitation," Medical