Next Article in Journal
Form-Finding Analysis of the Rail Cable Shifting System of Long-Span Suspension Bridges
Next Article in Special Issue
A Real Time and Lossless Encoding Scheme for Patch Electrocardiogram Monitors
Previous Article in Journal
Numerical Investigation of the Nonlinear Composite Action of FRP-Concrete Hybrid Beams/Decks
Previous Article in Special Issue
Chronic Obstructive Pulmonary Disease Warning in the Approximate Ward Environment
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:

Foot-Mounted Inertial Measurement Units-Based Device for Ankle Rehabilitation

Alfonso Gómez-Espinosa
Nancy Espinosa-Castillo
Benjamín Valdés-Aguirre
Tecnologico de Monterrey, Campus Querétaro, Ave. Epigmenio González 500, Fracc. San Pablo, Querétaro, QRO 76130, Mexico
Author to whom correspondence should be addressed.
Appl. Sci. 2018, 8(11), 2032;
Submission received: 6 October 2018 / Revised: 18 October 2018 / Accepted: 19 October 2018 / Published: 24 October 2018
(This article belongs to the Special Issue Wearable Wireless Devices)


Ankle sprains are frequent injuries that occur among people of all ages. Ankle sprains constitute approximately 15% of all sports injuries, and are the most common traumatic emergencies. Without proper treatment and rehabilitation, a more severe sprain can weaken the ankle, making it more likely for new injures, and leading to long-term problems. In this work, we present an inertial measurement units (IMU)-based physical interface for measuring the foot attitude, and a graphical user interface that acts as a visual guide for patient rehabilitation. A foot-mounted physical interface for ankle rehabilitation was developed. The physical interface is connected to the computer by a Bluetooth link, and provides feedback to the patient while performing dorsiflexion, plantarflexion, eversion, and inversion exercises. The system allows for in-home rehabilitation at an affordable price while engaging the patient through active therapy. According to the results, more consistent rehabilitation could be achieved by providing feedback on foot angular position during therapy procedures.

Graphical Abstract

1. Introduction

Ankles sprains are common injuries that can produce temporary or permanent impairments. An ankle sprain occurs when the ligaments are torn because of being stretched beyond their limits. Ankle sprain causes approximately 15 to 20% of sports injuries, when considering all the different grades of tears [1]. It can take several weeks or even months for a sprained ankle to heal. When a sprain is not properly treated, a more severe sprain can occur and permanently weaken the ankle, making it more likely for new injures to take place. Due to the lack of correct treatment, repeated ankle sprains can lead to long-term problems, such as chronic ankle pain, ongoing instability, and arthritis [1]. In this case, rehabilitation is the part of the treatment that helps restore a patient to the regular use of their injured extremity through eliminating the impairments caused by the injury, when there has been no permanent damage. The problem is that unsupervised rehabilitation is prone to mistakes. Well-performed medical treatment can be undermined by poor rehabilitation [2].
Ankle movement can be described as a three-dimensional object with three degrees of freedom. The basic movements used in ankle rehabilitation are: abduction, adduction, plantarflexion, dorsiflexion, inversion, and eversion.
The term sprain, also known as twisting or entorsis, indicates ligament injury by traction, which is executed by an indirect mechanism that extremely stretches the ligament structure beyond what the ligaments can tolerate. The mechanism of this injury is related to the inversion or eversion movements. The inversion movement is the most common acute injury that damages the lateral ligaments of the ankle. Its inadequate treatment can lead to problems, such as a decreased range of motion, joint instability, and pain [1].
Depending on the degree of the injury, this traumatism can be catalogued into the following categories [1]:
  • Grade l: Involves the stretching of any ligament without tearing and slight signs of pain and/or inflammation.
  • Grade II: Involves the partial tearing of one or more ligaments and moderate pain and inflammatory signs.
  • Grade III: Involves full tear of ligaments and joint instability; pain and inflammatory signs are significant, and there is a loss of ankle function and mobility.
