 Research
 Open Access
Improving lowcost inertialmeasurementunit (IMU)based motion tracking accuracy for a biomorphic hyperredundant snake robot
 Weixin Yang^{1}Email authorView ORCID ID profile,
 Alexandr Bajenov^{1} and
 Yantao Shen^{1}
 Received: 6 October 2017
 Accepted: 31 October 2017
 Published: 10 November 2017
Abstract
This paper develops and experimentally validates a 3Dprinted snake robot prototype. Its structure is designed to allocate limited room for each functional module (including an external power module, battery power module, the wireless control and transmission module and some detective sensors), so as to ensure the snake robot works in different environments. In order to control and track the snake robot, a lowcost MEMSIMU (microelectromechanical systems inertial measurement unit)based snake robot motion tracking system is developed. Three algorithms (lowpass filter, baseline calibration, and Kalman filter) are used to eliminate noise from IMU’s acceleration data, thus minimizing the noise influence to tracking accuracy. Through signal processing, the IMU acceleration data can be effectively used for motion tracking. The result from the video tracking software is employed as a reference for comparison, so as to evaluate the motion tracking algorithm efficiency. The comparison results demonstrate high efficiency of the proposed IMUbased motion tracking algorithm.
Keywords
 Snake robot
 3D printing
 IMU
 Motion tracking
Background
Biological snake has a cordlike body with many links (bones) which can form diverse locomotion modes with many functions [1]. Snake is one of the most successfully evolved species, which has lived on the earth for 300 million years because of its high adaptation to the environment. Different locomotion modes also have various functions. Some snakes have the ability to change their movement mode immediately when entering into a new environment. Because of the snake’s versatility, the study of snake locomotion mode promises many future applications such as space exploration, environmental monitoring, transportation, and surveillance.
According to the research on the biological snake, the snakeinspired robot has extremely high redundancy with many degrees of freedom, with its body on the ground and kinetically stable. This feature makes the snake easily adapt to irregular terrain. Based on this high adaptability, the snake robot can be adopted where human beings cannot go to carry out tasks. The snake’s locomotion modes can be categorized into following four types: (1) serpentine locomotion; (2) rectilinear locomotion; (3) rolling locomotion; and (4) sidewinding locomotion. In this paper, two locomotion modes are developed. The serpentine movement is the most typical locomotion mode, which has been widely observed in almost all species of snakes. According to Hirose’s [2] research on the biological snake, the research starts with generating the serpentine curve for the snake robot [3]. To test additional locomotion performance of the robot, sidewinding is further investigated and performed on the developed robot.
The snake robot is designed to collect information in some challenging environments, such as forest, cave, building ruins, or even underwater. Most of these environments are GPSdenied, leading to the difficulties in tracking and controlling snake robot. Hence, it is necessary to consider and understand the efficiency of each locomotion mode in different environments based on collected terrain information. Many studies on object’s attitude determination with MEMSIMU have been performed for many years. MEMSIMUbased tracking technology [4] is widely applied in many fields, such as detection of unconstrained walking [5], pedestrian tracking in indoor environments [6, 7].
However, IMUbased tracking system calculates the position by double integration of measured acceleration, and with double integration, calculation errors grow rapidly, thus the system being not reliable for a longtime tracking without the aid of GPS or another reference system. Hence, this research focuses on accuracy of IMUbased tracking system by using an improving acceleration estimation method.
To eliminate the effects of accelerometer errors, most of the papers adopt some sensor fusion algorithms, among which the Kalman filter is the most commonly used. In [8–10], standard Kalman filter, unscented Kalman filter (UKF), and extended Kalman filter (EKF) are employed in high data rate signal processing. EKF has lower accuracy; however, UKF requires more computational time.
The paper is organized as follows. In "Custombuilt snake robot" section, a customized snake robot is built through 3D printing. "Snake robot trajectory tracking" section presents the motion tracking algorithm along with the three signal processing algorithms including Butterworth lowpass filter, baseline calibration, and Kalman filter. After data processing, the acceleration data can be used for motion tracking. The conclusion and discussion are given in "Conclusion" section.
Custombuilt snake robot
Snake robot trajectory tracking
Motion tracking algorithm
Noise processing of tracking system
Lowpass filter
After Fourier transform of the acceleration data, it is clear in the above picture of Fig. 5 that the noise of each axis is mainly around 50 Hz in stationary. From the lower picture of Fig. 5, the valid acceleration data are mainly around 10 Hz for the Xaxis and 15 Hz for the Yaxis when moving.
By programming IMU, the data output frequency is 50 Hz. A hardware RC lowpass filter is employed between IMU output terminal and wireless transmission chip, so as to reduce highfrequency component. Then by using Butterworth lowpass filter, most of the highfrequency noises are inhibited. The signal decay of the Butterworth lowpass filter is slow but smooth. In this paper, the sampling rate is 500 Hz; the passband corner frequency is 15 Hz; the stopband corner frequency is 50 Hz; the maximum passband ripple is 3 dB; and the minimum attenuation is 60 dB.
It is clear in Fig. 7, there is noise only in the passband, and its amplitude is very small.
Baseline calibration
After lowpass filter, the acceleration data can be used for integration. Before integrating the data, the baseline shift cannot be ignored.
The baseline shift in the Xaxis is about − 0.3 m/s\(^2\), i.e. the Xaxis movement when tracking is − 0.3 m/s even if the snake robot is stationary. Similarly, the baseline shift in the Yaxis is about 0.3 m/s\(^2\), i.e. the Yaxis movement is 0.3 m/s when stationary. When including the baseline shift is in the integration, the cumulative errors will have a significant influence on the system accuracy.
Statistic of oscillation distribution when stationary
Xaxis < 0.05  Yaxis < 0.05  Zaxis < 0.1 

