Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data
Abstract
Este trabajo tiene por objetivo demostrar la viabilidad de la utilización de la dinámica inversa en el cálculo de fuerzas de reacción durante la marcha de un sujeto, sin el uso de la información que nos pueden facilitar las placas de fuerza. Este documento incluye una descripción detallada de los pasos que se han seguido para alcanzar dichos objetivos. Se realiza un trabajo experimental, seguido de un postprocesado de la información obtenida. Finalmente los resultados son analizados y se discute el hecho de que pueda o no ser válido el método descrito.
Full text
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. Autor: Juan Morales Galera Tutora: Juana María Mayo Núñez Departamento de Ingeniería Mecánica y Fabricación Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2017 Trabajo Fin de Grado Grado en Ingeniería en Tecnologías Industriales
Trabajo Fin de Grado Grado en Ingeniería en Tecnologías Industriales Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. Autor: Juan Morales Galera Tutora: Juana María Mayo Núñez Catedrática de Universidad Departamento de Ingeniería Mecánica y Fabricación Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2017
Trabajo de Fin de Grado: Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. Autor: Juan Morales Galera Tutora: Juana María Mayo Núñez El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, Junio de 2017 El Secretario del Tribunal
Agradecimientos A mi familia. A mi tutora Juana por su dedicación, ayuda y paciencia.
Resumen Este trabajo tiene por objetivo demostrar la viabilidad de la utilización de la dinámica inversa en el cálculo de fuerzas de reacción durante la marcha de un sujeto, sin el uso de la información que nos pueden facilitar las placas de fuerza. Este documento incluye una descripción detallada de los pasos que se han seguido para alcanzar dichos objetivos. Se realiza un trabajo experimental, seguido de un postprocesado de la información obtenida. Finalmente los resultados son analizados y se discute el hecho de que pueda o no ser válido el método descrito.
Abstract The aim of this work is to prove the viability of inverse dynamics in terms of analysing the reaction forces, which are implicated during the human gait, without the data which can be provided by force plates. This document includes the description of the steps followed to achieve the different goals. An experimental work and the post process of this information are the main phases of the project. Finally, the results will be discussed and analysed in order to overcome different issues in the near future.
Contents 1 Introduction ......................................................................................................................... 15 1.1 State of the art ............................................................................................................. 15 1.2 Inverse dynamics ........................................................................................................ 16 1.3 Segment body models ................................................................................................. 16 1.4 Human gait ................................................................................................................. 19 1.4.1 Double support ....................................................................................................... 20 2 Objectives and motivation. .................................................................................................. 23 3 Methodology ....................................................................................................................... 24 3.1 Data measurement ...................................................................................................... 24 3.2 Computing procedure. ................................................................................................ 29 3.2.1 General aspects about MATLAB. .......................................................................... 29 3.2.2 Dynamics of the body. ............................................................................................ 30 4 Results and discussion ......................................................................................................... 39 5 Conclusions and future work ............................................................................................... 50 6 Matlab code ......................................................................................................................... 53 7 References ........................................................................................................................... 67
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 16 This engineering discipline has a wide range of applications. Its study provides information about relevant forces and moments which are the cause of motion. This fact allows to investigate solutions for determinate pathological problems, for example. The domination of this field could let the bases of high accurate prosthesis implementation and so on. 1.2 Inverse dynamics Inverse dynamics commonly refers to a method used for computing forces and moments based on the kinematics of a body and its inertial properties, mass and moment of inertia. In order to calculate forces and torques, inverse dynamics is typically used in the fields of robotics and biomechanics where the information which is provided allows to predict the behaviour of the body that it is being studied. 1.3 Segment body models In terms of easing, the scientists and engineers tend to divide the human body by segments. This method makes people be capable to work in an easy way. Along the history of biomechanics, there were designed an amount of different human-segment models. Although they are closely similar, each of them has been produced for a particular kind of investigation or field of science. In this document there will be described a few of these models: SC-14, [2] which divides the human body in 14 segments. SC-15, [3] which divides the human body in 15 segments. SC-16, [4] which divides the body in 16 segments. SC-18, [5] which divides the human body in 18 segments. The following pictures show the SC-14 and SC-15 segment models of the human body by Dempter and Hanavan respectively.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 17 Figure 1: SC-14 segment model. Figure 2: SC-15 segment model. In this project, a fifteen segments model will be used. The following table describes each of the segments and joints: SEGMENT JOINT DESCRIPTION 1 RFOO RAJC Right foot 2 RSHA RAJC RKJC Right shank 3 RTHG RKJC RHJC Right thigh 4 PEL SAJC RHJC LHJC Pelvis
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 18 5 LTHG LKJC LHJC Left thigh 6 LSHA LAJC LKJC Left shank 7 LFOO LAJC Left foot 8 RHAN RWJC Right hand 9 RFAR RWJC REJC Right forearm 10 RUPA REJC RSJC Right upper arm 11 LUPA LEJC LSJC Left upper arm 12 LFAR LWJC LEJC Left forearm 13 LHAN LWJC Left hand 14 HEA NJC Head 15 TRU RSJC LSJC NJC SAJC Trunk Table 1: Segments and joints. It must be observed, that segments could be parent or child ones depending on where the work is focusing on. Each child segments are defined as the ones which are relatively moving to the parent ones. The following picture illustrates how a child and a parent body are related [6]: Figure 3: Parent and child bodies. To overcome the inverse dynamic problem in this study, segments and joints have such an important role. In fact, as it will be seen in the following chapters, they represent one of the most significant difficulties of the process.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 19 1.4 Human gait Human gait is defined as the locomotion achieved though the movement of human limbs. Human gaits are the various ways in which humans can move. Human gait can also be defined as the transitory progression of the human body as a whole thanks to the coordinate movements of the body segments. There are two phases during the gait cycle: Stance phase and Swing phase. During the first one, the foot is on the ground, on the other hand, in the swing phase, this foot is not in contact with the ground and the leg is swinging through in preparation for the next foot strike [7]. Figure 4: Human gait phases. Figure 5: Time spend on each limb during a cycle of a normal patient. With these two images it can be easily understood the phases of the human gait. It must be known the fact that the gait of a person with some pathological issue is different in terms of time spent by each limb.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 20 1.4.1 Double support In figure number five it can be seen that there are moments in which both, right and left foot, are in contact with the ground. This is called the double support phase. If it is wanted to calculate the reactions between the feet and the ground during the double support, there is an inconsistent problem due to the fact that there are three forces and three moments per foot and only six equations to solve it. Therefore, apparently, the problem has no solution. Some studies have already address this issue. In the following, three methods will be described [8]. 1.4.1.1 Using reactions measured by force plates This is the most common way to calculate the ground reactions. Using force plates is the only way the equilibrium problem can be solved without considering the upper body. This method yields information which can be used as inputs for the solution of the double support problem. It provides three components of both the external reaction forces and moments, all of them taken at the centre of each plate. In this project force plates have been used in order to compare the inverse dynamic results and the ones provided by them. As it will be described in the following sections, they are also used as a tool to know when the double support appears. 1.4.1.2 Optimized contact model Transition curves to determinate the reaction during the double support can be used in normal gait applications. However, in pathological gait, where the length of the double support and the swing can be different, it is recommended to work with optimized foot-ground contact. To achieve this goal, the foot surface is approximated by several spheres. The objective is to adjust the position of these spheres plus their size in order to get the best accuracy.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 21 Figure 6: Contact force model by spheres. 1.4.1.3 The Smooth Transition Assumption (STA) The Smooth Transition Assumption algorithm is based on the assumption that the reaction forces and moments at the trailing foot decay according to a certain law along the double support phase. For that reason, different functions have been used in order to approximate the shape of the reactions at the trailing foot. These exponential and linear functions have been obtained by trial and error. There are two different functions: one for the antero-posterior reaction force (𝑓𝑥), while the other one is used for the other five components (𝑓). The following figure illustrates the shape of both functions: Figure 7: Shape of the functions 𝒇𝒙 and 𝒇 by the STA algorithm. This method depends on the value of the reactions of the trailing foot just before the double support starts. This forces are 𝐺1𝑥(𝑡ℎ) and the reactions during the double support are calculated as:
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 22 𝐺1𝑥(𝑡) =𝑓𝑥(𝑡) 𝐺1𝑥(𝑡ℎ) ; 𝑡ℎ≤𝑡≤ 𝑡𝑡 (1) For the antero-posterior component. 𝐺1𝑥(𝑡) =𝑓(𝑡)𝐺1𝑥(𝑡ℎ); 𝑡ℎ≤𝑡≤ 𝑡𝑡 (2) For the rest of the components. Where 𝑡𝑡 is the moment when the double support finishes.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 23 2 Objectives and motivation. Although with the study of the human gait a several amount of issues has been addressed, there are some limitations which make the science not be able to achieve many purposes or not achieving them as it is desired. Many of this problems appear with the capture of the kinematics. For this kind of capture, it is normally used an equipment composed by infrared cameras and reflective markers. The human body is divided in segments, as it has already been said in the previous section, and these segments are considered as rigid bodies but, actually they are not. The skin, the contraction of the muscles, among other factors, introduce noise and errors. In order to minimize them, some techniques are applied, for example, constraints between markers or constraints at joints which introduce redundant data called residuals. With force plates it is possible to know the reaction between the feet and the ground. The inconsistent problem of the double support is easily overcome with them. Moreover, with the information provided by the plates plus the kinematics of the body, the forces which the muscles make in order to yield the movement can be calculated. However, this powerful tool has some limitations. One problem is the work area and another problem is that it is not possible to study a multisegment foot with them. There are some alternatives to substitute the force plates as the contact methods, which use direct dynamics, or the methods which works using the inverse dynamics. The main purpose of this study is to check the accuracy of the inverse dynamics calculations compared with the reaction forces and moments provided by two force-plates, between the feet and the ground during gait. To overcome the main purpose of the study it is necessary to achieve another goals: It is necessary to do an experimental work in terms of getting the kinematics; The order of the segments followed to solve the inverse dynamic problem stars such a big deal, which must be solved by the computing of the computing code; The other goal is to solve the double support problem without the reactions provided by the plates.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 24 3 Methodology This project has two phases: the measurement of the kinematics and then the computing to process the data. The first phase has been done at the ETSI biomechanical laboratory in the University of Seville. For the second phase, the computing programme MATLAB has been used. 3.1 Data measurement Vicon Nexus has been the computing programme used to catch the movement of the body. The equipment is constituted by twelve infrared cameras, thirty-nine reflective spheres used as markers, the Vicon Nexus software, a walk path, two force-plates and, obviously, a volunteer to be measured was required. Once all the material is under control the measurement work can start: -Firstly, the work environment has to be prepared. The cameras must be in a particular position [9]. Figure 8: Work area for the capture of the movement, ETSI, University of Seville.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 25 Figure 9: Vicon Nexus camera. When the work area is prepared, the system must be configured. -System configuration: -Cameras have to be calibrated before the measurements. Avoiding the sun light, the quality of the measurements will be better. Each camera works individually and then the software works in terms of combining all the information to recreate the movements. Looking at pictures 14, 15 and 16 it is possible to see the process. -The volume origin has to be defined. In this case it is set at one of the two force plates. Figures 10 and 19 illustrates where the origin is set. Figure 10: Force plates disposition. Where the plate in the left is the number one and the other plate the number two.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 32 Figure 8 shows the Global Coordinate System where the x axis is parallel to the floor and pointing towards the right section of the body; the y axis is perpendicular to the x axis, parallel to the floor and pointing towards the gait direction. Finally, the z axis is perpendicular to the floor plane and pointing towards the upwards. Figure 20: Local coordinate system. In order to define the local coordinate system, in the static trial, for each segment, the x axis is perpendicular to the frontal plane and positive towards the direction of gait. On the other hand, the y axis is perpendicular to the sagittal plane, being positive towards the left section of the body. Finally, the z axis is perpendicular to the transverse plane being positive towards the upper body. 3.2.2.2 Simple support. In this project, it is essential to follow a determinate order for the calculations. As it can be imagined, the simple support foot must be the last segment in which force and moment equilibrium will be calculated. It will be also seen the method to face the double support. As it is known, there are five limbs: head, two arms and two legs. A free limb is the one which is only affected by its weight and inertial forces. At the simple support one leg is not free while all the others limbs are. On the grounds of this fact, arms will be the first segments where the equilibrium will be calculated, then head and the free leg, following this order and ending at the support foot. The following figure illustrates the procedure:
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 33 Figure 21: Order followed. The image above is an example where it is supposed that left foot is the one which is free. When the right foot is the one which is free, the procedure is similar but changing both feet. As it will be seen in this document, for the double support the procedure does not change neither. Figure 22: Procedure diagram with left foot free.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 34 The figure 7 illustrates all the segments, joints and the order followed to solve the inverse dynamics when the left foot is free. Then, the dynamics of ith body segment are determined by the following functions [11]: NOTATION 𝑚𝑖 mass of segment 𝑟𝐶𝑖 translational acceleration vector of the ith segment´s mass centre 𝐹𝑗𝑘 (𝑖) kth joint force vector acting on the ith segment 𝐹ⅇ𝑘 (𝑖) kth external force vector acting on the ith segment 𝑔 gravitational vector 𝐽𝐶𝑖 inertia tensor around the mass centre of the ith segment 𝛼𝑖 angular acceleration vector of the ith segment 𝜔 𝑖 angular velocity vector of the ith segment 𝑀 𝑗𝑘 (𝑖) kth net muscle moment acting on the ith segment 𝑀 ⅇ𝑘 (𝑖) kth external moment acting on the ith segment 𝑟𝑗𝑘 (𝑖) position vector of the kth joint force from the mass centre of the ith segment 𝑟ⅇ𝑘 (𝑖) position vector of the kth external force from the mass centre of the ith segment 𝐹𝑔𝑟 ; 𝑀 𝑔𝑟 ground forces and moments of the right foot 𝐹𝑔𝑙 ; 𝑀 𝑔𝑙 ground forces and moments of the left foot Table 4: Notation of dynamic equations. 𝑚𝑖𝑟𝐶𝑖=∑ 𝐹𝑗𝑘 (𝑖) 𝑛𝑗𝑖 𝑘=1 +∑ 𝐹ⅇ𝑘 (𝑖) 𝑛𝑒𝑖 𝑘=1 +𝑚𝑖𝑔 ; (3) 𝐽𝐶𝑖𝛼𝑖+𝜔 𝑖×(𝐽𝐶𝑖𝜔 𝑖)= ∑ 𝑀 ⅇ𝑘 (𝑖) 𝑛𝑒𝑖 𝑘=1 + ∑(𝑟ⅇ𝑘 (𝑖)×𝐹ⅇ𝑘 (𝑖)) 𝑛𝑒𝑖 𝑘=1 +∑𝑀 𝑗𝑘 (𝑖) 𝑛𝑗𝑖 𝑘=1 +∑(𝑟𝑗𝑘 (𝑖)×𝐹𝑗𝑘 (𝑖)) 𝑛𝑗𝑖 𝑘=1 ;(4) Equation 3 is yielded by combining the translational equations of motion, (eq. (1)), of all n body segments. Hence, the sum of external forces is derived: ∑∑𝐹ⅇ𝑘 (𝑖) 𝑛𝑒𝑖 𝑘=1 𝑛 𝑖=1 = ∑[𝑚𝑖(𝑟𝐶𝑖 (𝑖)−𝑔)] ;(5) 𝑛 𝑖=1
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 35 Equation 4 is yielded by combining the rotational equations of motion, (eq. (2)), of all n body segments. Hence, the sum of external moments is derived: ∑∑𝑀 ⅇ𝑘 (𝑖) 𝑛𝑒𝑖 𝑘=1 𝑛 𝑖=1 =∑[𝐽𝐶𝑖𝛼𝑖+𝜔 𝑖×(𝐽𝐶𝑖𝜔 𝑖)] 𝑛 𝑖=1 −∑∑(𝑟ⅇ𝑘 (𝑖)×𝐹ⅇ𝑘 (𝑖)) 𝑛𝑒𝑖 𝑘=1 𝑛 𝑖=1 −∑∑(𝑟𝑗𝑘 (𝑖)×𝐹𝑗𝑘 (𝑖)) 𝑛𝑗𝑖 𝑘=1 𝑛 𝑖=1 ;(6) As the only external forces and moments during the human gait are the ground reactions, equations 3 and 4 can be rewritten as: 𝐹𝑔𝑟+𝐹𝑔𝑙 = ∑[𝑚𝑖(𝑟𝐶𝑖 (𝑖)−𝑔)] 𝑛 𝑖=1 ;(7) 𝑀 𝑔𝑟+𝑀 𝑔𝑙 =∑[𝐽𝐶𝑖𝛼𝑖+𝜔 𝑖×(𝐽𝐶𝑖𝜔 𝑖)] 𝑛 𝑖=1 −∑∑(𝑟ⅇ𝑘 (𝑖)×𝐹ⅇ𝑘 (𝑖)) 𝑛𝑒𝑖 𝑘=1 𝑛 𝑖=1 −∑∑(𝑟𝑗𝑘 (𝑖)×𝐹𝑗𝑘 (𝑖)) 𝑛𝑗𝑖 𝑘=1 𝑛 𝑖=1 ;(8) Now, the simple support problem can be solved. While global reference system will be used for translational equations, for rotational equations local reference system will. It is also important to know that moments will be taken in the mass centre of feet on the grounds of easing future projects related with this one. Due to that fact, moments provided by force plates will be modified to be compared with the inverse dynamic results.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 36 3.2.2.3 Double support As it has been already said, the double support supposes a new challenge to deal with. During the double support there is an inconsistent problem due to underspecification and therefore, apparently, the problem has no solution. Some studies have already address this issue. At this project the method choose was the STA, which was briefly described in a previous section. The Smooth Transition Assumption (STA) The STA uses a transition criterion to determinate reaction forces and moments during the double support [12]. The STA work with an algorithm based on the following observations: 1. During the double support phase, ground forces and moments on the trailing foot change smoothly towards zero. 2. The ratios of the ground reactions to their values at contralateral heel strike can be expressed as functions of double support duration. The method uses a combination of exponential and linear functions in order to approximate the shape of the reactions at the trailing foot. The functions proposed were determined by trial and error with experimental data. Looking at figure number seven it can be observed the shape of both kind of functions: 𝐹𝑥 𝐹𝑥0=ⅇ−(𝑡∕𝑇𝑑𝑠);(9) 𝐹𝑥 𝐹𝑥0=(𝑘1ⅇ−[(𝑡−𝑡𝑃)∕𝑇𝑑𝑠]−𝑘2𝑡 𝑇ⅆ𝑠);(10) Where the first one is used for all ground reaction components except anterior force. The second function is the one used to determinate the anterior ground reaction which is not monotonic.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 37 𝐹𝑥0 is the anterior force at contralateral heel strike. 𝑇ⅆ𝑠 is half the double support time, 𝑇ⅆ𝑠 = 12 𝑡 ; 𝑡𝑃 is the peak force time, 𝑡𝑃= 23 𝑇ⅆ𝑠 ; and 𝑘1 and 𝑘2 are both constants whose value are: 𝑘1=ⅇ4/9 and 𝑘2=𝑘1 2 ⅇ−16/9; Hence, 𝐹𝑥(0)=𝐹𝑥0 and 𝐹𝑥(2𝑇ⅆ𝑠)=0; It is required to know the transition times between single and double support. This information can be provided by force plates or using kinematics data. In this case, the data which provide the plates has been used. In this project there are three double support phases hence, it is necessary to seek six values: the time of the beginning and the end of each double support phases. Figure 23: Shape of vertical forces during gait. This image illustrates an example of the shape of the vertical forces implicated during gait. Where the colours of each curve represent one and the other foot. Force plates only provide the information showed at the picture number 23, however, it is needed to calculate what it is called as “double support 0” and “double support 2” in order to achieve the purpose of this study.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 38 Figure 24: Vertical forces provided by two force plates during gait. To find the value of th0, tt0, th1, tt1, th2 and tt2 two methods have been used. One for the “double support 1” and the other one for the “double support 0 and 2”. The condition applied to find the times of the double support 1, was that the vertical forces in both plates had to be greater than 5 N. Th0 and tt2 are the started and the final times of the experiment. To seek the values of tt0 and th2, the first peak and last peak of the vertical forces, provided by the force plates, had to be found. As it is possible to see in the figure number 23, there are four different peaks. Then, the time was selected by subtracting a little percentage of the value of each peak and taking the time of those new values. Now, the inverse dynamics can be solved during the double support phases. The only difference between the procedure followed in the simple support phase, is that now there is no free foot. The trailing foot has the forces provided by the STA method, therefore, there is no inconsistent system and the problem can be solved.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 39 4 Results and discussion In this section of the document, the results will be discussed. As it has been already said, the results will be compared with the forces and moments which the force plates yield.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 40 Figure 25: 𝑭𝒙 component, left foot. Figure 26: 𝑭𝒚 component, left foot. Figure 27: 𝑭𝒛 component, left foot. Figure 28: 𝑴𝒙 component, left foot. Figure 29: 𝑴𝒚 component, left foot. Figure 30: 𝑴𝒛 component, left foot.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 41 Figure 31: 𝑭𝒙 component, right foot. Figure 32: 𝑭𝒚 component, right foot. Figure 33: 𝑭𝒛 component, right foot. Figure 34: 𝑴𝒙 component, right foot. Figure 35: 𝑴𝒚 component, right foot. Figure 36: 𝑴𝒛 component, right foot.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 48 Figure 48: Comparison between 𝑴𝒙 without inertia and the mass centre method during the first simple support. Figure 49: Comparison between 𝑴𝒚 without inertia and the mass centre method during the first simple support.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 49 Figure 50: Comparison between 𝑴𝒛 without inertia and the mass centre method during the first simple support. The second graph of each image, illustrates the error commit. Without no doubt, it can be said that the results are almost the same. This method supports the viability of the calculations which have been done.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 50 5 Conclusions and future work As a conclusion, it can be said that all the purposes have been achieved. The order and method followed by the code to calculate the equilibrium equations have yielded the results expected. It can be observed that the STA method suppose a good alternative to solve the double support problem. Moreover, now it is known that the parameters related with the double support are essential to achieve good results in these kind of projects. Finally, after seeing the results, there is no doubt, that the capture of the movement is also vital to avoid irregular behaviour of the reactions. Although all the evidence suggest that the results made this study a successful method for the calculation of the reactions between feet and ground, there are some notes that must be made for future studies: 1. It has been followed the STA algorithm to calculated the double support phases, however, the results obtained for the 𝑀𝑧 component are not what they were expected. 2. Some of the curves described shapes which have not been understood. The reason why this happens should be studied in future projects to improve the accuracy. Figure 51: 𝑴𝒙component, left foot. Example of shape misunderstood.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 51 Figure 52: 𝑴𝒚component, left foot. Example of shape misunderstood. Considering these notes and the goals achieved, new challenges can be faced now. The Oxford foot is a model created in 2001 which divides the foot in three segments to be able to study it in an easy way while, at the same time, a better accuracy can be reached. In this project the foot was studied as a unique segment, however, the results aimed, allow to widen the horizons and work with an Oxford foot model. For that reason, the next step would be to modify this project in order to study this model. Figure 53: Oxford foot model. As it can be seen in the image above, the foot is now divides in the Hallux segment (HX), the Forefoot segment (FF) and the Hindfoot one (HF). This means that the inverse dynamic problem will become more complex than the one exposed at this document.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 52 The increasing of the number of equations and limbs will suppose a new challenge to deal with. On the other hand, this future work exposed will yield results closer to the reality.
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 53 6 Matlab code function [Fres cdg2 moment2 GRF2 Fres4 Fin ]=solveEquiWithoutGRF (GRF,pos,vel1,acc1,AnimationData,MARKERS,datafile) close all clc global MODEL global AMTI off=1; %activate or deactivate Fin %###################### [position,JointPos] = PlugInGait(MARKERS,datafile); %###################### Fres4 = zeros(size(GRF,1),6*MODEL.numBod); moment2=zeros(size(GRF,1),3); cdg2=zeros(size(GRF,1),3); sumInertialForces = zeros(1,3); Fin = zeros(size(GRF,1),6*MODEL.numBod); Fext =zeros(6*MODEL.numBod,1); for k=1:MODEL.numBod Fext (6*k-3,:) = -MODEL.MassMatrix(6*k-5,6*k-5)*9.81; end Fres = zeros(size(GRF,1),6*MODEL.numBod); Fapl= zeros(size(GRF,1),6*MODEL.numBod);Fapl1= zeros(size(GRF,1),6*MODEL.numBod); Fapl2= zeros(size(GRF,1),6*MODEL.numBod);Fapl3= zeros(size(GRF,1),6*MODEL.numBod); Fapl4= zeros(size(GRF,1),6*MODEL.numBod);Fapl5= zeros(size(GRF,1),6*MODEL.numBod); p=zeros(MODEL.numJoint,4); pJ=zeros(MODEL.numJoint,3); pC=zeros(MODEL.numJoint,3); pJ2=zeros(MODEL.numJoint,3); %finding double support times [th0, tt0, th, tt, th2, tt2] = DsupportTime(GRF); u=8; u2=2; u3=3; u4=2; u5=1; u6=5; u7=1;%AUXILIARY VARIABLES FOR LIMBS q=1; k=1; h=0; %TO ENSURE THE ORDER goDsupport0=1; goDsupport2=0; for i=1:size(GRF,1) while k<=length(MODEL.SEGMENT) %RIGHT AND LEFT ARM if (strcmp(MODEL.SEGMENT(k),MODEL.SEGMENT(u))) && q==1 while ~(strcmp(MODEL.SEGMENT(k),MODEL.SEGMENT(u+u2))) p(k,1:4) = pos(i,7*k-3:7*k); w(k,1:3) = vel1(i,6*k-2:6*k); pC(k,1:3)=pos(i,7*k-6:7*k-4); R = Rot_Mat(p(k,1:4)); seg=MODEL.SEGMENT{k,1}; if strcmp(seg,'RHAN') || strcmp(seg,'LHAN') child=MODEL.JOINT.(seg){1,1}; else parent=MODEL.JOINT.(seg){1,1}; child=MODEL.JOINT.(seg){2,1}; end
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 54 pJ(k,1:3)=AnimationData.(seg).(child)(i,:); %next joint position vec=(pC(k,1:3)-pJ(k,1:3)); % Inertial Forces H = ([cross([1 0 0],R'*w(k,:)');cross([0 1 0],R'*w(k,:)');cross([0 0 1],R'*w(k,:)')]) * MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * w(k,:)'; Fin(i,6*k-5:6*k-3) =(MODEL.MassMatrix(6*k-5:6*k-3,6*k-5:6*k-3)* acc1(i,6*k-5:6*k-3)')*off; %Fin son las -F de inercia Fin(i,6*k-2:6*k) = (MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * acc1(i,6*k-2:6*k)'+H)*off; sumInertialForces = sumInertialForces + Fin(i,6*k-5:6*k-3); if strcmp(seg,'RHAN') || strcmp(seg,'LHAN') %Final forces in Joint Fres(i,6*k-5:6*k-3)=Fin(i,6*k-5:6*k-3)-Fext(6*k-5:6*k-3)'; Fres(i,6*k-2:6*k)=(Fin(i,6*k-2:6*k)-Fext(6*k-2:6*k)')+ (R' * cross(vec,Fin(i,6*k-5:6*k-3))')'- (R' * cross(vec,Fext(6*k-5:6*k-3)')')'; else pJ2(k,1:3)=JointPos.(parent)(i,:); %position of the previous joint vec2=(pJ2(k,1:3)-pJ(k,1:3)); %Forces from the previous Joint Fapl(i,6*k-5:6*k-3)=-Fres(i,6*(k-u5)-5:6*(k-u5)-3); R_parent = Rot_Mat(p(k-u5,1:4)); Fapl(i,6*k-2:6*k)=-R'*R_parent*(Fres(i,6*(k-u5)-2:6*(k-u5)))'; %Final forces in Joint Fres(i,6*k-5:6*k-3)=Fin(i,6*k-5:6*k-3)-Fext(6*k-5:6*k-3)'-Fapl(i,6*k-5:6*k-3); Fres(i,6*k-2:6*k)=(Fin(i,6*k-2:6*k)-Fext(6*k-2:6*k)'-Fapl(i,6*k-2:6*k))- (R' * cross(vec2,Fapl(i,6*k-5:6*k-3))')'+ (R' * cross(vec,Fin(i,6*k-5:6*k-3))')'- (R' * cross(vec,Fext(6*k-5:6*k-3)')')'; end if u==8 k=k+1; else k=k-1; end end p(k,1:4) = pos(i,7*k-3:7*k); w(k,1:3) = vel1(i,6*k-2:6*k); pC(k,1:3)=pos(i,7*k-6:7*k-4); R = Rot_Mat(p(k,1:4)); seg=MODEL.SEGMENT{k,1}; child=MODEL.JOINT.(seg){2,1}; parent=MODEL.JOINT.(seg){1,1}; pJ(k,1:3)=AnimationData.(seg).(child)(i,:); % Inertial Forces H = ([cross([1 0 0],R'*w(k,:)');cross([0 1 0],R'*w(k,:)');cross([0 0 1],R'*w(k,:)')]) * MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * w(k,:)'; Fin(i,6*k-5:6*k-3) =(MODEL.MassMatrix(6*k-5:6*k-3,6*k-5:6*k-3)* acc1(i,6*k-5:6*k-3)')*off; Fin(i,6*k-2:6*k) = (MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * acc1(i,6*k-2:6*k)'+H)*off; sumInertialForces = sumInertialForces + Fin(i,6*k-5:6*k-3); pJ2(k,1:3)=JointPos.(parent)(i,:); vec=(pC(k,1:3)-pJ(k,1:3)); vec2=(pJ2(k,1:3)-pJ(k,1:3)); %Forces from the previous Joint Fapl(i,6*k-5:6*k-3)=-Fres(i,6*(k-u5)-5:6*(k-u5)-3); R_parent = Rot_Mat(p(k-u5,1:4)); Fapl(i,6*k-2:6*k)=-R'*R_parent*(Fres(i,6*(k-u5)-2:6*(k-u5)))'; %Final forces in Joint Fres(i,6*k-5:6*k-3)=Fin(i,6*k-5:6*k-3)-Fext(6*k-5:6*k-3)'-Fapl(i,6*k-5:6*k-3); Fres(i,6*k-2:6*k)=(Fin(i,6*k-2:6*k)-Fext(6*k-2:6*k)'-Fapl(i,6*k-2:6*k))- (R' * cross(vec2,Fapl(i,6*k-5:6*k-3))')'+ (R' * cross(vec,Fin(i,6*k-5:6*k-3))')'- (R' * cross(vec,Fext(6*k-5:6*k-3)')')'; if u==13 q=2; end u=13; u2=-2; k=1; u5=-1;
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 55 end %HEAD if (strcmp(MODEL.SEGMENT(k),'HEA')) && q==2 p(k,1:4) = pos(i,7*k-3:7*k); w(k,1:3) = vel1(i,6*k-2:6*k); pC(k,1:3)=pos(i,7*k-6:7*k-4); R = Rot_Mat(p(k,1:4)); seg=MODEL.SEGMENT{k,1}; child=MODEL.JOINT.(seg){1,1}; pJ(k,1:3)=AnimationData.(seg).(child)(i,:); vec=(pJ(k,1:3)-pC(k,1:3)); % Inertial Forces H = ([cross([1 0 0],R'*w(k,:)');cross([0 1 0],R'*w(k,:)');cross([0 0 1],R'*w(k,:)')]) * MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * w(k,:)'; Fin(i,6*k-5:6*k-3) =(MODEL.MassMatrix(6*k-5:6*k-3,6*k-5:6*k-3)* acc1(i,6*k-5:6*k-3)')*off; Fin(i,6*k-2:6*k) = (MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * acc1(i,6*k-2:6*k)'+H)*off; sumInertialForces = sumInertialForces + Fin(i,6*k-5:6*k-3); %Final forces in Joint Fres(i,6*k-5:6*k-3)=Fin(i,6*k-5:6*k-3)-Fext(6*k-5:6*k-3)'; Fres(i,6*k-2:6*k)=(Fin(i,6*k-2:6*k)-Fext(6*k-2:6*k)')- (R' * cross(vec,Fres(i,6*k-5:6*k-3))')'; q=3; k=1; end %TRUNK if (strcmp(MODEL.SEGMENT(k),'TRU')) && q==3 seg=MODEL.SEGMENT{k,1}; %defining next and previous joints child=MODEL.JOINT.(seg){4,1}; parent1=MODEL.JOINT.(seg){1,1}; parent2=MODEL.JOINT.(seg){2,1}; parent3=MODEL.JOINT.(seg){3,1}; p(k,1:4) = pos(i,7*k-3:7*k); w(k,1:3) = vel1(i,6*k-2:6*k); pC(k,1:3)=pos(i,7*k-6:7*k-4); R = Rot_Mat(p(k,1:4)); pJ(k,1:3)=AnimationData.(seg).(child)(i,:); % Inertial Forces H = ([cross([1 0 0],R'*w(k,:)');cross([0 1 0],R'*w(k,:)');cross([0 0 1],R'*w(k,:)')]) * MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * w(k,:)'; Fin(i,6*k-5:6*k-3) =(MODEL.MassMatrix(6*k-5:6*k-3,6*k-5:6*k-3)* acc1(i,6*k-5:6*k-3)')*off; Fin(i,6*k-2:6*k) = (MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * acc1(i,6*k-2:6*k)'+H)*off; sumInertialForces = sumInertialForces + Fin(i,6*k-5:6*k-3); vec=(pC(k,1:3)-pJ(k,1:3)); %moments at the next joint %Forces from the previous Joints %RUPA where k=10 pJ2_1(k,1:3)=JointPos.(parent1)(i,:); vec2_1=(pJ2_1(k,1:3)-pJ(k,1:3)); Fapl1(i,6*k-5:6*k-3)=-Fres(i,6*(10)-5:6*(10)-3); R_parent1 = Rot_Mat(p(10,1:4)); Fapl1(i,6*k-2:6*k)=-R'*R_parent1*(Fres(i,6*(10)-2:6*(10)))'; %LUPA where k=11 pJ2_2(k,1:3)=JointPos.(parent2)(i,:); vec2_2=(pJ2_2(k,1:3)-pJ(k,1:3)); Fapl2(i,6*k-5:6*k-3)=-Fres(i,6*(11)-5:6*(11)-3); R_parent2 = Rot_Mat(p(11,1:4)); Fapl2(i,6*k-2:6*k)=-R'*R_parent2*(Fres(i,6*(11)-2:6*(11)))';
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 56 %HEA where k=14 pJ2_3(k,1:3)=JointPos.(parent3)(i,:); vec2_3=(pJ2_3(k,1:3)-pJ(k,1:3)); Fapl3(i,6*k-5:6*k-3)=-Fres(i,6*(14)-5:6*(14)-3); R_parent3 = Rot_Mat(p(14,1:4)); Fapl3(i,6*k-2:6*k)=-R'*R_parent3*(Fres(i,6*(14)-2:6*(14)))'; Fapl(i,6*k-5:6*k)=Fapl1(i,6*k-5:6*k)+Fapl2(i,6*k-5:6*k)+Fapl3(i,6*k-5:6*k); %Final forces in Joint Fres(i,6*k-5:6*k-3)=Fin(i,6*k-5:6*k-3)-Fext(6*k-5:6*k-3)'-Fapl1(i,6*k-5:6*k-3)-Fapl2(i,6*k-5:6*k-3)-Fapl3(i,6*k-5:6*k-3); Fres(i,6*k-2:6*k)=(Fin(i,6*k-2:6*k)-Fext(6*k-2:6*k)'-Fapl(i,6*k-2:6*k))- (R' * cross(vec2_1,Fapl1(i,6*k-5:6*k-3))')'-(R' * cross(vec2_2,Fapl2(i,6*k-5:6*k-3))')'- (R' * cross(vec2_3,Fapl3(i,6*k-5:6*k-3))')'+ (R' * cross(vec,Fin(i,6*k-5:6*k-3))')'- (R' * cross(vec,Fext(6*k-5:6*k-3)')')'; q=4; k=1; end %FREE LEG if i==1 || i==2 || i==3 || (i>tt && i<th2) %this condition depends on the value of th0 if (strcmp(MODEL.SEGMENT(k),'RFOO')) && q==4 while ~(strcmp(MODEL.SEGMENT(k),'RTHG')) if strcmp(seg,'RFOO') %Final forces in Joint Fres(i,6*k-5:6*k)=zeros(1,6); end p(k,1:4) = pos(i,7*k-3:7*k); w(k,1:3) = vel1(i,6*k-2:6*k); pC(k,1:3)=pos(i,7*k-6:7*k-4); R = Rot_Mat(p(k,1:4)); u5=1; seg=MODEL.SEGMENT{k,1}; if strcmp(seg,'RFOO') child=MODEL.JOINT.(seg){1,1}; else parent=MODEL.JOINT.(seg){1,1}; child=MODEL.JOINT.(seg){2,1}; end pJ(k,1:3)=AnimationData.(seg).(child)(i,:); vec=(pC(k,1:3)-pJ(k,1:3)); % Inertial Forces H = ([cross([1 0 0],R'*w(k,:)');cross([0 1 0],R'*w(k,:)');cross([0 0 1],R'*w(k,:)')]) * MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * w(k,:)'; Fin(i,6*k-5:6*k-3) =(MODEL.MassMatrix(6*k-5:6*k-3,6*k-5:6*k-3)* acc1(i,6*k-5:6*k-3)')*off; Fin(i,6*k-2:6*k) = (MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * acc1(i,6*k-2:6*k)'+H)*off; sumInertialForces = sumInertialForces + Fin(i,6*k-5:6*k-3); if strcmp(seg,'RFOO') %Final forces in Joint Fapl(i,6*k-5:6*k-3)=Fin(i,6*k-5:6*k-3)-Fext(6*k-5:6*k-3)'-Fres(i,6*k-5:6*k-3); Fapl(i,6*k-2:6*k)=(Fin(i,6*k-2:6*k)-Fext(6*k-2:6*k)'-Fres(i,6*k-2:6*k))-(R' * cross(vec,Fres(i,6*k-5:6*k-3))')'+ (R' * cross(vec,Fin(i,6*k-5:6*k-3))')'- (R' * cross(vec,Fext(6*k-5:6*k-3)')')'; else pJ2(k,1:3)=JointPos.(parent)(i,:); vec2=(pJ2(k,1:3)-pJ(k,1:3)); %Forces from the previous Joint Fres(i,6*k-5:6*k-3)=-Fapl(i,6*(k-u5)-5:6*(k-u5)-3); R_parent = Rot_Mat(p(k-u5,1:4)); Fres(i,6*k-2:6*k)=-R'*R_parent*(Fapl(i,6*(k-u5)-2:6*(k-u5)))'; %Final forces in Joint Fapl(i,6*k-5:6*k-3)=Fin(i,6*k-5:6*k-3)-Fext(6*k-5:6*k-3)'-Fres(i,6*k-5:6*k-3); Fapl(i,6*k-2:6*k)=(Fin(i,6*k-2:6*k)-Fext(6*k-2:6*k)'-Fres(i,6*k-2:6*k))-(R' * cross(vec2,Fres(i,6*k-5:6*k-3))')'+ (R' * cross(vec,Fin(i,6*k-5:6*k-3))')'- (R' * cross(vec,Fext(6*k-5:6*k-3)')')';
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 57 end k=k+1; end p(k,1:4) = pos(i,7*k-3:7*k); w(k,1:3) = vel1(i,6*k-2:6*k); pC(k,1:3)=pos(i,7*k-6:7*k-4); R = Rot_Mat(p(k,1:4)); seg=MODEL.SEGMENT{k,1}; child=MODEL.JOINT.(seg){2,1}; parent=MODEL.JOINT.(seg){1,1}; pJ(k,1:3)=AnimationData.(seg).(child)(i,:); vec=(pC(k,1:3)-pJ(k,1:3)); % Inertial Forces H = ([cross([1 0 0],R'*w(k,:)');cross([0 1 0],R'*w(k,:)');cross([0 0 1],R'*w(k,:)')]) * MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * w(k,:)'; Fin(i,6*k-5:6*k-3) =(MODEL.MassMatrix(6*k-5:6*k-3,6*k-5:6*k-3)* acc1(i,6*k-5:6*k-3)')*off; Fin(i,6*k-2:6*k) = (MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * acc1(i,6*k-2:6*k)'+H)*off; sumInertialForces = sumInertialForces + Fin(i,6*k-5:6*k-3); pJ2(k,1:3)=JointPos.(parent)(i,:); vec2=(pJ2(k,1:3)-pJ(k,1:3)); %Forces from the previous Joint Fres(i,6*k-5:6*k-3)=-Fapl(i,6*(k-u5)-5:6*(k-u5)-3); R_parent = Rot_Mat(p(k-u5,1:4)); Fres(i,6*k-2:6*k)=-R'*R_parent*(Fapl(i,6*(k-u5)-2:6*(k-u5)))'; %Final forces in Joint Fapl(i,6*k-5:6*k-3)=Fin(i,6*k-5:6*k-3)-Fext(6*k-5:6*k-3)'-Fres(i,6*k-5:6*k-3); Fapl(i,6*k-2:6*k)=(Fin(i,6*k-2:6*k)-Fext(6*k-2:6*k)'-Fres(i,6*k-2:6*k))-(R' * cross(vec2,Fres(i,6*k-5:6*k-3))')'+ (R' * cross(vec,Fin(i,6*k-5:6*k- 3))')'- (R' * cross(vec,Fext(6*k-5:6*k-3)')')'; q=5;u3=5;u4=2; k=1; end elseif i>tt0 && i<th if (strcmp(MODEL.SEGMENT(k),'LFOO')) && q==4 while ~(strcmp(MODEL.SEGMENT(k),'LTHG')) if strcmp(seg,'LFOO') %Final forces in Joint Fres(i,6*k-5:6*k)=zeros(1,6); end p(k,1:4) = pos(i,7*k-3:7*k); w(k,1:3) = vel1(i,6*k-2:6*k); pC(k,1:3)=pos(i,7*k-6:7*k-4); R = Rot_Mat(p(k,1:4)); u5=-1; seg=MODEL.SEGMENT{k,1}; if strcmp(seg,'LFOO') child=MODEL.JOINT.(seg){1,1}; else parent=MODEL.JOINT.(seg){1,1}; child=MODEL.JOINT.(seg){2,1}; end pJ(k,1:3)=AnimationData.(seg).(child)(i,:); vec=(pC(k,1:3)-pJ(k,1:3)); %moments at the next joint % Inertial Forces H = ([cross([1 0 0],R'*w(k,:)');cross([0 1 0],R'*w(k,:)');cross([0 0 1],R'*w(k,:)')]) * MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * w(k,:)'; Fin(i,6*k-5:6*k-3) =(MODEL.MassMatrix(6*k-5:6*k-3,6*k-5:6*k-3)* acc1(i,6*k-5:6*k-3)')*off; Fin(i,6*k-2:6*k) = (MODEL.MassMatrix(6*k-2:6*k,6*k-2:6*k) * R' * acc1(i,6*k-2:6*k)'+H)*off; sumInertialForces = sumInertialForces + Fin(i,6*k-5:6*k-3);
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 64 %Forces from the previous Joint Fapl(i,6*k-5:6*k-3)=-Fres(i,6*(k-u7)-5:6*(k-u7)-3); R_parent = Rot_Mat(p(k-u7,1:4)); Fapl(i,6*k-2:6*k)=-R'*R_parent*(Fres(i,6*(k-u7)-2:6*(k-u7)))'; %Final forces in Joint Fres(i,6*k-5:6*k-3)=Fin(i,6*k-5:6*k-3)-Fext(6*k-5:6*k-3)'-Fapl(i,6*k-5:6*k-3); Fres(i,6*k-2:6*k)=(Fin(i,6*k-2:6*k)-Fext(6*k-2:6*k)'-Fapl(i,6*k-2:6*k))- (R' * cross(vec,Fapl(i,6*k-5:6*k-3))')'; else %Forces from the previous Joint Fapl(i,6*k-5:6*k-3)=-Fres(i,6*(k-u7)-5:6*(k-u7)-3); R_parent = Rot_Mat(p(k-u7,1:4)); Fapl(i,6*k-2:6*k)=-R'*R_parent*(Fres(i,6*(k-u7)-2:6*(k-u7)))'; %Final forces in Joint Fres(i,6*k-5:6*k-3)=Fin(i,6*k-5:6*k-3)-Fext(6*k-5:6*k-3)'-Fapl(i,6*k-5:6*k-3); Fres(i,6*k-2:6*k)=(Fin(i,6*k-2:6*k)-Fext(6*k-2:6*k)'-Fapl(i,6*k-2:6*k))- (R' * cross(vec,Fapl(i,6*k-5:6*k-3))')'; end %plate Forces and moments at the mass centre of each foot if (i>=th && i<=tt) Rleft=R; elseif (i>=th0 && i<=tt0) || (i>=th2 && i<=tt2) Rright=R; else Rleft=R; Rright=R; end vec3=(AMTI.pos(1:3)-pos(i,7*1-6:7*1-4)); %From the mass centre of the right foot to the centre of the right plate GRF2(i,1:3)=GRF(i,1:3); GRF2(i,4:6)=(Rright'*(GRF(i,4:6)+cross(vec3, GRF(i,1:3)))')'; vec3=(AMTI.pos(4:6)-pos(i,7*7-6:7*7-4)); %From the mass centre of the left foot to the centre of the left plate GRF2(i,7:9)=GRF(i,7:9); GRF2(i,10:12)=(Rleft'*(GRF(i,10:12)+cross(vec3, GRF(i,7:9)))')'; [cdg moment]=MassCentre(Fext, pos, i, R, pC) moment2(i,1:3)=moment(i,1:3); cdg2(i,1:3)=cdg(i,1:3); k=length(MODEL.SEGMENT); q=1;u=8;u2=2;u3=3;u4=2;u5=1; u6=5; u7=1; end k=k+1; end k=1; end fres2(:,1:6)=Fres(:,1:6); fres2(:,7:12)=Fres(:,37:42); multiplot (fres2, GRF2) end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Double support times % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [th0, tt0, th, tt, th2, tt2] = DsupportTime(GRF) h=-1; th0=4; tt2=size(GRF,1); [z , y]= findpeaks(GRF(:,3)); for i=1:length(z) if z(i)>700 && h==-1 m = y(i); while (GRF(y(i),3)-GRF(m,3))<1 tt0 = m; m=m-1; end h=0;
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 65 end end for i=1:size(GRF,1) if GRF(i,3)>5 && GRF(i,9)>5 && h==0 th=i; h=1; elseif GRF(i,3)<5 && GRF(i,9)>5 && h==1 tt=i; h=2; end end [a , b]= findpeaks(GRF(:,9)); for i=1:length(a) if a(i)>700 m=b(i); while (GRF(b(i),9)-GRF(m,9))<20 %20 th2 = m; m=m+1; end end end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Mass centre method % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [cdg moment]=MassCentre(Fg, pos, i, R, pC) clc global MODEL num=zeros(1,3); den=0; moment=zeros(135,3); for k=1:length(MODEL.SEGMENT) Fg2(k,1)=Fg(6*k-3); end oo=pos(i,7*1-6:7*1-4);%Right foot % oo=pos(i,7*7-6:7*7-4);%Left foot for k=1:15 pC(k,1:3)=pos(i,7*k-6:7*k-4); vec = pC(k,1:3)-oo; num = num + Fg2(k)*vec; den = den + Fg2(k); end cdg(i,1:3)=num/den; moment(i,1:3)=(R'*cross(cdg(i,:), [0 0 670])')'; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Plot % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function multiplot(Fres2,GRF) for i=1:12 figure(i) plot (Fres2(:,i)) hold on plot (GRF(:,i)) legend ('Inverse Dynamics', 'Force Plates') xlabel ('Frame') if i==4 || i==5 || i==6 || i==10 || i==11 || i==12
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 66 ylabel ('Nm') else ylabel ('N') end set(get(gca,'YLabel'),'Rotation',0) end end
Biomechanical analysis of the reaction forces and moments between feet and ground during gait without force plates data. 67 7 References [1] https://en.wikipedia.org/wiki/Biomechanics [2] Dempster W. (1955) Space requirements for the seated operator. Wade technical report 55159. [3] Hanavan E. (1964.) A mathematical model of the human body. Technical Report 64- 102. [4] Zatsiorsky V, Seluyanov V, Chugunova L (1990). In vivo body segment inertial parameters determination using a gamma-scanner method. In N. Berme & A. Cappozzo (Eds.), Biomechanics of Human Movement: Applications in Rehabilitation, Sports and Ergonomics (pp. 186-202). [5] Hatze, H. (1980). A mathematical model for the computational determination of parameter values of Anthropometric segments. Journal of Biomechanics, 13, 833-843. [6] Antonio López Iruzubieta (2013). Trabajo de fin de carrera ‘Modelo biomecánico OpenSim de miembro específico’. [7] Christopher L Vaughan, Brian L Davis, Jeremy C O.Connor (1992). ‘Dynamics of human gait’. [8] Urbano Lugrís, Jairo Carlín, Rosa Pàmies-Vilà, Josep M. Font-Llagunes, Javier Cuadrado (2013). ‘Solution methods for the double-support indeterminacy in human gait’. Multibody Syst Dyn (2013) 30:247–263. [9] Jacobo Guajardo-Fajardo Caballos (2016). Trabajo de fin de grado ‘Análisis cinemático durante la marcha mediante el Modelo Oxford del Pie’. [10] José David Jarmell Carrasco (2016). Trabajo de fin de grado ‘Oxford foot model kinetic analysis during the stance phase in gait’. [11] Parviz E. Nikravesh (1988). ‘Computer-Aided Analysis of Mechanical Systems’. [12] Lei Ren, Richard K. Jones, David Howard. (2008). ‘Whole body inverse dynamics over a complete gait cycle based only on measured kinematics’. Journal of Biomechanics 41 2750-2759.