Acceleration compensation (3 Axis accelerometer)

In summary, the problem is that the accelerometer will be mounted so that the x-axis is always pointing in the direction of motion. The y and z axis will be subject to angle changes up to about 20 degrees. Similar to mounting in on top of a car. (X is forward, Y is side to side, Z is up and down). However, if the car was driving on a cambered road up a hill, then the y-axis will have a gravity component, as will the x and the z axis will be some amount with its angle being a combination of the two. This is what I am having trouble with. I need to know which part of the z axis accel is caused from the y-axis
  • #1
mitchjp
3
0
Hi all,

I am currently working on a project and have a problem. I am using a 3 axis accelerometer and attempting to measure distance with it. (Yes, I know, the double integration of doom..)

My problem is not with the integration so to speak but is just with some compensations.

The accelerometer will be mounted so that the x-axis is always pointing in the direction of motion. The y and z axis will be subject to angle changes up to about 20 degrees. Similar to mounting in on top of a car. (X is forward, Y is side to side, Z is up and down).

Obviously if the car was driving up a hill the acceleration you read in the x will be different as there is now a gravity component involved. I can calculate this using the Z axis to find the tilt angle and then some trig to remove the gravity component from the x axis.

But if the car was driving on a cambered road up a hill, then the y-axis will have a gravity component, as will the x and the z axis will be some amount with its angle being a combination of the two. This is what I am having trouble with.

How can I decide which part of the z axis accel is caused from the y-axis tilt, and which is from the x axis?

An example:

Car going up a hill on 10 degree slope. No camber in the road.

Z axis now shows an 80 degree angle, and the acceleration in the x direction will just be whatever it is measured and then minus/plus(depending on the sensors config) the sin(10 degrees).

This is working in g's then multiply through to get to m/s/s.

Now if you add cambered road, the z will show the y tilt and the x tilt and I can't work out how to do it.

Any ideas?

And yes I am aware tracking distance with accelerometer is frowned upon, but it is most likely just going to be used for short intervals between gps locks.

Also, is there an easy MATLAB function for integrating the acceleration in 3 axes with respect to time?

Thanks
 
Physics news on Phys.org
  • #2
There is no simple solution to this problem. Your integrator must know the orientation of the sensor with respect to the local field of gravity. A single accelerometer cannot do that unambiguously. To see that, imagine the car is in free fall. The sensor will register zero in all directions.
 
  • #3
voko said:
There is no simple solution to this problem. Your integrator must know the orientation of the sensor with respect to the local field of gravity. A single accelerometer cannot do that unambiguously. To see that, imagine the car is in free fall. The sensor will register zero in all directions.

Thanks for the reply. I do understand this.

However, as mentioned this is just an interim measurement. So we can assume that I will know the starting velocity.

For now I am testing on a skateboard-like thing, so I can say that initially there is no movement and distance is zero.
 
  • #4
Even if you know the velocity, you still cannot detect rotation about the axis parallel to velocity. As far as I can see, you need an additional input for that. Don't you have a gyroscope in your setup?
 
  • #5
I can add a gyroscope if needed. This whole thing was to eliminate using an optical shaft encoder in calculating distance. (Removing the shaft encoder reduces cost, vehicle installation etc etc). So if we had a gyro in there which was high enough spec to be useful it may end up costing a similar amount.

However, it is definitely possible to whack one on there.
 

1. What is acceleration compensation and why is it important?

Acceleration compensation is a process of minimizing the effects of external forces on the measurement of acceleration by a 3-axis accelerometer. It is important because it allows for more accurate and precise measurement of acceleration in a specific direction, without interference from other forces.

2. How does acceleration compensation work?

Acceleration compensation works by using a combination of mathematical algorithms and physical components such as digital filters and calibration methods. These methods help to isolate and remove the effects of external forces, such as gravity or vibration, from the measurement of acceleration.

3. What types of accelerometers require acceleration compensation?

All 3-axis accelerometers, regardless of their technology (MEMS, piezoelectric, etc.), require some form of acceleration compensation to ensure accurate measurements. Without compensation, external forces can significantly affect the readings and lead to inaccurate results.

4. Can acceleration compensation be applied to other types of sensors?

Yes, similar compensation methods can be applied to other types of sensors that measure different physical quantities, such as pressure or temperature. The goal is always to minimize the effects of external forces and improve the accuracy of the sensor readings.

5. Is acceleration compensation a one-time process or does it need to be regularly maintained?

Acceleration compensation is an ongoing process that needs to be regularly maintained. Environmental factors, such as temperature and humidity, can affect the performance of the accelerometer and require recalibration of the compensation methods to ensure accurate measurements.

Similar threads

Replies
0
Views
518
Replies
4
Views
733
Replies
8
Views
2K
Replies
2
Views
885
Replies
3
Views
838
Replies
2
Views
777
Replies
12
Views
3K
Replies
4
Views
869
Back
Top