Sensor Body to ENU transformation Matrix

In summary: Have a great day.In summary, To convert from body-fixed-frame to East-North-Up (ENU) frame, use the following rotation matrix: Ir=[sin(Y)*cos(P);cos(Y)*cos(P);sin(P)]; Ip=[cos(R)*cos(Y)+sin(R)*sin(Y)*sin(P);-cos(R)*cos(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
  • #1
ravishah
5
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
  • #2
-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.
 
  • #3
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
 
  • #4
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]'
 
  • #5
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?
 
  • #6
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.
 

1. What is a Sensor Body to ENU transformation Matrix?

A Sensor Body to ENU transformation Matrix is a mathematical representation of the relationship between a sensor's orientation and the Earth's coordinate system. It allows for the conversion of sensor measurements from the sensor's body frame to the East-North-Up (ENU) frame.

2. Why is a Sensor Body to ENU transformation Matrix important?

A Sensor Body to ENU transformation Matrix is important because it allows for the accurate interpretation of sensor measurements in a global coordinate system. This is essential for applications such as navigation, mapping, and remote sensing.

3. How is a Sensor Body to ENU transformation Matrix calculated?

A Sensor Body to ENU transformation Matrix is typically calculated using sensor calibration data and the known orientation of the sensor with respect to the ENU frame. This can be done using mathematical algorithms or calibration software.

4. What factors can affect the accuracy of a Sensor Body to ENU transformation Matrix?

The accuracy of a Sensor Body to ENU transformation Matrix can be affected by factors such as sensor misalignment, sensor noise, and errors in calibration data. It is important to regularly calibrate sensors and validate the transformation matrix to ensure accuracy.

5. How can I validate the accuracy of a Sensor Body to ENU transformation Matrix?

The accuracy of a Sensor Body to ENU transformation Matrix can be validated by comparing the transformed sensor measurements to ground truth data in the ENU frame. This can be done through field testing or using simulated data. It is also important to assess the accuracy of the transformation matrix over time to account for any changes in sensor performance.

Similar threads

Replies
2
Views
2K
  • Mechanical Engineering
Replies
3
Views
451
  • Mechanics
Replies
3
Views
106
Replies
54
Views
4K
Replies
40
Views
2K
Replies
2
Views
9K
  • Nuclear Engineering
Replies
1
Views
1K
  • Linear and Abstract Algebra
Replies
1
Views
6K
Replies
1
Views
538
  • Classical Physics
Replies
3
Views
2K
Back
Top