|
- 2019
Angular Position Estimation of an Inverted Pendulum Using Low-Cost IMUsDOI: 10.12691/ajst-5-1-1 Abstract: 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
|