The diagnosis of ankle sprain starts with the evaluation of the situation and mechanism of the injury. This is done to determine the current degrees of possible ankle movement, and the required treatment for this specific situation. This evaluation is based primarily on physical exploration using techniques such as inspection, palpation, mobilization, and radiology. Due to the frequency of this injury, it is necessary to develop a set of strengthening exercises for the rehabilitation of the ankle that allows recovering the amplitude of the movement of the joint and helps strengthen the muscles of this extremity.
Telerehabilitation is the clinical application of Information and Communication Technologies (ICT) to provide rehabilitation services remotely and without the presence of a therapist all of the time. Telerehabilitation has been proven to be technically feasible; the case has been made as to how this technology can improve access to health services, as well as to extend the reach of clinicians beyond the physical walls of a traditional health care facility [1].
Devices that are used for ankle sprain rehabilitation can be grouped by complexity. Examples of low-complexity devices include elastic bands, roller foams, and wobble boards. Intermediate complexity devices provide more consistent results; in these devices, the patient plays a passive role in the rehabilitation process. Examples of intermediate devices include the DOF JACE Ankle A330 CPM system and the DOF Optiflex Ankle CPM system. High-complexity devices have high capabilities for data acquisition, storage, transmission, and providing written feedback. However, some disadvantages include being expensive and bulky, which restrict the use outside of a clinic. An example of these systems is the Biodex Multi-Joint System 4 Pro [1]. Besides the lack of portability, perhaps the most important disadvantage is that intermediate and complex systems work in a continuous passive motion basis [1,3,4]. This reduces the type of therapy where they can be used. Portable devices are needed for the active rehabilitation of ankle injuries; these devices could reduce the cost of healthcare for patients [5].
Inertial measurement units (IMU) can be used to make portable rehabilitation devices. They have been extensively used in position and attitude estimation, allowing for pedestrian navigation tracking [6,7,8,9,10,11,12,13], gait analysis [14,15,16,17,18,19,20], foot pose estimation [21], foot clearance estimation [22], wearable devices for Game Play application [23], and detecting foot strike in recreational runners [24]. A problem of inertial measurement units is that they present biases and other systematic errors that are responsible for position and attitude estimation errors. To provide robust distortion-free and refined absolute position and orientation vectors, data fusion is used to combine the measurements from the three-axis gyroscope, three-axis geomagnetic sensor, and three-axis accelerometer enclosed in the IMU [17]. Approaches used with data fusion include Kalman filters [6,9,15], clustering algorithms [7], and hidden Markov models [8]. Some of these approaches rely on additional information, such as map information [8,10], multiple IMU [11], biomechanical models [25], or light detection and ranging (LIDAR) systems [12]. A major challenge of micro-electro-mechanical systems (MEMS) position estimation concerns how to restrain the rapid accumulation of navigation errors. Without an error-resetting algorithm, this error rapidly increases. For pedestrian navigation tracking and gait analysis, a zero velocity update (ZVU) algorithm could be employed as an effective way to correctly detect the stance phase of each gait cycle and compensate for speed bias errors [6,9]. Another source for errors in IMU sensors comes from magnetic disturbances that might take place in indoor environments such as medical facilities, which becomes a problem for IMU clinical applications. Two approaches that are used to reduce the impact of magnetic disturbance are: magnetic anomaly detection algorithms [13], and a method based on analytical solutions in combination with parameterization for corrections [26]; both are used as part of data fusion.
IMU use related to rehabilitation therapy can be separated into systems that provide explicit biofeedback for therapy and those that aim to help with the diagnosis and detection of pathologies. In the first group, we can find systems for treating foot drop syndrome [27], hip and knee rehabilitation exercises [28], improving therapy adherence [29], improving gait in patients with walking disabilities [18], exoskeletons [30], and even therapies for animals [20]. In the second group, we can find systems that help diagnose gait pathologies [16], explore elderly gait [19], and assess human gait parameters [14]. Most of the above used foot-mounted devices or insoles. Chirakanphaisarn, Seel, Long [18,27,30] created systems that depend on other sensors besides the IMU. Giggins [28] tested their system with a single IMU mounted on the foot and another IMU incorporated in knee and hips, and Shepherd [29] used a single IMU-based approach as well. The case has been made that for some rehabilitation, a single IMU could suffice for posture and motion recognition [28]. Of relevance is Seel [27], which explored foot movement for rehabilitation, and used IMU to map foot pitch and roll to dorsiflexion, eversion, and inversion movements, which are also used in rehabilitation exercises for ankle sprains.
In this paper, we developed a foot-mounted inertial sensor device to determine the foot attitude with the aim of making an active rehabilitation session following the same process that a therapist would. We develop a graphical software interface to provide feedback on common rehabilitation movements that can be described with two degrees of freedom: dorsiflexion, plantarflexion, inversion, and eversion. The work has been done for the active free stage of rehabilitation, which is the stage where the patient makes the movements without any opposing force [1].
For the remaining sections of this paper, in Section 2, the materials, methods and main concepts are presented. Section 3 presents the foot attitude biofeedback device description. Section 4 shows and describes the experimental results. Finally, in Section 5, concluding remarks are provided.

2. Materials and Methods

2.1. Inertial Sensor

2.1.1. Inertial Measurement Units

