Go Down

Topic: Complementary filter for gyroscope and accelerometer (Read 69 times) previous topic - next topic

DryRun

Hi,

I am trying to understand how the complementary filter works. I did some research and i found this:


I am confused about the noise and drift before any filter is applied. I have 2 questions:

1. In the accelerometer, the noise is high frequency signals which is caused by the environment or maybe within the sensor itself. But in the gyroscope, before it is integrated, it should be low frequency noise? Is this the same as drift? Or is the noise causing the drift or vice-versa?

2. In the figure above, it shows that the angular velocity is a direct data output from the gyroscope without any computation done. So, this data should contain low frequency signals due to environmental impact but is there any drift present?

Railroader

Noice and drift are two different matters. All sensors have some noice. Some are drifting to due to their environment.
Use Your knowledge. If that's not enough, look for education.
Having knowledge, think outside the box to gain more of it. Only trains run like the train, on the rails. The rest run between the rails.

DryRun

Some are drifting to due to their environment.
I'm not sure about what you mean.

Railroader

Changes in temperature, humiditty, airpreassureā€¦ You name it, affect almost every sensor.
What documented noice resp. drift have do You face?
Use Your knowledge. If that's not enough, look for education.
Having knowledge, think outside the box to gain more of it. Only trains run like the train, on the rails. The rest run between the rails.

DryRun

Changes in temperature, humiditty, airpreassureā€¦ You name it, affect almost every sensor.
What documented noice resp. drift have do You face?
Is the gyro drift inherent to the angular velocity?

I did some research on how the MEMS gyro works: https://howtomechatronics.com/how-it-works/electrical-engineering/mems-accelerometer-gyrocope-magnetometer-arduino/
So, i can understand that the noise is caused by several external factors that affect the displacement of the moving mass which would in turn affect the measured capacitance. But what about the source of the gyro drift?

Railroader

Are You shure You know that it is drift and not noice?
Ok. Angular velocity could cause drift due to imperfectnesses in the gyro I think. Try moving on a straight line and look for a difference.
Use Your knowledge. If that's not enough, look for education.
Having knowledge, think outside the box to gain more of it. Only trains run like the train, on the rails. The rest run between the rails.

DryRun

I found this useful information:
Quote
When the IMU is static, the gyroscope data, which is the
measurement of angular velocity, should ideally provide the
reading values of zero. But in reality, each static gyroscope can
incorrectly generate a reading that deviates from zero, called the
bias offset error. This type of error is the major cause that
produces the drift, the significant error of the orientation
measurement. The drift is the phenomenon that takes place when
the bias offset error and noise in gyroscope measurements are
accumulated by means of integration through time and yield
unacceptable orientation results.
Source: https://pdfs.semanticscholar.org/bc90/24e573c6fa30b622286c7d7f460e4eb6a693.pdf

But i still haven't solved my problem of whether drift exists before integration. From the quoted text, it seems to indicate that drift is a result of integration. So, the angular velocity should not contain any drift. Am i correct?

Railroader

If You integrate a constant error it will look like drift. Plot the actual values and see if the saw tooth plot has a tendency. The tendency ought to be drift.
Use Your knowledge. If that's not enough, look for education.
Having knowledge, think outside the box to gain more of it. Only trains run like the train, on the rails. The rest run between the rails.

MrMark

From the quoted text, it seems to indicate that drift is a result of integration. So, the angular velocity should not contain any drift. Am i correct?
In analyzing a linear system it is often useful to treat the error component as bias plus zero-mean random error.  Integrating the zero-mean signal component (e.g. taking an average over time) nominally gives zero by definition.  Integrating the bias component gives an accumulating quantity proportional to the bias times the integration time.  The latter is drift.

So an error model of the signal coming out of the gyro is nominally "angular velocity + bias + zero-mean random error".

The signal coming out of the integrator then is nominally "angle + bias*time" or "angle + drift" if the integration period is sufficiently long for the integrated zero-mean random error component to become negligibly small.

Go Up