Sensor Body to ENU transformation Matrix

AI Thread Summary
To convert accelerometer values from the sensor frame to the ENU reference frame, it is essential to correctly apply the rotation matrix derived from yaw, pitch, and roll. The transformation should yield acceleration values that reflect the gravitational force when stationary, typically represented as [0; 0; -g]. If the device is stationary, any resultant acceleration should ideally be zero, indicating a potential issue with the accelerometer's calibration or settings. The rotation matrix used appears to be appropriate, but ensuring it is transposed and that vectors are correctly formatted is crucial. Addressing these factors will help in accurately determining linear acceleration during movement.
ravishah
Messages
5
Reaction score
0
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
 
Physics news on Phys.org
-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.
 
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
 
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]'
 
hi,
viscousflow said:
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?
 
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.
 
Due to the constant never ending supply of "cool stuff" happening in Aerospace these days I'm creating this thread to consolidate posts every time something new comes along. Please feel free to add random information if its relevant. So to start things off here is the SpaceX Dragon launch coming up shortly, I'll be following up afterwards to see how it all goes. :smile: https://blogs.nasa.gov/spacex/
Back
Top