Improving low-cost inertial-measurement-unit (IMU)-based motion tracking accuracy for a biomorphic hyper-redundant snake robot
© The Author(s) 2017
Received: 6 October 2017
Accepted: 31 October 2017
Published: 10 November 2017
This paper develops and experimentally validates a 3D-printed 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 low-cost MEMS-IMU (micro-electro-mechanical systems inertial measurement unit)-based snake robot motion tracking system is developed. Three algorithms (low-pass 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 IMU-based motion tracking algorithm.
Biological snake has a cord-like body with many links (bones) which can form diverse locomotion modes with many functions . 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 snake-inspired 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  research on the biological snake, the research starts with generating the serpentine curve for the snake robot . 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 GPS-denied, 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 MEMS-IMU have been performed for many years. MEMS-IMU-based tracking technology  is widely applied in many fields, such as detection of unconstrained walking , pedestrian tracking in indoor environments [6, 7].
However, IMU-based 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 long-time tracking without the aid of GPS or another reference system. Hence, this research focuses on accuracy of IMU-based 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 "Custom-built 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 low-pass 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.
Custom-built snake robot
Snake robot trajectory tracking
Motion tracking algorithm
Noise processing of tracking system
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 X-axis and 15 Hz for the Y-axis when moving.
By programming IMU, the data output frequency is 50 Hz. A hardware RC low-pass filter is employed between IMU output terminal and wireless transmission chip, so as to reduce high-frequency component. Then by using Butterworth low-pass filter, most of the high-frequency noises are inhibited. The signal decay of the Butterworth low-pass 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.
After low-pass filter, the acceleration data can be used for integration. Before integrating the data, the baseline shift cannot be ignored.
The baseline shift in the X-axis is about − 0.3 m/s\(^2\), i.e. the X-axis movement when tracking is − 0.3 m/s even if the snake robot is stationary. Similarly, the baseline shift in the Y-axis is about 0.3 m/s\(^2\), i.e. the Y-axis 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
X-axis < 0.05
Y-axis < 0.05
Z-axis < 0.1
Statistical analysis of oscillation distribution when moving
X-axis < 0.05
Y-axis < 0.05
Z-axis < 0.1
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
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.
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 .
Snake robot locomotion analysis
Comparison of tracking results
Average tracking error from experiments
Video Dis. X-axis
Video Dis. Y-axis
IMU Dis. X-axis
IMU Dis. Y-axis
Video Ave. speed
IMU Ave. speed
Average velocity error (%)
Dis. error (%)
The measurement error due to mechanical characteristics of MEMS under the influence of the environment.
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.
YTS supervised the project. WXYdeveloped the motion tracking algorithm and data processing algorithm, and also designed the experiments and comparative experiments. AB modified the custom-built snake robot. All authors read and approved the final manuscript.
The authors thank Yudong Luo and Na Zhao for helping simulation and implementation of the project.
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
The project is partially supported by NASA CAN grant #NNX13AN15A and NASA RID SEED grant NNX15AI02H.
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.
- 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 snake-like robot on a slope. Auton. Robots. 2006;20(1):15–23. https://doi.org/10.1007/s10514-006-5204-6.View ArticleGoogle Scholar
- Sabatelli S, Galgani M, Fanucci L, Rocchi A. A double-stage kalman filter for orientation tracking with an integrated processor in 9-d 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 real-time gait event detection using shank-attached gyroscopes. Med Biol Eng Comput. 2011;49(6):707–12. https://doi.org/10.1007/s11517-011-0736-0.View ArticleGoogle Scholar
- Faulkner WT, Alwood R, Taylor DWA, Bohlin J, David D, Taylor WA. Gps-denied 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 head-tracker sensor fusion by a complementary separate-bias 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. Quaternion-based 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