Gait & Posture 39 (2014) 485–489
Contents lists available at ScienceDirect
Gait & Posture journal homepage: www.elsevier.com/locate/gaitpost
Inertial sensing algorithms for long-term foot angle monitoring for assessment of idiopathic toe-walking Eric Chalmers a, Jonathan Le b, Dulai Sukhdeep c, Joe Watt d, John Andersen d, Edmond Lou a,b,c,* a
Department of Electrical and Computer Engineering, University of Alberta, Edmonton, AB, Canada T6G 2V4 Research and Technology Development Department, Alberta Health Services - Glenrose Rehabilitation Hospital Site, 10230-111 Avenue, Edmonton, AB, Canada T5G 0B7 c Department of Surgery, University of Alberta, Edmonton, AB, Canada T6G 2B7 d Department of Pediatrics, University of Alberta, Edmonton, AB, Canada T6G 2B7 b
A R T I C L E I N F O
A B S T R A C T
Article history: Received 26 March 2013 Received in revised form 12 August 2013 Accepted 25 August 2013
When children walk on their toes for no known reason, the condition is called Idiopathic Toe Walking (ITW). Assessing the true severity of ITW can be difficult because children can alter their gait while under observation in clinic. The ability to monitor the foot angle during daily life outside of clinic may improve the assessment of ITW. A foot-worn, battery-powered inertial sensing device has been designed to monitor patients’ foot angle during daily activities. The monitor includes a 3-axis accelerometer, 2-axis gyroscope, and a low-power microcontroller. The device is necessarily small, with limited battery capacity and processing power. Therefore a high-accuracy but low-complexity inertial sensing algorithm is needed. This paper compares several low-complexity algorithms’ aptitude for foot-angle measurement: accelerometer-only measurement, finite impulse response (FIR) and infinite impulse response (IIR) complementary filtering, and a new dynamic predict-correct style algorithm developed using fuzzy c-means clustering. A total of 11 subjects each walked 20 m with the inertial sensing device fixed to one foot; 10 m with normal gait and 10 m simulating toe walking. A cross-validation scheme was used to obtain a low-bias estimate of each algorithm’s angle measurement accuracy. The new predictcorrect algorithm achieved the lowest angle measurement error: <58 mean error during normal and toe walking. The IIR complementary filtering algorithm achieved almost-as good accuracy with less computational complexity. These two algorithms seem to have good aptitude for the foot-angle measurement problem, and would be good candidates for use in a long-term monitoring device for toewalking assessment. ß 2013 Elsevier B.V. All rights reserved.
Keywords: Idiopathic Toe Walking Inertial measurement Severity assessment Foot floor angle Signal processing
1. Introduction ‘‘Toe walking’’ is the condition of weight bearing preferentially through the forefoot as compared to normal heel-toe gait. It is common in young children learning to walk, who usually develop a normal gait pattern by 3.5–4 years of age [1]. When otherwise normal children exceeding this age still exhibit toe walking, the condition is termed ‘‘Idiopathic Toe Walking’’ (ITW). Prolonged ITW can lead to complications including shortened Achilles tendons, structural abnormalities, and balance impairment. Treatments for ITW include serial casting to improve dorsiflexion
* Corresponding author at: Research and Technology Development Department, Alberta Health Services - Glenrose Rehabilitation Hospital Site, 10230-111 Avenue, Edmonton, AB, Canada T5G 0B7. Tel.: +1 780 735 8212; fax: +1 780 735 7972. E-mail address:
[email protected] (E. Lou). 0966-6362/$ – see front matter ß 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.gaitpost.2013.08.021
[2], Botox injections [3], or surgical lengthening of the Achilles tendon [4]. Treatment choices depend on the severity of the condition, which can be categorized using a system proposed by Alvarez et al. [5]. This system uses gait analysis metrics obtained using motion capture to differentiate between ‘‘mild’’, ‘‘moderate’’, and ‘‘severe’’ ITW. Unfortunately, severity assessments made in a gait lab may be inaccurate because some ITW children are able to control their gait temporarily, especially during observation by clinicians. Thus it is suspected that ITW may sometimes be underdiagnosed, and its severity underappreciated. A tool to assess the severity of ITW outside the clinic would be useful. This tool could be realized by using inertial sensors (accelerometers and gyroscopes) to monitor an ITW child’s foot angle during daily activity. The long-term foot angle measurements would reflect gait abnormalities and allow more accurate ITW assessment. Ideally the tool would provide feedback to train
486
E. Chalmers et al. / Gait & Posture 39 (2014) 485–489
the children to walk normally, which may improve quality of life for mild to moderate ITW children. Therefore the conceived footmonitoring device includes the sensors and a small microprocessor which computes foot angle in real-time, and provides real-time feedback as necessary. Micro-electromechanical (MEMS) inertial sensors have become commonplace in biomechanical analysis [6–9] largely because they are small and inexpensive. Tri-axial accelerometers measure acceleration in three axes, making them good tilt sensors in static cases – where gravity is the only acceleration. However in dynamic conditions, external accelerations are inseparable from gravity and the tilt measurement becomes inaccurate. Gyroscopes measure angular velocity about a single axis. Orientation in planar motion can be found by integrating angular velocity, while for 3D orientation a tri-axial gyroscope is used with a rotation matrix. This works well for brief measurement periods, but errors are integrated over time and cause drift in gyroscope-based measurements. These sources of error complicate signal processing. The proposed application of a foot-angle monitor introduces constraints on the signal processing method. In order to provide real-time feedback to the ITW child, the monitor must perform all signal processing in real-time. For prolonged use outside the clinic, the monitor must be small and battery-powered. Thus it will have limited computational power, and signal processing workload must be minimized to preserve battery life. Literature shows a variety of methods for processing inertial sensor data. Some researchers perform very little processing, simply recording accelerations and integrated angular velocities during biomechanical analysis [10]. Others have used these measurements to identify abnormal gait patterns [11–13] or specific activities [14–18]. As for actual angle measurement, perhaps the most popular approach is Kalman filtering [19,20] which blends accelerometer and gyroscope data. While quite accurate, a well-designed Kalman filter can be computationally complex [21] and therefore ill-suited to our application. The complexity issue arises in other approaches including Weiner filtering [22], fuzzy processing [13], and neural networks [23]. Literature does include some low-complexity algorithms. Some have used accelerometer-only tilt measurement schemes [24] or schemes which rely on the continuous integration of gyroscope signals [25]. While the accelerometer-only approach is apparently valid, the gyroscope drift problem makes gyroscopes inappropriate for prolonged measurement. This drift problem has been addressed by attempting to reset the gyroscope measurement during static conditions or when force sensors under the foot detect a particular gait phase [26]. However both these approaches make assumptions which cannot be guaranteed in this application. A more appropriate approach is complementary filtering [21,27]. Complementary filtering uses filters to extract the most reliable information from each sensor, and then sums the results. This work evaluates the aptitude of accelerometer-only measurement and complementary filtering for foot angle measurement. A new ‘‘predict-correct’’ algorithm is also proposed, derived using fuzzy c-means clustering to learn an ideal method of blending accelerometer and gyroscope data. 2. Methods 2.1. Data collection A sensing device including a 3-axis digital accelerometer (ADXL345, Analog Devices, 7.8 mg resolution), and 2-axis analog gyroscope (LPR450, STMicroelectronics, 1258 s1 range 0.128 s1 resolution using 11 bit ADC) was used to collect inertial data from 11 healthy subjects (7 males, 4 females, aged 17–26, mean age 21.5 3.4 years) during gait. The device was mounted on the dorsal part of the
Fig. 1. Placement of the sensing unit on a test subject’s foot. A motion capture system tracked the two spherical markers to determine the unit’s true tilt angle. The x, y, and z sensing axes of the device are shown.
shoe (Fig. 1), and sampled inertial sensors at 60 Hz while subjects walked about 10 m in a gait laboratory. At the same time, the true tilt angle of the sensing device was recorded using an eight-camera motion capture system, which tracked two reflective markers placed 5 cm apart on the device. The procedure was performed twice, with subjects walking normally the first time and simulating toe-walking the second. This resulted in 11 normal-walking datasets and 11 toewalking datasets, each comprising the inertial data and true tilt angle. In a separate test, three additional datasets were collected from two of the subjects – these three sets were used to develop the predictcorrect algorithm. Throughout this work, ‘foot angle’ is defined as the angle between gravity and the z axis of the inertial sensor (see Fig. 1). The ‘sole angle’ (the angle between the sole and the ground) can be calculated by subtracting any foot angle offset measured while the patient is standing flat-footed. 2.2. Testing algorithms Four algorithms were implemented in MATLAB (The MathWorks Inc.) and evaluated on their accuracy in measuring foot angle during gait. Algorithms were evaluated in two situations: normal-walking only (the algorithm was applied to the 11 normal walking datasets, and the average error measured), and mixed walking (the algorithm was applied to all 22 datasets, and the average error measured). A cross-validation scheme was used to test each algorithm’s performance. One dataset was set aside while the algorithm was ‘‘trained’’ (its parameters were tuned) for minimum root-meansquare (RMS) error on the other datasets. The trained algorithm was then applied to the held-out dataset to test its performance. This procedure was repeated – setting aside a different dataset each time – until every dataset had been used as a ‘‘test set’’. The performance across all test sets was averaged and reported. This cross-validation procedure uses all available data for testing, but ensures algorithms are tested on data which was not used for training. Thus it gives a nearly unbiased estimate of algorithms’ performance [28]. The complexity of each algorithm was roughly quantified by counting the number of operations involved: Addition, subtraction, multiplication and division were each counted as one operation. Comparisons (used in absolute values and lookup tables) were counted as two. 2.3. Algorithm descriptions 2.3.1. Accelerometry with low-pass filtering Purely accelerometer-based measurement is perhaps the simplest approach to tilt estimation. Under static conditions
E. Chalmers et al. / Gait & Posture 39 (2014) 485–489
(gravity being the only acceleration present) the tilt estimate uAccel at discrete-time index ‘n’ is calculated as: qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi uAccel ½n ¼ a tan 2½Accelz ½n Accelx ½n2 þ Accely ½n2 (1) where Accelz is the reading of the accelerometer which is normally oriented vertically, Accelx and Accely are the two other accelerometer readings. External accelerations introduce error into uAccel depending on the acceleration direction and magnitude. One way to reduce the error in dynamic conditions is to filter high-frequency components out of uAccel, as they are often caused by vibrations or other abrupt movements of no interest. Here a 128-tap low-pass finite-impulse-response (FIR) filter was designed using the standard window method with a Hann window. 2.3.2. FIR complementary filters Accelerometer-based tilt measurements are inaccurate in dynamic or high-frequency conditions. Conversely, integrated gyroscope readings suffer from low frequency error accumulation. Complementary filtering [21,27] is a solution in which an accelerometer-based tilt measurement is low-pass filtered, and a gyroscope-based tilt measurement is high-pass filtered, with the results summed to give a single tilt estimate. Thus, the accelerometer provides a low frequency tilt approximation and the gyroscope adds high frequency motion details. The accelerometer-based tilt estimate is still calculated according to Eq. (1). The gyroscope is mounted with its sensitive axis perpendicular to the plane of motion, and estimates tilt angle u as:
uGyro ½n ¼ uGyro ½n 1 þ
Gyro½n 1 Scale
(2)
where uGyro[n 1] is the gyroscope’s estimate of U at the time [n 1], and Gyro[n 1]is the gyroscope reading at time [n 1]. Eq. (2) assumes that the change in gyroscope output is small over the sampling interval. Scale converts the gyroscope’s angular velocity reading into an angular displacement: Scale ¼ SensGyro F S
(3)
SensGyro is the sensitivity of the gyroscope in counts per8/s. FS is the sampling rate in Hertz. Eqs. (2) and (3) simplify the measurement problem by assuming all motion occurs in a single plane. This is a common practice and is a reasonable assumption in many biomechanical applications [9,25], including toe walking, where the motion of interest occurs in the sagittal plane. This approach also saves power by requiring only a single (as opposed to three) axis gyroscope. Complementary 128-tap low and high-pass filters were designed with identical cut-off frequencies, to filter uAccel and uGyro respectively.
487
this study, but the performance of this algorithm suggests it is small. 2.3.4. Dynamic predict-correct algorithm The ‘‘predict-correct’’ scheme is the core of the popular Kalman filter: first an estimate of the desired quantity is calculated, and then the estimate is refined using a second source of information. We propose to calculate an accelerometer-based estimate of foot angle, and refine it by blending with a gyroscope-based estimate in the predict-correct fashion. The accelerometer-based estimate is calculated as in Eq. (1). The gyroscope-based estimate for time ‘n’ is calculated similarly to Eq. (2):
ugyro ½n ¼ uˆ ½n 1 þ
Gyro½n 1 Scale
(6)
Here uˆ ½n 1 is the overall foot-angle estimate from time ‘n 10 . The overall foot angle estimate at time ‘n’ is then calculated as a weighted average of uAccel[n] and uGyro[n]:
u¨ ½n ¼ uAcc ½n uGyro ½nÞ;
k½n 2 ð0; 1Þ
(7)
where k[n] determines the weighting of the gyroscope-based estimate in the weighted average. We make our predict-correct algorithm dynamic by making k a continuous function of some inertial feature. Seven separate features were evaluated as possible bases for calculating k: (a) external acceleration, (b) low-pass filtered acceleration (using low-pass filter from Eq. (4)), (c) differentiated acceleration, (d) angular rotation, (e) low-pass filtered angular rotation, (f) differentiated rotation, (g) accelerometer tilt estimate. Each of the seven options was tried using the three extra datasets. To discover the function for calculating k from the inertial feature, we first calculated the ideal k value for each sample in the datasets – that is, the value of k which minimizes the error between uTrue[n] (the true tilt angle) and u¨ ½n: u ½n uTrue ½n kideal ½n ¼ min 1; min 0; Acc uAcc ½n ugyro ½n
(8)
yl p f ½n ¼ ð1 al p f Þ ½n þ al p f g l p f ½n 1
al p f 2 ð0; 1Þ
(4)
Fuzzy c-means clustering (FCM) [29] was then used to create a function for k. Clustering is a machine learning method which groups datapoints by similarity, and represents each group (‘‘cluster’’) by a single representative point. We used FCM to identify these representative points in the distribution of ideal k vs. the inertial feature (Fig. 2). The representative points were then joined together to create a piecewise linear function relating k to the inertial feature. Fig. 2 illustrates the results of the process when using low-pass filtered angular rotation as the inertial feature. Low-pass filtered angular rotation was the inertial feature with the best performance on the three datasets – the dynamic predictcorrect algorithm used this feature when tested on the 11 subjects.
yl p f ½n ¼ x½n x½n 1 þ ah p f g h p f ½n 1;
ah p f 2 ð0; 1Þ
(5)
3. Results
2.3.3. Infinite-impulse-response (IIR) complementary filters IIR filters are more computationally efficient but can be harder to implement than FIR filters. An exponential averaging filter was used for low-pass filtering and a DC-block for high-pass filtering. These filters were implemented using the following difference equations:
where ylpf[n] and yhpf[n] are the low-pass and high-pass filter outputs at time n, respectively. x[n] is the filter input at time n, and alpf and ahpf control the filters’ roll-off sharpness. These filters are not truly complementary – their frequency magnitude responses do not sum to 1, and they have mismatched group delays. An analysis of the distortion caused by these defects is omitted from
Table 1 shows the measurement error for each algorithm tested. The predict-update algorithm provides the smallest error. Fig. 3 shows the output of the dynamic predict-correct algorithm for one test subject during normal gait. The algorithm’s estimation of foot angle includes some error, but preserves the shape of the footangle waveform.
1 Data Points Representative Points Function for K
Ideal K
0.8 0.6 0.4 0.2 0 0
50
100 150 200 250 300 Low−pass Filtered Rotation (°/s)
350
400
Fig. 2. Example of using FCM to create a function for calculating K from an inertial feature. Light dots plot the feature value vs. ideal K for individual samples in the dataset. Dark circles are the representative points generated by the FCM process. The black line is a piecewise linear function relating K to the inertial feature.
Complexity was determined assuming that square roots can be evaluated using the Babylonian method, which converges in 10 operations. Arctangents can be evaluated using an 18 operation approximation [30]. 128-point FIR filters involve 128 multiplications and as many additions per iteration. Using the above information and counting the operations described for each algorithm, the accelerometry algorithm requires 287 operations, and the complementary FIR filters require 546 operations. The complementary IIR filters total 42 operations. The predict-correct algorithm requires 3 operations to low-pass filter the rotation magnitude, 5 comparisons to identify a particular segment of the piecewise linear function, and 3 operations to calculate a point on that segment. Its total operation count is 53.
4. Discussion A battery-powered, foot-worn device for long-term inertial sensing of foot angle would be useful for improved toe-walking assessment in ‘real-life’ environments. For practical purposes the device should be small, placing tight constraints on battery size and processing power. Unfortunately, existing literature contains few low-complexity algorithms for calculating orientation from inertial sensors. This work has compared some existing algorithms, and proposed a new one. The results show an accelerometer-only sensing scheme to be too inaccurate for this application. The dynamic predict-correct algorithm achieved a small (but statistically significant – Wilcoxon test, p < 0.01) improvement in accuracy over the others. However, the complementary IIR filters have the advantage of being simpler – both computationally and to design. This work seems to indicate the complementary IIR filters and the dynamic predict-correct are the two best algorithms for the application. It should be noted that while the IIR filters have a lower operation count, the actual
Monitor Unit Tilt Angle (°)
E. Chalmers et al. / Gait & Posture 39 (2014) 485–489
488
120
Actual Measured
100 80 60 40 0
0.5
1 Time (s)
1.5
2
Fig. 3. Output of the dynamic predict-correct algorithm during gait, plotted along with true tilt angle. The algorithm preserves the ‘shape’ of the foot-angle waveform, which can differentiate toe-walking from normal walking. Spikes at 0.4 and 1.4 s show a ‘wobble’ of the sensing unit, due to it being mounted on subjects’ shoes.
run-times of these algorithms would depend on the processor on which they were implemented. The dynamic predict-correct algorithm blends accelerometer and gyroscope-based tilt estimates in a weighted average defined by a blending factor K. K is calculated from the current angular velocity. Fig. 2 illustrates the relationship between K and angular velocity, which relationship is derived using FCM clustering. As rotation speed increases, the algorithm is quickly dominated by the gyroscope estimate (K approaches 1), with some mitigating influence from the accelerometer estimate. From Fig. 2 it appears that all rotation speeds above 508 s1 produce similar K values, but our experience shows that for K values close to 1, even small variations in K can significantly affect the algorithm’s operation. The dynamic predict-correct algorithm achieved a mean error under 58 during normal walking and toe-walking. It can reproduce the shape of the foot-angle waveform during gait, and this waveform can be used to identify toe-walking. A range of different analyses could be performed on the foot-angle measurements, making this algorithm potentially more generally useful than algorithms which simply classify specific gait events [11,14–17]. By providing a foot-angle measurement, the algorithm could enable other non-toe-walking related gait analysis and rehabilitation to occur outside the lab. An obvious limitation of this preliminary work is that toewalking data was simulated (not gathered from actual toewalkers). The effect of this is unknown. However we do note that all algorithms performed more poorly on toe-walking data than normal walking. This suggests that each subject toe-walked in a slightly different way, making it difficult for the algorithms to accurately process their data after being optimized for other subject’s data. Future work should implement the complementary IIR filters and the dynamic predict-correct algorithm using actual toe-walking subjects, to investigate these effects.
Table 1 Mean and RMS measurement error for each algorithm, tested during normal walking and mixed (normal and toe-walking) situations. Normal walking
Accelerometer only FIR complementary filters IIR complementary filters Predict-update
Mixed walking
Mean error
85th centile error
RMS error
Mean error
85th centile error
RMS error
8.98 4.28 4.68 3.48
18.08 7.78 8.78 6.58
12.68 5.78 5.98 4.98
9.28 5.38 5.38 4.58
17.98 9.98 9.88 8.58
138 7.28 6.98 6.58
All differences are statistically significant using Wilcoxon test, p < 0.01.
E. Chalmers et al. / Gait & Posture 39 (2014) 485–489
Conflict of interest The authors declare that they have no competing interests. References [1] Sutherland D. The development of mature gait. Gait & Posture 1997;6:163–70. [2] Fox A, Deakin S, Pettigrew G, Paton R. Serial casting in the treatment of idiopathic toe-walkers and review of the literature. Acta Orthopaedica Belgia 2006;72:722–30. [3] Engstrom P, Gutierrez-Farewik E, Bartonek A, Tedroff K, Orefelt C, HaglundAkerlind Y. Does botulinum toxin A improve the walking pattern in children with idiopathic toe-walking? Journal of Children’s Orthopaedics 2010;4:301– 8. [4] Kogan M, Smith J. Simplified approach to idiopathic toe-walking. Journal of Pediatric Orthopaedics 2001;21:790–1. [5] Alvarez C, De Vera M, Beauchamp R, Ward V, Black A. Classification of idiopathic toe walking based on gait analysis: development and application of the ITW severity classification. Gait & Posture 2007;26:428–35. [6] Kavanagh JJ, Menz HB. Accelerometry: a technique for quantifying movement patterns during walking. Gait & Posture 2008;28:1–15. [7] Wong W, Wong MS, Lo KH. Clinical applications of sensors for human posture and movement analysis: a review. Prosthetics and Orthotics International 2007;31:62–75. [8] Sabatini AM. Estimating three-dimensional orientation of human body parts by inertial/magnetic sensing. Sensors 2011;11:1489–525. [9] Fong D, Chan Y-Y. The use of wearable inertial motion sensors in human lower limb biomechanics studies: a systematic review. Sensors 2010;10:11556–65. [10] Mamizuka N, Sakane M, Kaneoka K, Hori N, Ochiai N. Kinematic quantitation of the patellar tendon reflex using a tri-axial accelerometer. Journal of Biomechanics 2007;40:2107–11. [11] Chan Y-Y, Fong D, Chung MM-L, Li W-J, Liao W-H, Yung PS-H, et al. Identification of ankle sprain motion from common sporting activities by dorsal foot kinematics data. Journal of Biomechanics 2010;43:1965–9. [12] Clark RA, Bartold S, Bryant AL. Tibial acceleration variability during consecutive gait cycles is influenced by the menstrual cycle. Clinical Biomechanics 2010;25:557–62. [13] Alaqtash M, Yu H, Brower R, Abdelgawad A, Sarkodie-Gyan T. Application of wearable sensors for human gait analysis using fuzzy computational algorithm. Engineering Applications of Artificial Intelligence 2011;24:1018–25. [14] Lau H, Tong K, Zhu H. Support vector machine for classification of walking conditions of persons after stroke with dropped foot. Human Movement Science 2009;28:504–14.
489
[15] Senanayake C, Senanayake A. A computational method for reliable gait event detection and abnormality detection for feedback in rehabilitation. Computer Methods in Biomechanics and Biomedical Engineering 2011;14:863–74. [16] Curone D, Bertolotti GM, Cristiani A, Secco EL. A real-time and self-calibrating algorithm based on triaxial accelerometer signals for the detection of human posture and activity. IEEE Transactions on Information Technology in Biomedicine 2010;14:1098–105. [17] Coley B, Najafi B, Paraschiv-Ionescu A, Aminian K. Stair climbing detection during daily physical activity using a miniature gyroscope. Gait & Posture 2005;22:287–94. [18] Hanlon M, Anderson R. Real-time gait event detection using wearable sensors. Gait & Posture 2009;30:523–7. [19] Rehbinder H, Hu X. Drift-free attitude estimation for accelerated rigid bodies. Automatica 2004;40:653–9. [20] Suh YS. Orientation estimation using a quaternion-based indirect Kalman filter with adaptive estimation of external acceleration. IEEE Transactions on Instrumentation and Measurement 2010;59:3296–305. [21] Harms H, Amft O, Winkler R, Schumm J, Kusserow M, Troester G, et al. Miniature orientation sensor for wearable human motion analysis. In: Ninth IEEE sensors conference. 2010. p. 1037–42. [22] Simcox S, Parker S, Davis GM, Smith RW, Middleton JW. Performance of orientation sensors for use with a functional electrical stimulation mobility system. Journal of Biomechanics 2005;38:1185–90. [23] Findlow A, Goulermas J, Nester C, Howard D, Kenney L. Predicting lower limb joint kinematics using wearable motion sensors. Gait & Posture 2007;28:120– 6. [24] Liu K, Liu T, Shibata K, Inoue Y, Zheng R. Novel approach to ambulatory assessment of human segmental orientation on a wearable sensor system. Journal of Biomechanics 2009;42:2747–52. [25] Sabatini AM, Martelloni C, Scapellato S, Cavallo F. Assessment of walking features from foot inertial sensing. IEEE Transactions on Biomedical Engineering 2005;52:486–94. [26] Tong K, Granat MH. A practical gait analysis system using gyroscopes. Medical Engineering & Physics 2011;49:707–12. [27] Zijlstra A, Goosen JH, Verheyen C, Zijlstra W. A body-fixed-sensor based analysis of compensatory trunk movements during unconstrained walking. Gait & Posture 2008;27:164–7. [28] Kohavi R. A study of cross-validation and bootstrap for accuracy estimation and model selection. International Joint Conference on Artificial Intelligence 1995;14(2):1137–45. [29] Pedrycz W, Gomide F. Fuzzy systems engineering: toward human-centric computing. 1st ed. New Jersey: Wiley; 2007. [30] Rajan S, Wang S, Inkol R, Joyal A. Efficient approximations for the arctangent function. streamlining digital signal processing. NJ: Wiley; 2007.