how could we use an accelerometer to find tilt angle?

Post on 30-Dec-2015

25 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

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

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

𝜃=𝑎𝑡𝑎𝑛2 (𝑎𝑦

𝑎𝑥)

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?

Product images from Sparkfun electronics

𝜃=∫0

𝑡

�̇� 𝑑𝑡

theta = theta + thetaDot*dt

What’s the problem with integrating a gyroscope?

What’s the problem with integrating a gyroscope?

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

�̇�Integrate

Signal from

gyroscope

+¿−

+¿−

Angle from accelerometer

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?

Integrate−

+¿−

Angle from accelerometer

Multiply by gain

𝜃𝑎𝑐𝑐𝑒𝑙

𝜃𝑒𝑟𝑟𝑜𝑟

Let’s see if we can intuitively understand this feedback

If is greater than , then we have a positive number here

Integrate−

+¿−

Angle from accelerometer

Multiply by gain

𝜃𝑎𝑐𝑐𝑒𝑙

𝜃𝑒𝑟𝑟𝑜𝑟

Let’s see if we can intuitively understand this feedback

If is greater than , then we have a positive number here

Multiplied by a positive number

Integrate−

+¿−

Angle from accelerometer

Multiply by gain

𝜃𝑎𝑐𝑐𝑒𝑙

𝜃𝑒𝑟𝑟𝑜𝑟

Let’s see if we can intuitively understand this feedback

If is greater than , then we have a positive number here

Multiplied by a positive number

Then subtracted from zero

And integrated, which reduces our estimate of

Integrate−

+¿−

Angle from accelerometer

Multiply by gain

𝜃𝑎𝑐𝑐𝑒𝑙

𝜃𝑒𝑟𝑟𝑜𝑟

The block diagram may look confusing, but the code is easyaccelerometer 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.

top related