1  0.9418  0.9548 
Statistical analysis of oscillation distribution when moving
Xaxis < 0.05  Yaxis < 0.05  Zaxis < 0.1 

0.0839  0.0704  0.0124 
The distribution of absolute difference for motion data is concentrated on a smaller interval comparing with stationary data, which has been verified by repeated experiments.
Statistical analysis of oscillation distribution when moving and stationary
Probability  Group 1  Group 2  Group 3  Group 4  Group 5 

Stationary  0.9418  0.9854  0.9712  0.9755  0.9587 
Moving  0.0704  0.0839  0.0655  0.0814  0.0716 
From Table 3, the data verify the previous conclusion that the probability of the absolute difference within [0, 0.05] in stationary is much higher than that of in moving state. To calibrate the baseline, every 100 data (i.e. data in 0.2 s) are taken for the statistic. The statistic shows whether the probability of the absolute difference within [0, 0.05] is higher than 0.95. If so, then the snake robot is stationary. Then the average value of this group data is used as the new average value to shift the acceleration data, i.e., adding or subtracting the compensation value from acceleration data (depending on the sign of acceleration data). At the same time, once the data show that the snake robot is stationary, the value of acceleration data is set to zero.
Kalman filter
To eliminate random errors, the Kalman filter is applied to the tracking system, thus filtering the acceleration data. The Kalman filter is a set of mathematical equations that provide an efficient computational (recursive) state estimation, so as to minimize the mean squared error [12].
Snake robot locomotion analysis
Comparison of tracking results
Displacement (cm)  Velocity (cm/s)  

IMU tracking  106.85  28.59 
Video tracking  95.25  25.34 
Simulation  100  24.3 
Average tracking error from experiments
Num.  Video Dis. Xaxis  Video Dis. Yaxis  IMU Dis. Xaxis  IMU Dis. Yaxis  Video Ave. speed  IMU Ave. speed  Average velocity error (%)  Dis. error (%) 

1  34.37  95.85  38.65  106.85  24.90  27.12  8.93  11.59 
2  31.56  93.48  36.14  105.61  24.28  26.80  10.40  12.14 
3  32.14  96.54  36.54  107.36  25.08  27.25  8.67  11.48 
4  33.19  101.3  39.45  109.74  26.31  27.85  5.88  9.87 
5  36.21  98.65  40.19  109.22  25.62  27.72  8.19  11.56 
6  34.95  97.51  38.47  110.35  25.33  28.01  10.58  12.23 
7  35.41  101.3  39.10  113.84  26.31  28.89  9.81  12.18 
8  34.87  95.11  37.30  107.97  24.70  27.40  10.93  12.12 
9  39.12  105.9  45.85  118.54  27.50  30.09  9.41  12.21 
10  34.84  96.34  36.54  108.21  25.02  27.46  9.76  11.70 