Inertial measurement units (IMUs) have been widely used in mobile robot navigation [31,32,33], and can be used to make portable rehabilitation devices. IMU devices measure acceleration, angular rates, and magnetic field vectors in their own three-dimensional local coordinate system, and, with proper calibration, represent an orthonormal base that is aligned with the outer sensor casing [34]. Some commercial devices provide the orientation estimation of this sensor for a global fixed coordinate system. They do this by using algorithms that provide orientation information in the form of quaternion, rotation matrix, or Euler angles. These algorithms employ a strap-down integration of the angular rates to obtain a first estimate of the orientation. Also, the angular position drifts in the inclination part of the IMU’s orientation, which is eliminated using the assumption that the measured acceleration is dominated by gravitational acceleration (i.e., for low-acceleration ranges) [34].
Ankle movement can be described as a three-dimensional object with three degrees of freedom. The basic movements used in ankle rehabilitation (abduction, adduction, plantarflexion, dorsiflexion, inversion, and eversion) are shown on the foot anatomical reference frame in Figure 1. This work is focused on ankle movements that can be described with two degrees of freedom: dorsiflexion, plantarflexion, inversion, and eversion. Dorsiflexion and plantarflexion correspond to the angular movement denominated as pitch, which is performed around the “Y” axis, with normal ranges of 20° and 50°, respectively. Inversion and eversion relate to the angular movement denominated as roll, which is performed around the “X” axis, with normal ranges of 45° and 20°, respectively. For this work, the main interest lies in the active free stage of rehabilitation, which is the stage where the patient makes the movements without any opposing force [1].
A fundamental problem in IMU-based human motion analysis is that the IMU’s local coordinate axes are not aligned with any physiologically meaningful axis. However, a common approach is to do this via calibration postures and/or calibration movements. Some authors make the patient stand with vertical, straight legs for a few seconds, and use the acceleration measured during that time interval to determine the local coordinates of the segment’s longitudinal axis [34].

2.1.2. Estimation of the Inertial Measurement Variable

An MPU-6050 device was chosen for developing the rehabilitation device due to its commercial availability in local stores and low price. The MPU-6050 consists of six degrees of freedom (6DOF), which combine a three-axis accelerometer and a three-axis gyroscope. The main characteristics of this component are 16-bit digital analog converters (ADC), and that the component can communicate by both SPI and I2C bus, which makes it easy to access the measured data. On the other hand, the accelerometer range can be set to ±2 g, ±4 g, ±8 g, and ±16 g, and the gyroscope range can be set to ±250°/s, ±500°/s, ±1000°/s, and ±2000°/s; for the best resolution, ranges of ±2 g and ±250°/s were selected.
To use the device, the angular velocity and angle with respect to the horizontal position must be obtained from the IMU. The angular velocity ω = (ωx, ωy, ωz), is directly provided by the three-axis gyroscope in the IMU, but the angular position θ = (β, α, γ) needs to be calculated through the process explained below.
Following the methodology presented in Seel [35], defining pitch angle α and roll angle β, the IMU reference frame of the foot anatomical reference coordinates xf, yf has to be determined. The IMU was fixed to the foot to assure that the IMU sensor axis xs lies in the sagittal plane of the foot, and then we proceeded to determine the xf, yf axis as follows: at the foot flat position, the IMU accelerometer readings a(t) are integrated over time, and the resulting vector is normalized to the unit magnitude zff, applying the Euclidian norm:
z ^ f f = t     [ f o o t   f l a t ] a ( t )
z f f = z ^ f f / z ^ f f 2
During the calibration procedure, at the foot flat position, the foot is at rest, and zff is nearly vertical. Then, yf is calculated as follows:
y ^ f = z f f × x s ,
y f = + y ^ f / y ^ f 2   for   a   left   foot ,
y f = y ^ f / y ^ f 2   for   a   right   foot
Similarly, xf is calculated as follows:
x ^ f = z f f × x s × z f f ,
x f = x ^ f / x ^ f 2
For each foot exercise, a strap-down integration of the angular velocity ω is started that produces the rotation matrix Rff(t). By transforming xf to the reference frame, we calculate the pitch angle α:
α ( t ) = π 2 ( z f f , R f f ( t ) x f ) ,
= arcsin ( z f f T R f f ( t ) x f ) ,     [ π 2 ,   + π 2 ]
Similarly, we calculate the roll angle β:
β ( t ) = π 2 ( z f f , R f f ( t ) y f ) ,
= arcsin ( z f f T R f f ( t ) y f ) ,     [ π 2 ,   + π 2 ]
The IMU provides two information sources that allow the estimation of the angular position θ of the IMU local coordinate system. The first is through the three-axis accelerometer signals g = (gx, gy, gz), which measure the vector of the acceleration of gravity, and trigonometric relations are used to calculate one estimation for the angular position θ. The second is through the three-axis gyroscope, which measures the angular velocity ω, whose numerical integral with respect to time gives an approximation of the angular rotation since the beginning of the integration, and is used to compute a second estimation for the angular position θ. These means that in the first source, information is highly noisy due to the accelerations caused by vibrations that can occur in rehabilitation procedures. This makes it unreliable in short periods, but this same source is reliable on average over a longer period of time. The second source of information is very reliable in short periods, but accumulates offset errors as time progresses. For this reason, the MPU-6050 incorporates a digital motion processor (DMP), which is an internal processor that executes MotionFusion algorithms to combine the accelerometer and gyroscope data together to minimize the effects of the errors that are inherent in each sensor, avoiding having to compute the filters by an external processor. The DMP computes the results in terms of quaternions; it can also convert the results to Euler angles, and perform other filtering computations with the data as well [36].
The DMP eliminates the need to perform computationally expensive calculations on the Arduino side. The problem is that there is little information available on the inner workings of the DMP. This problem was addressed by using a library created by Jeff Rowberg [37]. The library can calculate the sensor’s orientation with respect to a global fixed coordinate system in Euler angles from the raw data numerical values from the DMP as given by the sensors, without any additional type of filter or processing. Jeff Rowberg’s library also allows specifying the sensor sensitivity and measurement ranges for each variable.
Some IMU consist of a tri-axial accelerometer, a tri-axial gyro, and a tri-axial magnetic sensor. The initial conditions for gyro integration can be given by the accelerometer, which is used in combination with the magnetic sensor. However, ferromagnetic materials near the IMU critically disturb the magnetic sensor output [26,38]. We use only gyroscopes and accelerometers, and therefore do not rely on a homogeneous magnetic field, and the complete orientation of the IMU with respect to a global reference coordinate system is calculated using a fusion algorithm that combines gyroscope and accelerometer measurements.
It has been demonstrated that: “in a real-time assessment of foot orientation by accelerometers and gyroscopes, validated with respect to a conventional optical motion capture system in trials with subjects walking, at different velocities, root mean square deviations of less than 4° were found in all scenarios, while values near 2° were found in slow walking” [35]. Taking this into consideration, regular therapy procedures can be correctly performed considering this angular precision for the exercises.

