American Journal of Sensor Technology
ISSN (Print): 2373-3454 ISSN (Online): 2373-3462 Website: Editor-in-chief: Vyacheslav Tuzlukov
Open Access
Journal Browser
American Journal of Sensor Technology. 2018, 5(1), 1-6
DOI: 10.12691/ajst-5-1-1
Open AccessArticle

Angular Position Estimation of an Inverted Pendulum Using Low-Cost IMUs

Daisuke Aoyagi1, and Sukgi Choi2

1Department of Mechanical and Mechatronic Engineering and Sustainable Manufacturing, California State University, Chico, CA 95929, USA

2Department of Electrical and Computer Engineering, California State University, Chico, CA 95929, USA

Pub. Date: September 09, 2018

Cite this paper:
Daisuke Aoyagi and Sukgi Choi. Angular Position Estimation of an Inverted Pendulum Using Low-Cost IMUs. American Journal of Sensor Technology. 2018; 5(1):1-6. doi: 10.12691/ajst-5-1-1


Seeking an affordable solution to measure a bicycle’s roll angle, we came across an Inertial Measurement Unit (IMU) BNO055 by Bosch, which contains 3-axis accelerometer, gyroscope, and magnetometer, and is advertised to produce “absolute orientation” by a built-in proprietary “Fusion” algorithm. We found another low-cost IMU, an MPU-9250 from InvenSense, which could also calculate absolute orientation via embedded Fusion software. Being unable to find information about dynamic characteristics of these IMUs in their datasheets, we sought to evaluate them under dynamic conditions, specifically in the estimation of roll angle. We constructed an inverted pendulum as a model of a bicycle, mounted both IMUs on it, and attached a potentiometer to measure actual angular position for reference. Additionally, as an alternative to the proprietary Fusion algorithms, we devised and implemented an Extended Kalman Filter, which, we hypothesized, would perform better than the proprietary Fusion algorithms, because our algorithm incorporated the kinematics of the inverted pendulum while the Fusion algorithm of the IMUs did not. In a series of experiments, we observed a significant time lag, about 0.05-0.1 second, in BNO055’s raw acceleration and gyro signals. The BNO055’s Fusion responded with similar lag and an offset of 0.5-3°; we also noticed rather unpredictable fluctuation in the output signals, possibly due to its “automatic calibration” feature, which cannot be disabled. The MPU-9250 exhibited better performance than the BNO055 in terms of raw acceleration signals and, particularly, gyro signals. The MPU-9250’s Fusion performed somewhat better than BNO055’s, typically showing lag of 0.03-0.06 sec and static offset of 0.5-1°. Our implementation of Kalman Filter based on MPU-9250 raw signal performed better than either Fusion algorithm, with about 0.02-0.03 second lag and 0.5-1° offset, supporting our hypothesis. Our next step is to experiment on an actual bicycle in motion.

inertial measurement unit angular estimation inverted pendulum Extended Kalman Filter

Creative CommonsThis work is licensed under a Creative Commons Attribution 4.0 International License. To view a copy of this license, visit


Figure of 4


[1]  Cerone, V., Andreo, D., Larsson, M. and Regruto, D. “Stabilization of a Riderless Bicycle: A Linear-Parameter-Varying Approach”, [Applications of Control] IEEE Control Systems, 30(5). 23-32. 2010.
[2]  Finkbeiner, S., “MEMS for automotive and consumer electronics”, Proceedings of the European Solid-State Device Research Conference, 9-14, Sept 2013.
[3]  TDK InvenSense, “Embedded MotionDriver 6.12 - InvenSense Developers Corner”, (log-in required) [Online]. Available: [Accessed May 2018].
[4]  Kalman, R.E., and Bucy, R.S., “New Results in Linear Filtering and Prediction Theory,” Journal of basic engineering, 83(1). 95-108. 1961.
[5]  Leavitt, J., Sideris, A., and Bobrow, J.E., “High Bandwidth Tilt Measurement Using Low-Cost Sensors”, IEEE/ASME Transactions On Mechatronics, 11(3). 320-327. 2006.
[6]  “SparkFun Electronics,” [Online]. Available: [Accessed July 2018].
[7]  “adafruit,” [Online]. Available: [Accessed July 2018].
[8]  Townsend, K, “Adafruit Unified BNO055 Driver,” Adafruit Industries, [Online]. Available: [Accessed Feb 2018].
[9]  Rhudy, M.B., Salguero, R. A., and Holappa, K., “A Kalman Filtering Tutorial for Undergraduate Students,” International Journal of Computer Science & Engineering Survey, 8(1), Feb 2017.