Accelerometer accuracy.

The measurement error due to mechanical characteristics of MEMS under the influence of the environment.

Gravity.

Random noise.
Conclusion
This paper presents a solution to build a snake robot with the tracking system. The tracking system/algorithm can be used for locomotion analysis based on IMU data. Experiments on the algorithm validate its effectiveness. The algorithm can be further improved as the advanced data processing methods.
Declarations
Author's contributions
YTS supervised the project. WXYdeveloped the motion tracking algorithm and data processing algorithm, and also designed the experiments and comparative experiments. AB modified the custombuilt snake robot. All authors read and approved the final manuscript.
Acknowlegements
The authors thank Yudong Luo and Na Zhao for helping simulation and implementation of the project.
Competing interests
Weixin Yang, Bajenov Alexandr and Yantao Shen have no competing interests.
Availability of data and materials
The data sets supporting the conclusions of this article are available in the Google Drive repository https://drive.google.com/open?id=0B5zKGavqzH_GVlZxUVo3cnl4bUU
Funding
The project is partially supported by NASA CAN grant #NNX13AN15A and NASA RID SEED grant NNX15AI02H.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 Gray J. The mechanism of locomotion in snakes. J Exp Biol. 1946;23(2):101–120. http://jeb.biologists.org/content/23/2/101.full.pdf
 Hirose S. Biologically inspired robots: serpentile locomotors and manipulators. Oxford: Oxford University Press; 1993.Google Scholar
 Ma S, Tadokoro N. Analysis of creeping locomotion of a snakelike robot on a slope. Auton. Robots. 2006;20(1):15–23. https://doi.org/10.1007/s1051400652046.View ArticleGoogle Scholar
 Sabatelli S, Galgani M, Fanucci L, Rocchi A. A doublestage kalman filter for orientation tracking with an integrated processor in 9d imu. IEEE Trans Instrum Measur. 2013;62(3):590–8. https://doi.org/10.1109/TIM.2012.2218692.View ArticleGoogle Scholar
 Lee JK, Park EJ. Quasi realtime gait event detection using shankattached gyroscopes. Med Biol Eng Comput. 2011;49(6):707–12. https://doi.org/10.1007/s1151701107360.View ArticleGoogle Scholar
 Faulkner WT, Alwood R, Taylor DWA, Bohlin J, David D, Taylor WA. Gpsdenied pedestrian tracking in indoor environments using an imu and magnetic compass. Proc Int Tech Meet Inst Navig Itm. 2010;1(2):198–204.Google Scholar
 Foxlin E. Inertial headtracker sensor fusion by a complementary separatebias Kalman filter. In: Proceedings of the IEEE 1996 virtual reality annual international symposium; 1996. pp. 185–194. https://doi.org/10.1109/VRAIS.1996.490527
 Corrales JA, Candelas FA, Torres F. Hybrid tracking of human operators using IMU/UWB data fusion by a kalman filter. In: 2008 3rd ACM/IEEE international conference on human–robot interaction (HRI); 2008. pp. 193–200. https://doi.org/10.1145/1349822.1349848
 Zhang P, Gu J, Milios EE, Huynh P. Navigation with IMU/GPS/digital compass with unscented Kalman filter. In: IEEE international conference mechatronics and automation, vol. 3. 2005; pp. 1497–15023 (2005). https://doi.org/10.1109/ICMA.2005.1626777
 Sabatini AM. Quaternionbased extended kalman filter for determining orientation by inertial and magnetic sensing. IEEE Trans Biomed Eng. 2006;53(7):1346–56. https://doi.org/10.1109/TBME.2006.875664.View ArticleGoogle Scholar
 Speed Integration Principle. http://www.diangon.com/m22602.html
 Discrete Kalman Filter. http://wolfweb.unr.edu/fadali/EE782/DiscreteKF.pdf