3. Foot Attitude Biofeedback Device

The solution proposed is a physical interface consisting of an electric circuit to measure the degrees of ankle movement and an application that provides continuous graphical feedback to the patient during his rehabilitation exercises. The physical interface provides feedback on dorsiflexion, plantarflexion, eversion, and inversion exercises.
The software components that were used to develop the app and communicate with the hardware were the Arduino Software (IDE) version 1.6.9 (Open-source general public license), the game development platform Unity 5.5 (Unity Technologies, 30 3rd Street, San Francisco, CA 94103, United States), and SQLite3 (Hwaci, 6200 Maple Cove Ln, Charlotte, NC 28269, EE. UU.), which is a relational database management system that is compatible with the properties ACID.
The hardware components that were used in the device were the USB-based microcontroller development system Teensy 2.0, the MPU-6050 sensor, the Bluetooth HC-05, three capacitors of 330 mF, 100 nF, and 10 mF, and two voltage regulators, 7805CT and LM2936.

3.1. MPU-6050

The MPU-6050 sensor contains micro-electro-mechanical systems (MEMS), a 16-bit resolution three-axis accelerometer, and a 16-bit resolution three-axis gyroscope in a single chip. They capture the x, y, and z channel at the same time, which means that it is an IMU of six degrees of freedom (6DOF). The operational ranges for the accelerometers and gyroscope were respectively selected to ±2 g, and ±250 °/s. Consequently, accelerometer least significant bit sensitivity was 8192 LSB/mg, and gyroscope least significant bit sensitivity was 131 LSB/(°/s). The sampling rate was selected to 100 Hz.
The MPU-6050 works with 3.3 volts; it contains 16-bits analog to digital conversion hardware for each channel, and it uses the I2C bus to interface with the Teensy 2.0 and Arduino IDE. The addresses that were used in I2C are shown in Table 1.
The ADDR pin internally in the module has a resistance to GND, so its connection was not necessary, because the default address is 0 × 68.
The raw values of the accelerometer and gyroscope are read when the sleep mode is disabled. This sensor contains a 1024 byte FIFO buffer to the sensor values, which can be programmed to be placed in the FIFO buffer, and then they can be read by Arduino.
The FIFO buffer is used together with the interrupt signal. If the MPU-6050 places data in the FIFO buffer, it signals the Arduino with the interrupt signal, so the Arduino knows that there is data in the FIFO buffer waiting to be read [39].

3.2. Libraries for the MPU-6050

To know the angular movements, it was necessary to work with the library developed by Jeff Rowberg; this library works with an additional library for I2C communication called I2Cdev. The libraries are used to read the accelerometer/gyro data and handle all of the calculations to convert the raw values of the angular velocity and acceleration into angles for determining the foot attitude. Correct placement of the IMU device is assured by fastening the MPU-6050 to the instep according to the orientation presented in Figure 2, considering the foot anatomical reference frame shown in Figure 1.

3.3. Calibration

The MPU-6050 needs to be calibrated before it can be used properly. The goal is to remove the zero error; this is where the sensor is leveled, but it detects that it is slightly angled. Therefore, we need to adjust the offsets in order to compensate for this error. We used a script made by Luis Rodenas [40] that calibrates the MPU-6050 and solves this issue. To use the program, the script needs to be uploaded to the accel–gyro module, and the module should be placed in a flat and level position. The program will make an average of a few hundred readings and display the offsets that are required to remove zero error. This calibration is carried out before every trial, while an IMU is attached to the foot, and the foot must be completely still to avoid introducing measurement errors. It is essential to properly place the sensor to ensure accurate measurements.

3.4. Connections

The MPU-6050 and the Teensy 2.0 were connected (Table 2), and the Bluetooth and the Teensy 2.0 module were connected as well (Table 3). The connections between the hardware components are shown Figure 3. The prototype consisted of a band (MPU-6050) that was connected to a small case that contained the rest of the components (Figure 4).

3.5. Communication between Arduino and Unity

Unity 5.5 is used to process the data from Arduino and generate a graphic user interphase (GUI), which is used for calibration and during the exercises (Figure 5).
To integrate Unity 5.5 with the Arduino IDE, it is necessary to use the serial port with the class SerialPort that mediates the communication in C#. Unity doesn’t include the necessary libraries by default. Therefore, one must include the full NET 2.0 library in Unity. To establish the communication between Unity and the Arduino, Steven Cogswell’s ArduinoSerialCommand library was used.

3.6. SQLite

SQLite is a library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. The database is defined by the entity relationship model that is shown in Figure 6.
The final product that was used for the evaluation sessions can be seen in Figure 7.

4. Experimental Results and Discussion

4.1. Motion Range Evaluation

To evaluate whether the physical interface can effectively detect the movement required for rehabilitation, separate rehabilitation and/or strengthening sessions were conducted with a group of 10 people age 34 ± 16, gender (five male, five female), and a range of ankle motion depending on previous ankle sprain events. Six were under rehabilitation, and four had old ankle sprains that had not been treated by professional therapists. The research was approved by the University’s Evaluation Committee on 2 February 2017 under the project identification code: A01206782-2017EM.
Each patient performed a total of four sessions of rehabilitation and/or strengthening, with two different types of assessment for each foot: the assessment with a therapist and the evaluation with the application. Each session consisted of basic 2DOF movements, which were identified as dorsiflexion, plantarflexion, inversion, and eversion. Both types of evaluation were performed under the same conditions. In total, 20 evaluations were carried out: 10 for each assessment. The goal was to execute the four movements of the rehabilitation exercises mentioned above. For each movement, the patient was seated and asked to make three sets of two repetitions each. The MPU-6050 was used in both tests to accurately measure the patient’s range of motion.

4.2. Therapist Evaluation

In this test, the therapist guided the patient during the session; the input given by the therapist was verbal, providing a reference with the hand pointing near the specified position, and no additional references were used by the therapist. The patient’s movement were detected and processed by the Arduino throughout the session. Neither the therapist nor the patient could see what the Arduino detected at this point. The goal was to use the device to provide exercise feedback to compare with specified foot movements.
The patient was asked to sit to start each session and place his foot on the ground at an angle of 90°, this first movement was identified as the initial position, which was used to calibrate the device. Also, for each repetition, the patient maintained the foot in the indicated position for five seconds; at this time, the values provided by the accelerometer and gyroscope were taken, processed to generate the angular position, and recorded in Excel. These results were then compared with the results obtained in the evaluation with the application.

4.3. Evaluation with Application

In this test, the application that was developed in Unity provided biofeedback. The application showed the movement, time, series, repetitions, and goals to achieve in that session so that the user could see their performance. The values that were obtained were averaged by movement and stored in the application database so that at the end of the session, the patients could also observe their results and compare them with the expected normal movement range of an ankle.
The information provided by the application at the end of the session, which represents an average of degrees per movement, was recorded and compared with the original information recorded from the therapist evaluation. In this way, we can compare between the results of the feedback provided by the application and the feedback provided by the therapist, which is represented by the difference of degrees between the therapist and the application.

4.4. Results

The values in the degrees recorded from the therapist session and the ones recorded by the application were subtracted. If the difference in degrees was a positive number, it meant that the user had moved her ankle more than the therapist suggested. If the difference was negative, then the user should have moved her ankle further to match the therapist suggestion. It is worth mentioning that the patient performance is not only dependent on how accurately they match the angle given by the therapist. The patients should try to reach the specified angle without hurting the foot, and it is acceptable if the patient moves further than suggested.
Figure 8 shows the averaged difference; root mean square errors of the measured angles were found to be about 1°. Tilting the entire lower leg would affect the ankle joint angular position; the precision of angle measurement depends on how accurately the subject performs the motion. These were then run through the therapist opinions, and were found to be well within the appropriate values. This means that the difference of degrees was not expected to affect the rehabilitation exercises, and movements were done properly using just the feedback provided by the application.

5. Conclusions

A foot-mounted physical interface for ankle rehabilitation was presented; the proposed solution contains an IMU-based physical interface for measuring the foot attitude, and a graphical user interface that acts as a visual guide for the patient. The physical interface is connected to the computer by a Bluetooth link, and provides feedback to the patient while performing dorsiflexion, plantarflexion, eversion, and inversion exercises. This system allows for in-home rehabilitation at an affordable price while engaging the patient through active therapy. According to the results, more consistent rehabilitation could be achieved by reducing the foot angular position variation during the therapy procedure, measurement differences from 2° to 6° were observed in comparison to a therapist. This is because the therapist process is not as precise as the device. Demonstrative videos are available at the Supplementary Materials section.
Initially, we focused on dorsiflexion, plantarflexion, inversion, and eversion movements using an independent accelerometer (non-IMU). However, to improve the performance, we switched to an IMU MPU-6050, which can take advantage of the gyroscope sensor using data fusion. In future works, abduction and adduction movements could be included. It is also possible to extend the use of this technology to neighboring applications areas such as neurological rehabilitation [27].

