# Accelerometer - alignment

I have been using an accelerometer and I have realised that it was sitting at a tilt of 18 degrees in the z direction and rotated at 5 degrees in the x y direction. How should I change my accelerometer readings to account for this?

Related Other Physics Topics News on Phys.org
I have been using an accelerometer and I have realised that it was sitting at a tilt of 18 degrees in the z direction and rotated at 5 degrees in the x y direction. How should I change my accelerometer readings to account for this?
You should be able to multiply each of your readings by the cosines of the known error angles.

A.T.
You should be able to multiply each of your readings by the cosines of the known error angles.
This will not preserve the magnitude of the acceleration vector, which should be preserved in a mere rotation.

So for example my z reading will be multiplied by cos(18) and cos(5) as will the x and y readings?

So for example my z reading will be multiplied by cos(18) and cos(5) as will the x and y readings?
My bad....they should be DIVIDED by the cosines...since being out of alignment will make the measured readings smaller.

Just wanted to check, so I will divide all readings by the cosine of both angles. For example I will divide z readings by cosing 18 AND cosine5 .. It makes sense as both rotations will effect all vectors but wanted to be sure

A.T.
My bad....they should be DIVIDED by the cosines...since being out of alignment will make the measured readings smaller.
The magnitude of the vector will be the same so the absolute components cannot be all smaller.

Also wanted to check, Why do we use cosine as this would suggest that the actual reading and reading nw made form a right angle triangle with eachother?

How would you approach this problem A.T?

A.T.
How would you approach this problem A.T?
Construct a 3x3 rotation matrix, that transforms the acceleration vector from the accelerometer coordiante system to the system you need:
http://en.wikipedia.org/wiki/Rotation_matrix

Hi there AT thank you so much for the advice. I actually came across my error I had already come up with a rotation matrix before but had considered the rotations in the wrong order. I also wanted to check how would work out the roll pitch and yaw from stationary data? my data is -0.9 0.5 and -0.4 (my x is pointing downwards into the 1g direction) How can I work out the angles I have done it but I think error in this part is leading to my problem

A.T.
I had already come up with a rotation matrix before but had considered the rotations in the wrong order.
Don't mess around with angles, then you have no problem with their order.

Determine the unit vectors of the target system (TS) directly from measurement: Align the object so your TS-axis(e.g. X) points upwards (against gravity), and save the accelerometer reading as the TS-unit vector (e.g. ex). Do this for two axes (e.g. X,Y), then use the cross product to get the 3rd unit vector and orthogonize. For example, knowing ex, ey you would do this:

ez = ex x ey
ey = ez x ex

Then normalize all 3 vectors to unit length. These 3 unit vectors are the rows of your matrix R which can be used to transform from accelerometer system (AS) to TS:

aTS = R * aAS

That is a great idea however, I am doing this in retrospect. The device was placed on an animal and rotated during the course of the experiment. As a result the only thing I have to go on is the x y z readings when the animal was stationary in order to work out how much the gyroscope had rotated and then correct the rest of the readings. So what I found was that at rest my readings were x = -0.9 y = 0.14 z = 0.44 and so I am trying to adjust the rest of my readings based on this info

A.T.
As a result the only thing I have to go on is the x y z readings when the animal was stationary in order to work out how much the gyroscope had rotated and then correct the rest of the readings. So what I found was that at rest my readings were x = -0.9 y = 0.14 z = 0.44 and so I am trying to adjust the rest of my readings based on this info
I don't think this sufficient info to get a unique 3D rotation.