Gyro and Accelerometer Fusion


When combining a 3 axis gyroscope and a 3 axis accelerometer it will provide a six-axis interpretation of movement through space. This is especially useful in robotics and other hand applications, because it can filter the unintended ambient movement and vibration of a user's hand, allowing for a more accurate measurement of international movements. 
The next paragraph describes the function of each sensor and their  advantages and disadvantages . 

An accelerometer is used to sense not only the gravity (tilt) but the sudden acceleration within a certain range of motion. Its characteristics are:

>> Slow response 
>> Sensitive to acceleration forces due to movement

3 axis Accelerometer
 3 axis Accelerometer 

The gyro outputs angular velocity (degrees per second) and it’s not sensitive to acceleration. In order to get the angular position we have to integrate this signal. hand it has the capability of measuring  the rate of rotation around a particular axis. For instance if a gyroscope is used to gauge the rate of rotation around the roll axis of an aircraft, it will come up with a non zero roll value, so long as the aircraft continues to roll, but shows zero if the roll stops. Its characteristics are:

>> Measures angular rate (speed of rotation). 
>> Reads “zero” when stationary
>> Reads positive or negative when rotating

 3 axis Gyroscope
3 axis Gyroscope 

Integrate the Gyro and Accelerometer:
When a gyroscope and accelerometer are combined, it is possible to simultaneously measure acceleration and gravitational placement in the X, Y, and Z axis. This integration of these 2 sensors gives a total of six orientation measurements. There are many advantages to having six directional measurements available. By combining a gyroscope and accelerometer, it is possible to better balance a balancing robot  which is a very unstable setup. A gyroscope and accelerometer are used together to create a more accurate measurement of overall movement and location through space.



When implementing these two sensors togther without any filtering, the next result will be given:

 gyro + accelerometer signals

The folowing points can be noticed from the result shown above (Combination of Gyro and Accelerometer without any filtering):

>>The Red signal is the raw tilt angle (Accelerometer signal) which is noisy. 
>>The Green signal is the gyro signal which is a very clean signal but contain a lot of drift over time. 
>>The Blue signal is the output of a Kalman Filter which gets the advantages of these two signals and eliminate the disadvantages of the signal mentioned above. 


                          Get a Clean output? Solution is by Filtering.


Types of Filters:

Complementary Filter:
>> Can help fix noise, drift, and horizontal acceleration.
>> Fast execution of the outpur angle, and much less lag.
>> Do not need so much processing time.

>> Has more theory involved to be implemented.


Kalman Filter:
>> Theoretically it is an ideal filter for combining noisy sensors to get clean and estimated output.
>> Accurate filtering because it takes into account known physical properties of the system for example mass, inertia, etc.

>> Mathematically complex, requiring some knowledge of linear algebra.
>> Difficult and involves complex coding.
>> Need lot of resources in the microcontroller.