Вы находитесь на странице: 1из 6

Multi-layer Perceptron Neural Network (MLPNN) for

Effective Normal Gait Parameters Estimation

Trieu Phat Luu, H.B. Lim, Xingda Qu, and K.H. Low

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
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
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.
Their parameters such as: age, gender, leg length, height and
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.
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
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 )
e +e
population [13]. In this work, instead of using the constant
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.


We conduct experiment with thirty healthy subjects.
They are instructed to walk on GAITRite [19] five times at
normal walking speed that they feel comfortable with. The
parameters of vector x are recorded. The experiment data
Fig.3. Effect of number of neurons in hidden layer. provides a set of samples {x(i, j), yd(i, j)} for training and
testing of MLPNN.
where Where mean value and standard deviation of index are
x : input vector which contains 5 parameters of subject’s given by:
anatomy 1 N
x=[age, gender, leg_length, height, weight] μindex = ∑ indexi (11)
N i =1
yd: desired output vector which contains 4 elements N
yd=[index, v, vmin, vmax]
v: walking velocity
σ index =
∑ (index − μ
i =1
i index )2 (12)

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.
Sub Walk Height Cadence Speed (Derived
ject # (cm) (steps/min) (cm/s) from
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


By using MLPNN, we can obtain an appropriate index
and velocity for each person with particular input anatomy.
The stride length and cadence will be derived from
indexMLPNN and walking velocity which are the outputs from
Even when a subject is instructed to walk at the speed
that he feels comfortable with, the value of his stride length,
cadence and velocity still vary. These differences are shown Fig.5. Result of velocity for test set (5 subjects).
in Table 1 and they are defined by standard deviation σ . Our purpose is to ensure that the gait parameters which
are the input for GaitGen [11] are as natural as possible.
A. Comparison of index by MLPNN and experiment. Since the output value indexMLPNN is within the range
From the data of each subject, we calculated the range of index ± σ index and vMLPNN is within the range μv ± σ v , we can
index ( μindex ± σ index ) .
conclude that using indexMLPNN and vMLPNN can provide an D. Comparison of stride length and cadence with index
estimation that is very close to natural gait parameters. given by MLPNN, index=0.008 and index=0.0072.
C. Comparison of stride length and cadence by MLPNN The value of index and velocity for subject 1 (Table 1)
and experiment obtained from 100 runs with 16 neurons in the hidden layer
are illustrated in Figure 8. The value of index is stable in
From the range (vmin, vmax)MLPNN, clinical practitioner can
100 runs and the velocity in the normal range.
choose an appropriate walking speed v . The recommended
value vMLPNN can be used as well. The walking speed and
index indexMLPNN are applied to define stride length slMLPNN
and cadence cadenceMLPNN as follows:
⎪⎪index = cadence
MLPNN × height
⎨ (13)
⎪v = slMLPNN × cadenceMLPNN
⎪⎩ 120
From the experiment data of the test set (Table 1), the
range of stride length, sl ± σ sl and the range of cadence,
cadence ± σ cadence are calculated. The result of stride length
for 5 subjects in test set slMLPNN are calculated from (13) and
the desired output for sl ± σ sl are shown in Figure 6.

Fig.8. Index and velocity for in 100 runs (subject 1).

From the value of index and velocity given by MLPNN,
the value of stride length and cadence can be calculated
from formula (13). The value of stride length and cadence
are illustrated in Figure 9. The results are stable and 98% in
the range of normal stride length and cadence.
The value of index in normalized gait equation [12] for
male is 0.008. Applying this equation for data obtained from
GAITRite experiment (detail in section III), the value of
index is 0.0072 for both male and female [11]. The value of
stride length and cadence with index=0.008 and
index=0.0072 are also computed and displayed in Figure 9.
With the same velocity, stride length and cadence calculated
Fig.6. Result for stride length of test set (5 subjects). from index given by MLPNN are closest to the ranges given
in the experiment.

Fig.7. Result for cadence of test set (5 subjects).

Similarly, the result of cadence calculated from (13)
cadenceMLPNN for 5 subjects in test set and the desired value
output of cadence from experiment data
cadence ± σ cadence are shown in Figure 7. Fig.9. Stride length and cadence in 100 runs (subject 1).
V. CONCLUSION and Biological Engineering and Computing, vol. 25, pp. 341-
344, 1987.
The concept of using MLPNN to estimate the index [10] A. L. Behrman and S. J. Harkema, "Locomotor training after
value and normal walking velocity is presented. The human spinal cord injury: A series of case studies," Physical
estimated index value and normal walking velocity are then Therapy, vol. 80, pp. 688-700, 2000.
[11] H. B. Lim, K. H. Hoon, Y. C. Soh, A. Tow, and K. H. Low,
used to compute stride length and cadence. After the gait "Gait planning for effective rehabilitation - From gait study to
parameters are defined, gait patterns can be planned and application in clinical rehabilitation," in 2009 IEEE
applied in gait rehabilitation process. International Conference on Rehabilitation Robotics, ICORR
Instead of using a constant index value for normalization 2009, pp. 271-276, 2009.
[12] H. R. V. T. Inman, and F. Todd, Human Walking, 1st ed.,
gait equation (index=0.008), which was reported in [12], Williams and Wilkins, Baltimore/London, 1981.
MLPNN suggests different index value for different subject. [13] H. B. Lim, K. H. Hoon, Y. C. Soh, A. Tow, and K. H. Low,
The value of constant index (0.008) in [12] was obtained by "Effective gait planning for robotic rehabilitation - From normal
fitted a straight line from data of 20 subjects. Because only gait study to application in clinical rehabilitation," in
IEEE/ASME International Conference on Advanced Intelligent
two out of the 20 subjects are women, this index is useful as Mechatronics, AIM, pp. 1885-1890, 2009.
a reference only for men. By using MLPNN, the index can [14] D. C. Montgomery, Design and Analyis of Experiments, 5th ed.,
be recommended both for men and women since gender is 2001.
one of the 5 parameters in the input vectors. [15] M. J. Er and F. Liu, "Genetic algorithms for MLP neural network
parameters optimization," in 2009 Chinese Control and Decision
The initial study presented in this paper provides a Conference, CCDC 2009, pp. 3653-3658, 2009.
method to define gait parameter for gait planner. The [16] S. Haykin, Neural Networks- A Comprehensive Foundation, 2nd
limitation of this study is that it only covers a small number ed., 1999.
of Asian people involved in the experiment. In the future, [17] M. T. Hagan and M. B. Menhaj, "Training feedforward networks
with the Marquardt algorithm," IEEE Transactions on Neural
more experiments will be conducted to get more data for Networks, vol. 5, pp. 989-993, 1994.
training and test set of MLPNN so that the effectiveness and [18] B. M. Wilamowski, Y. Chen, and A. Malinowski, "Efficient
efficiency of MLPNN will be studied more in depth. algorithm for training neural networks with one hidden layer," in
Proceedings of the International Joint Conference on Neural
Networks, vol. 3, pp. 1725-1728, 1999.
VI. ACKNOWLEDGMENT [19] ""GAITRite System," ", [Online]. Available:
The authors would like to thank the technicians of http://www.gaitrite.com.
Robotics Research Center (RRC) of the Nanyang
Technological University (NTU) for their support to this
work. The financial supported by the NTU and the
equipment funded by the NMRC Research Grant 1051/2006
are also acknowledged.

[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