A Study of Gait and Posture with the Use of Cyclograms

Present-day science makes extensive use of the simulation. Our work focuses on simulating human gait. Simulations of human gait can be used for prosthetics and therapy e.g. rehabilitation, optimizing the movements made by sportsmen, evaluating advances in rehabilitation, etc. Methods of AI can also be used for predicting gait movement and for identifying disorders. Our project is about measuring human gait, simulating the musculo-skeletal system in order to study study walking and predicting and quantifying gait with the use of neural networks. The research is being carried out in the biomechanics laboratory at FBE CTU, and is intended for use in clinical practice at the 2nd Faculty of Medicine, Charles University.


Methods
For a study of gait angles, we decided to use methods based on measurements of the geometric properties of bilateral cyclograms (also called angle-angle diagrams).The symmetry measures are simple and physically meaningful, objective, reliable and well suited for a statistical study [1].Furthermore, the technique is strongly rooted in geometry and the symmetry measures are intuitively understandable [3].Depending on the cyclicity of the gait, cyclograms are closed trajectories generated by simultaneously plotting two (or more) joint variables.In gait study, the easily identifiable planar hip-knee cyclograms have traditionally received the most attention.In order to quantify the symmetry of human walking, we also obtained and studied cyclograms from the same joint from two sides of the body [2].

Measuring systems
We used two methods for measuring gait and movement: an infrared (IR) camera with active markers, and a web camera.First, we had to measure a human gait to obtain a quantum of data.For this purpose, we used two methods of movement in the space measure.
The first method used an IR camera (Fig. 2.) with active markers (Lukotronic AS 200), which was available from the external workplace Joint CTU Department of Biomedical Engineering and Charles University.We placed LED diodes markers on the measured person at the following points: malleolus lateralis, epicondylus lateralis, trochanter major and spina iliaca anterior superior.By this method we were able to register the movement in three dimensional space.The second method was to record a video of human walking, using a web camera.The video was consecutively analyzed in Coach6, version 6.1.In this case, we made our own circular markers, which contrasted with the clothing of the measured person, who was dressed in black.The Coach6 program is an adequate tool for detecting the markers.We chose frames of the video that were usable for our analysis, and we marked the positions of the markers in them, one by one.This video method provided only two-dimensional co-ordinates of the captured markers.

Model
A model of human body was created in the Matlab (Mathematic Laboratory), version R2008b environment with SimMechanics (Simulink toolbox) for simulating and modeling mechanical elements and their directions.To create a model of the human body we used the SimMechanics tool blocks.For a practically useable model, a big block was built to form the base of the model.A skeletal was formed by a body block and custom joints.With the help of the joint actuator block, the data acquired by one of the measuring systems was imported to the body model.Using the joint sensor block, data could be exported from the body model (Fig. 3).The present model was updated by the mass of the body.The user working with the program filled in a small form including information on height, weight and sex.With a subprogram we computed the length and weight of each segment of subject's body.
Several methods can be used for determining the weight of the individual segments.Unfortunately, none of them is absolutely exact, so we have to count with a weight error.We decided to calculate the mass of the segments by means of experimentally acquired coefficients.The coefficients are stochastic, and applying them for an average population involves a weight error, because the authors (Zatsiorsky, Bohn, Shan, et al.) carried out their experiments on a different population.
We wanted to calculate the weight of the individual body segments.The optimal equation using experimentally appointed coefficients B 0i , B 1i a B 2i takes the form: Where m i is the weight of an individual segment (kg), m is the total weight of the subject, and h is the height of the subject (cm).
Table 1 shows our experimental weight coefficients.Other methods for finding out the weight of the segments can also be used, e.g.subaqueous weighing according to the Archimedes principle.However, this method is not applicable for our example.
We can compute the loading of the joints and the moments of inertia of the body segments using a similar equation: Our body model was created mainly to calculate the angles in the joints and to use the results in the simulation of human gait.To compute the angles we used equation ( 3): for the two-dimensional system, where u 1 , u 2 , v 1 , v 2 are the vectors of the body segments (femur, shin, foot, etc.) represented by at least two points as markers.For computing the angles in the three-dimensional system, the model uses the following equation: Based on this equation, the model is able to calculate the angles in the hip, knee and ankle if there are enough markers.In the Lukotronic AS200 system, the maximum number of markers is 32, but we had a limited edition with 10 markers.With 32 markers we will be able to measure more joints in the body, including the upper extremities, but this is beyond the scope of our project.
By means of simulation we can check the accuracy of the data.Because we use more than one system for imaging the movements of a point in space, the markers may be confused or another human lapses may occur.The model uses measured data of a moving point in space to calculate the angles in the joints.To calculate the angle in one joint we need at least three points (markers).This data was acquired using a webcam and was processed in Coach6, version 6.1.The frame rate of webcam was 26 frames per second.