Supplementary Materials

The following Video S1: “Demo” is available online at Video S2: “Physiotheraphy Ankle” is available online at

Author Contributions

Conceptualization, N.E.-C. and A.G.-E.; Methodology, A.G.-E.; Software, N.E.-C.; Validation, N.E.-C. and A.G.-E.; Formal Analysis, N.E.-C.; Investigation, N.E.-C.; Resources, N.E.-C. and A.G.-E.; Data Curation, N.E.-C.; Writing—Original Draft Preparation, N.E.-C.; Writing—Review & Editing, B.V.-A. and A.G.-E.; Visualization, N.E.-C.; Supervision, A.G.-E.; Project Administration, B.V.-A. and A.G.-E.


The authors would like to acknowledge the financial support of Tecnologico de Monterrey, in the production of this work.


The authors wish to thank Mauricio Saúl Juárez Rodríguez, and Alejandra Gudiño Rodríguez for their theoretical assistance and valuable suggestions.

Conflicts of Interest

The authors declare no conflict of interest.


  1. Alcocer, W.; Vela, L.; Blanco, A.; Gonzalez, J.; Oliver, M. Major Trends in the Development of Ankle Rehabilitation Devices. Dyna 2012, 79, 45–55. [Google Scholar]
  2. English, B. Phases of Rehabilitation. Foot Ankle Clin. 2013, 18, 357–367. [Google Scholar] [CrossRef] [PubMed]
  3. Meng, W.; Xie, S.Q.; Liu, Q.; Lu, C.Z.; Ai, Q. Robust Iterative Feedback Tuning Control of a Compliant Rehabilitation Robot for Repetitive Ankle Training. IEEE/ASME Trans. Mechatron. 2017, 22, 173–184. [Google Scholar] [CrossRef] [Green Version]
  4. Rosado, W.M.; Valdés, L.G.; Ortega, A.B.; Ascencio, J.R.; Beltrán, C.D. Passive Rehabilitation Exercises with an Ankle Rehabilitation Prototype Based in a Robot Parallel Structure. IEEE Lat. Am. Trans. 2017, 15, 48–56. [Google Scholar] [CrossRef]
  5. Sandoval-Palomares, J.J.; Yáñez-Mendiola, J.; Gómez-Espinosa, A.; López-Vela, J.M. Portable System for Monitoring the Microclimate in the Footwear-Foot Interface. Sensors 2016, 16, 1059. [Google Scholar] [CrossRef] [PubMed]
  6. Nguyen, L.V.; La, H.M. Real-Time Human Foot Motion Localization Algorithm with Dynamic Speed. IEEE Trans. Hum.-Mach. Syst. 2016, 46, 822–833. [Google Scholar] [CrossRef]
  7. Wang, Z.; Zhao, H.; Qiu, S.; Gao, Q. Stance-Phase Detection for ZUPT-Aided Foot-Mounted Pedestrian Navigation System. IEEE/ASME Trans. Mechatron. 2015, 20, 3170–3181. [Google Scholar] [CrossRef]
  8. Prieto, J.; Mazuelas, S.; Win, M.Z. Context-Aided Inertial Navigation via Belief Condensation. IEEE Trans. Signal Process. 2016, 64, 3250–3261. [Google Scholar] [CrossRef]
  9. Ren, M.; Pan, K.; Liu, Y.; Guo, H.; Zhang, X.; Wang, P. A Novel Pedestrian Navigation Algorithm for a Foot-Mounted Inertial-Sensor-Based System. Sensors 2016, 16, 139. [Google Scholar] [CrossRef] [PubMed]
  10. Bao, S.-D.; Meng, X.-L.; Xiao, W.; Zhang, Z.-Q. Fusion of Inertial/Magnetic Sensor Measurements and Map Information for Pedestrian Tracking. Sensors 2017, 17, 340. [Google Scholar] [CrossRef] [PubMed]
  11. Shi, W.; Wang, Y.; Wu, Y. Dual MIMU Pedestrian Navigation by Inequality Constraint Kalman Filtering. Sensors 2017, 17, 427. [Google Scholar] [CrossRef] [PubMed]
  12. Pham, D.D.; Suh, Y.S. Pedestrian Navigation Using Foot-Mounted Inertial Sensor and LIDAR. Sensors 2016, 16, 120. [Google Scholar] [CrossRef] [PubMed]
  13. Ilyas, M.; Cho, K.; Baeg, S.-H.; Park, S. Drift Reduction in Pedestrian Navigation System by Exploiting Motion Constraints and Magnetic Field. Sensors 2016, 16, 1455. [Google Scholar] [CrossRef] [PubMed]
  14. Fusca, M.; Negrini, F.; Perego, P.; Magoni, L.; Molteni, F.; Andreoni, G. Validation of a Wearable IMU System for Gait Analysis: Protocol and Application to a New System. Appl. Sci. 2018, 8, 1167. [Google Scholar] [CrossRef]
  15. Suh, Y.S. Inertial Sensor-Based Smoother for Gait Analysis. Sensors 2014, 14, 24338–24357. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  16. Tunca, C.; Pehlivan, N.; Ak, N.; Arnrich, B.; Salur, G.; Ersoy, C. Inertial Sensor-Based Robust Gait Analysis in Non-Hospital Settings for Neurological Disorders. Sensors 2017, 17, 825. [Google Scholar] [CrossRef] [PubMed]
  17. Taborri, J.; Palermo, E.; Rossi, S.; Cappa, P. Gait Partitioning Methods: A Systematic Review. Sensors 2016, 16, 66. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  18. Chirakanphaisarn, N. Measurement and Analysis System of the Knee Joint Motion in Gait Evaluation for Rehabilitation Medicine. In Proceedings of the Fourth International Conference on Digital Information and Communication Technology and It’s Applications (DICTAP), Bangkok, Thailand, 6–8 May 2014. [Google Scholar] [CrossRef]
  19. Moufawad el Achkar, C.; Lenoble-Hoskovec, C.; Paraschiv-Ionescu, A.; Major, K.; Büla, C.; Aminian, K. Physical Behavior in Older Persons during Daily Life: Insights from Instrumented Shoes. Sensors 2016, 16, 1225. [Google Scholar] [CrossRef] [PubMed]
  20. Ladha, C.; O’Sullivan, J.; Belshaw, Z.; Asher, L. GaitKeeper: A System for Measuring Canine Gait. Sensors 2017, 17, 309. [Google Scholar] [CrossRef] [PubMed]
  21. Duong, P.D.; Suh, Y.S. Foot Pose Estimation Using an Inertial Sensor Unit and Two Distance Sensors. Sensors 2015, 15, 15888–15902. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  22. Benoussaad, M.; Sijobert, B.; Mombaur, K.; Azevedo Coste, C. Robust Foot Clearance Estimation Based on the Integration of Foot-Mounted IMU Acceleration Data. Sensors 2016, 16, 12. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  23. Zhou, Q.; Zhang, H.; Lari, Z.; Liu, Z.; El-Sheimy, N. Design and Implementation of Foot-Mounted Inertial Sensor Based Wearable Electronic Device for Game Play Application. Sensors 2016, 16, 1752. [Google Scholar] [CrossRef] [PubMed]
  24. Mitschke, C.; Heß, T.; Milani, T.L. Which Method Detects Foot Strike in Rearfoot and Forefoot Runners Accurately when Using an Inertial Measurement Unit? Appl. Sci. 2017, 7, 959. [Google Scholar] [CrossRef]
  25. Kok, M.; Hol, J.D.; Schön, T.B. An optimization-based approach to human body motion capture using inertial sensors. IFAC Proc. Vol. 2014, 47, 79–85. [Google Scholar] [CrossRef] [Green Version]
  26. Seel, T.; Ruppin, S. Eliminating the Effect of Magnetic Disturbances on the Inclination Estimates of Inertial Sensors. IFAC-Pap. 2017, 50, 8798–8803. [Google Scholar] [CrossRef]
  27. Seel, T.; Werner, C.; Schauer, T. The adaptive drop foot stimulator—Multivariable learning control of foot pitch and roll motion in paretic gait. Med Eng. Phys. 2016, 38, 1205–1213. [Google Scholar] [CrossRef] [PubMed]
  28. Giggins, O.M.; Sweeney, K.T.; Caulfield, B. Rehabilitation exercise assessment using inertial sensors: A cross-sectional analytical study. J. NeuroEng. Rehabil. 2014, 11, 158. [Google Scholar] [CrossRef]
  29. Shepherd, J.B.; Rowlands, D.D.; James, D.A. A Skill Acquisition Based Framework for Aiding Lower Limb Injury Rehabilitation using a Single Inertial Sensor with Concurrent Visual Feedback. Procedia Eng. 2016, 147, 632–636. [Google Scholar] [CrossRef]
  30. Long, Y.; Du, Z.-J.; Wang, W.-D.; Zhao, G.-Y.; Xu, G.-Q.; He, L.; Mao, X.-W.; Dong, W. PSO-SVM-Based Online Locomotion Mode Identification for Rehabilitation Robotic Exoskeletons. Sensors 2016, 16, 1408. [Google Scholar] [CrossRef] [PubMed]
  31. Zhang, H.; Hernandez, D.E.; Su, Z.; Su, B. A Low Cost Vision-Based Road-Following System for Mobile Robots. Appl. Sci. 2018, 8, 1635. [Google Scholar] [CrossRef]
  32. Borraz, R.; Navarro, P.J.; Fernández, C.; Alcover, P.M. Cloud Incubator Car: A Reliable Platform for Autonomous Driving. Appl. Sci. 2018, 8, 303. [Google Scholar] [CrossRef]
  33. Elangovan, K.; Krishnasamy Tamilselvam, Y.; Mohan, R.E.; Iwase, M.; Takuma, N.; Wood, K.L. Fault Diagnosis of a Reconfigurable Crawling–Rolling Robot Based on Support Vector Machines. Appl. Sci. 2017, 7, 1025. [Google Scholar] [CrossRef]
  34. Seel, T.; Raisch, J.; Schauer, T. IMU-Based Joint Angle Measurement for Gait Analysis. Sensors 2014, 14, 6891–6909. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  35. Seel, T.; Graurock, D.; Schauer, T. Realtime Assessment of Foot Orientation by Accelerometers and Gyroscopes. Curr. Dir. Biomed. Eng. 2015, 1, 446–469. [Google Scholar] [CrossRef]
  36. “InvenSense Inc”. MPU-6000 and MPU-6050 Product Specification Rev. 3.4. Available online: (accessed on 14 July 2018).
  37. “I2Cdevlib”. MPU-6050 6-Axis Accelerometer/Gyroscope, I2Cdevlib Device Source and Documentation. Available online: (accessed on 14 July 2018).
  38. Sabatini, A.M. Kalman-Filter-Based Orientation Determination Using Inertial/Magnetic Sensors: Observability Analysis and Performance Evaluation. Sensors 2011, 11, 9182–9206. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  39. “MPU-6050 Accelerometer + Gyro”. Example Sketch (Base Code). Available online: (accessed on 14 July 2018).
  40. “42Bots”. Arduino Script for MPU-6050 Auto-Calibration. Available online: (accessed on 14 July 2018).
