The aim of this project is to learn sensor fusion algorithms and implement them on ARM microcontroller.
GY-80 is a cheap sensor board. Available on Ebay and DealExtreme.
Board feature 4 sensors providing in total 10-dimensional information.
The purpose of this project is to provide sensor fusion solution using low-cost sensor board.
<html> <?xml version=“1.0” encoding=“UTF-8” standalone=“no”?> <!– Created with Inkscape (http://www.inkscape.org/) –>
</html>
115200 8N1
1.1 | GY-80 VCC_3.3V |
1.10 | GY-80 SDA |
1.9 | GY-80 SCL |
GND | GY-80 GND |
Notes:
1
to -
turn on/off plotting valuec
clears the windowFollowing graph show angle measurement using accelerometer (red) and gyroscope (blue). Gyro clearly shows error-induced drift.
<html> <?xml version=“1.0” encoding=“UTF-8” standalone=“no”?>
</html>
Complementary filter is a good alternative for small systems. http://web.mit.edu/scolton/www/filter.pdf
Filters:
While both methods provided unbiased value, the Kalman filter provided more stable readout. Present-day MCUs provide sufficient power to use Kalman filter in real-time.
The robot consists of 5 parts: Tamiya gearbox, double H-bridge driver, Bluetooth wireless module, Stellaris launchpad board and GY-80 sensor board. The power is provided externally.
GY-80 board provides accelerometer and gyro sensor measurement at 100 [Hz] (UPS variable). Sensor data is then processed by kalman filter and feed into PI controller. Control signal is driving PWM output driving motors H bridges.
Notes:
Robot operation. Red - accelerometer angle. Green - Gyro angular acceleration. Blue - estimated angle. Yellow - PI control signal.