Results
By means of the model we obtained graphs of the dependency of the change in angle over time in the knee and hip (Fig. 6).This is important for subsequent computation of the cyclograms.The graph is plotted from the data obtained from the webcam measurements.The graph captures the half step and the full step, because the subject was asked to make a step from the standing position (Fig. 1).It follows from the graph that the angle in the knee changes from 1 • (stretched leg) to 78 • (relaxed leg), where the values represent the angle between the femur and the shin.The second curve plots the changing angle between the femur and the body.
The cyclograms are obtained very easily.They are graphs plotting the angles in the knee and the hip together.There are various kinds of cyclogram where we can plot e.g. the angles between the knee and the ankle, etc. (Fig. 6).For our case, we used the formula: cyclogram = angle in knee angle in hip (5) We had to decide which kind of cyclogram was applicable for our research.The choice fell on the cyclogram of the knee and the hip, because it is easiest and most accurate to measure the angles in the joints.

Gait prediction
We selected an artificial neural network to analyze the cyclograms, because we consider NNs to be very interesting, and we think they will be used extensively in future [4].The M-S (musculo-skeletal) body model contains an option of movement prediction, or more accurately inferior limb motion prediction which is represented by the NN.We used the Matlab AI toolbox for the NN.
We created our NN to predict the angles in the knee and hip of the right leg and we used a backpropagation network training function with 10 input layers (we defined this number according to a calculation of the breaks in the angle function behavior) and one output layer.We used a log-sigmoid function as a transfer function of the input layers and a linear transfer function in the output layer.Our neural network learns for 500 generations, because the mean squared error (MSE) of the predicting function of the angles in the knee and the hip was the smallest at that point.

Conclusion
We designed a functional user interface in the Matlab GUIDE component in which the user can easily handle all parts of our program.
The output of our project is a user interface for work with our application consisting of an analysis (graphs of measured data and of the change of angles in the knee and hip, bilateral cyclograms), a body model (animation of motion) and a prediction (setting of the NN, graphs of the input vector, the target vector and the output vector).
The program that we are pursuing will be ready for use in the biomechanics laboratory for study of gait.The body model can be modified by changing the weight of the body or of individual segments, from which we can count the moments of inertia of these segments and the forces in the joints.A more realistic human model could be created, e.g. in CAD.In the next step of our research we would like to produce a hydraulic mechanism that will be controlled by NN and could help patients in their rehabilitation.

Future developments
In the future we would like to build on our previous work and develop our system.
The next useable function in the model will calculate the load of the joint from the mass of the body.It may be important to study during which movement and in which part of the movement the joint is most loaded by the mass.
Matlab Simulink offers a connection with the CAD technical graphic program.We would like to make use of this connection and to recreate a real human body in CAD.The animation will be more distinct in this way.
It will take a considerable time to predict the angles in the knee and hip, and then to compute the cyclo-grams.We aim to teach NN to predict the cyclograms correctly.

Fig. 3 :
Fig.3: Model of a human body created in the Simulink workspace[5]

Fig. 4 :
Fig. 4: Figure of the computed angle in the knee

Fig. 6 :
Fig. 6: Computed changes in the angles over time of the knee and hip

Table 1 :
Weight coefficients for computing the weight of the segments