Figure 1. Foot anatomical reference frame, and the six basic movements: abduction, adduction, plantarflexion, dorsiflexion, inversion, and eversion. Sign of the rotation is specified according to the mathematical definition of the counterclockwise (positive) or clockwise (negative) rotation.
Figure 1. Foot anatomical reference frame, and the six basic movements: abduction, adduction, plantarflexion, dorsiflexion, inversion, and eversion. Sign of the rotation is specified according to the mathematical definition of the counterclockwise (positive) or clockwise (negative) rotation.
Applsci 08 02032 g001
Figure 2. Correct placement of the IMU device MPU-6050, considering the approximate foot anatomical reference frame.
Figure 2. Correct placement of the IMU device MPU-6050, considering the approximate foot anatomical reference frame.
Applsci 08 02032 g002
Figure 3. Connections diagram.
Figure 3. Connections diagram.
Applsci 08 02032 g003
Figure 4. Portable foot attitude measuring device.
Figure 4. Portable foot attitude measuring device.
Applsci 08 02032 g004
Figure 5. Graphical user interface.
Figure 5. Graphical user interface.
Applsci 08 02032 g005
Figure 6. Entity relationship model.
Figure 6. Entity relationship model.
Applsci 08 02032 g006
Figure 7. Experimental validation showing the graphical user interface and the patient.
Figure 7. Experimental validation showing the graphical user interface and the patient.
Applsci 08 02032 g007
Figure 8. Differences in degrees between software application and therapist.
Figure 8. Differences in degrees between software application and therapist.
Applsci 08 02032 g008
Table 1. Addresses for I2C.
Table 1. Addresses for I2C.
Pin AD0Address 12C
AD0 = HIGH (5 V)0 × 69
AD0 = LOW (GND or NC)0 × 68
Table 2. Connections between the MPU-6050 and Teensy 2.0 modules.
Table 2. Connections between the MPU-6050 and Teensy 2.0 modules.
MPU-6050Teensy 2.0
VCC3.3 V
Table 3. Connection between the Bluetooth and Teensy 2.0 modules.
Table 3. Connection between the Bluetooth and Teensy 2.0 modules.
Bluetooth HC-05Teensy 2.0

Share and Cite

MDPI and ACS Style

Gómez-Espinosa, A.; Espinosa-Castillo, N.; Valdés-Aguirre, B. Foot-Mounted Inertial Measurement Units-Based Device for Ankle Rehabilitation. Appl. Sci. 2018, 8, 2032.

AMA Style

Gómez-Espinosa A, Espinosa-Castillo N, Valdés-Aguirre B. Foot-Mounted Inertial Measurement Units-Based Device for Ankle Rehabilitation. Applied Sciences. 2018; 8(11):2032.

Chicago/Turabian Style

Gómez-Espinosa, Alfonso, Nancy Espinosa-Castillo, and Benjamín Valdés-Aguirre. 2018. "Foot-Mounted Inertial Measurement Units-Based Device for Ankle Rehabilitation" Applied Sciences 8, no. 11: 2032.

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop