200 likes | 329 Views
The artist exists because the world is not perfect. Art would be useless if the world were perfect, as man wouldn’t look for harmony but would simply live in it. Art is born out of an ill-designed world. Andrei Tarkovsky State Estimation: The search for harmony in an unideal world Mike Robinson.
E N D
The artist exists because the world is not perfect. Art would be useless if the world were perfect, as man wouldn’t look for harmony but would simply live in it. Art is born out of an ill-designed world. Andrei TarkovskyState Estimation: The search for harmony in an unideal worldMike Robinson
How could we use an accelerometer to find tilt angle? Product images from Sparkfun electronics
How could we use an accelerometer to find tilt angle? Product images from Sparkfun electronics
What’s the problem with using a low-pass filter to smooth out the data?
What’s the problem with using a low-pass filter to smooth out the data?
How could we use a gyroscope to find tilt angle? Product images from Sparkfun electronics
How could we use a gyroscope to find tilt angle? theta = theta + thetaDot*dt Product images from Sparkfun electronics
The accelerometer is good long term and the gyroscope is good short term. How can we put them together?
A state estimator lets us combine these two measurements by using feedback Angle from accelerometer Signal from gyroscope Integrate Multiply by gain
Let’s see if we can intuitively understand this feedback What would happen if the gyroscope signal was zero and our estimate was larger than the angle we measured with the accelerometer? Angle from accelerometer Integrate Multiply by gain
Let’s see if we can intuitively understand this feedback Angle from accelerometer If is greater than , then we have a positive number here Integrate Multiply by gain
Let’s see if we can intuitively understand this feedback Angle from accelerometer If is greater than , then we have a positive number here Integrate Multiply by gain Multiplied by a positive number
Let’s see if we can intuitively understand this feedback Angle from accelerometer And integrated, which reduces our estimate of If is greater than , then we have a positive number here Integrate Then subtracted from zero Multiply by gain Multiplied by a positive number
The block diagram may look confusing, but the code is easy accelerometer angle = atan2(accel_y,accel_x) angle error = estimated angle - accelerometer angle estimated angle = estimated angle + (gyroscope reading – angle error*gain)*dt
In general, high gains mean we trust the sensor (accelerometer), low gains mean we trust the model (integrated gyroscope) Increasing gain
It’s easy to see the improvement in performance over a low-pass filter Estimated Low-pass filtered
A Kalman filter is an optimal way to find the estimator gain (or gains) • In this example, if you know the statistics of the accelerometer and the gyroscope, you could use a Kalman filter to find the gain, which will be a function of time. • You can also estimate the bias in the gyroscope, which will improve the quality of your estimation.