Sensor Body to ENU transformation Matrix

ravishah

Hi,
I want to convert the accelerometer values from sensor frame to ENU reference frame , I am using oreintation sensor values, yaw ,pitch ,roll. I want to confirm one thing that After transforming to ENU frame should I get accelertation values with reference to ENU frame like this [0 0 Z]. Am I right or wrong? Please clarify , And how one can determine the rotation matrix for it. I am using Eular Angle Transformation.but the results are confusing.

regards
ravi

Related Aerospace and Astronautics Engineering News on Phys.org

viscousflow

-First of all I cannot comment on your values since I do not know what your object is doing other than: it seems your object is simply accelerating upwards at a rate of Z.
-Secondly, you need to find a transformation from your accelerometers position within the body to the body fixed fame, if it is not at the body fixed fame's center already.
-Lastly, you may want to post your DCM or perhaps any other working you have so that we may have a better clue to what is going wrong in your calculations.

Have a great day.

ravishah

hi,

I am using smartphone accelerometer and orientation sensors for pedestrian dead reckoning( to detect the steps taken). Orientaion sensors give me three values Yaw (Rotation around Zaxiz) , pitch (Rotation around x axiz), Roll (otation around (y axiz).

I am using the following roation matrix for transforming from body to ENU coordinates. (reference from a book, Global positioning systems, inertial navigation, and integration)

Ir=[sin(Y)*cos(P);cos(Y)*cos(P);sin(P)];
Ip=[cos(R)*cos(Y)+sin(R)*sin(Y)*sin(P);-cos(R)*sin(Y)+sin(R)*cos(Y)*sin(P);-sin(R)*cos(P)];
Iy=[-sin(R)*cos(Y)+cos(R)*sin(Y)*sin(P);sin(R)*sin(Y)+cos(R)*cos(Y)*sin(P);-cos(R)*cos(P)];
R=[Ir Ip Iy];
Ar=R*Ab
I want to resolve the problem of tilting in mobile. I mean if i keep mobile in my hand (facing upwardand) stationary, the acelerometer gives me reading A_enu= ( 0 0 -g). where g is the accelertaion due to gravity. If i tilt the mobile then there will be reading along other axis also e.g A_b=( x y z), I want to transform this tilted acceleration vector to ENU reference frame. My question is that when I transform to ENU(East North UP) frame should I get the values of acceleration like (0 0 -9.8) and also the rotation matrix that I am using is correct?

many Thanks
ravi

viscousflow

Firstly, R needs to be transposed, and Ar and Ab need to be column vectors. Hopefully that's just a typographical error.

If so, Newton's second law stated shortly says a net resultant force on an object results in an acceleration. Since your phone is not accelerating in the ENU frame (free fall) and is simply in your hand sitting still, surely the last value cannot be correct. The initial values should be [0 0 0]'

ravishah

hi,
Firstly, R needs to be transposed, and Ar and Ab need to be column vectors. Hopefully that's just a typographical error.

Sorry for mistake, Actually Ar and Ab are column vectors,

If so, Newton's second law stated shortly says a net resultant force on an object results in an acceleration. Since your phone is not accelerating in the ENU frame (free fall) and is simply in your hand sitting still, surely the last value cannot be correct. The initial values should be [0 0 0]'
Actually there is acceleration due to gravity even if the mobile is in still condition, if it is in my hand facing upward, the acceleraton reading is , [0 ; 0; -g].
this is the actual problem that how I can remove this gravity factor from acceleration to get the linear acceleration when i move. The one way is to transform it to ENU coordinate system and then processing the values, But i am not sure when i transform to ENU then what values ( 0 0 -9.8) should i get and whether i am using the correct RM?

viscousflow

This sounds more like an accelerometer issue, rather than a mathematical issue. The Matrix you're using is fine. What I was saying in my earlier post was if the object is sitting stationary then there should not be a resultant acceleration in any frame. Yes gravity is a constant force acting on the object at a rate of 1g, however it is being reacted by your hand (or any hard surface) at a rate of -1g.

I honestly do not know much about accelerometers at the moment, however, I would suggest you check the settings on the device. It simply sounds like a "zeroing" issue or more formally, a taring issue. Basically the device should not output a resultant acceleration when there is none.

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving