Transformation from Body-frame to ECEF-frame

In summary: This is what you need to do to integrate velocities, and it's not trivial.In summary, the conversation discussed how to transform a body's velocity vector from body coordinates to ECEF coordinates in order to integrate a new position in the ECEF frame. The solution involves creating transformation matrices to go from ECI to NED, from NED to body orientation, and from ECEF to inertial frame. It also requires taking into account the Earth's rotation and curvature in order to obtain accurate Euler angles for the transformation matrices. This process is similar to that used in inertial navigation systems.
  • #1
Kuu
2
0

Homework Statement


I have a body which is instantiated on Earth at some latitude, longitude and altitude. The body has acceleration which is expressed in body coordinates and the acceleration can be integrated to obtain the velocity vector which is also expressed in body coordinates.

ECI and ECEF frames are located at the center of the Earth and NED frame is located at the bodys center of gravity. The current angle of the body is presented with Euler angles which are expressed with respect to NED frame.

How I can transform the body velocity vector to ECEF coordinates so that I can integrate a new position for the body in the ECEF frame? The position in the ECEF frame can then be transformed to latitude, longitude and altitude?

This is not exactly a homework problem but something I've been trying to understand.

Homework Equations


--

The Attempt at a Solution


I was thinking something like this:
  1. Create transformation matrix ##T^{N0}_{I}## which transforms from the ECI frame to the initial NED frame. (NED frame at the point in which the body is instantiated).
  2. Create transformation matrix ##T^{B}_{N0}## which transforms from the initial NED frame to the current body orientation.
  3. Create transformation matrix ##T^{E}_{I}## which transforms from inertial frame to current ECEF frame. Transpose: ##T^{I}_{E}## transforms from ECEF to inertial frame
  4. Combine the transformations to get: ##T^{B}_{E} = T^{B}_{N0} T^{N0}_{I} T^{I}_{E}## which transforms from ECEF to body and its transpose ##T^{E}_{B}## which transforms from body to ECEF frame
I have feeling that the above won't work and it looks pretty complicated. I might even be completely lost here. Any help is very much appreciated.
 
Physics news on Phys.org
  • #2
You are on the right track. You have Euler angles to get from body axis to NED. At current latitude, longitude, you have angles to go from NED to ECEF (don't get fooled by the difference between true north and magnetic north). Since the Earth centered inertial frame is arbitrary, you can assume that it is momentarily aligned with ECEF and skip that step. You will still have to be careful about integrating in a rotating frame, but that is another issue.
 
  • Like
Likes Kuu
  • #3
Thank you for your reply.

So basically I need only [itex]T_{ne}[/itex] which transforms from ECEF to NED and [itex]T_{bn}[/itex] which transforms from NED to body.

[itex]T_{ne}[/itex] can be obtained by converting the XYZ coordinates of an object in ECEF coordinates with some conversion algorithm to latitude, longitude and altitude. These can be used to construct the [itex]T_{ne}[/itex].

The [itex]T_{bn}[/itex] can be constructed from the Euler angles between the body and the NED frame. However, obtaining the Euler angles used to construct the transformation matrix is something that confuses me.

I do understand that if the object itself rotates, the angles between the body and the NED frame changes. But doesn't the curvature and rotation of the Earth also affect these angles? Below is an image where the circle presents Earth and ECEF frames z-axis is pointing towards the viewer.

vektorin_Muunnos_Koord_Valilla_1.png
In the image [itex]x_n, y_n, z_n[/itex] are the coordinate axes for NED frame and [itex]x_b, y_b, z_b[/itex] are the coordinate axes for body frame. [itex]v_b[/itex] is the bodys velocity vector. When the body frame moves in the direction pointed by the velocity vector it's position changes and the NED frame for the current location ([itex] x_n', y_n', z_n'[/itex] in image) is aligned to be tangential to the surface of the earth. Now the angles ([itex] \phi[/itex] in image) between the NED frame and the body frame are different from the previous position, even though the body haven't rotated, and the rotation matrix [itex] T_{bn}[/itex] no longer transforms correctly from NED to body?

I guess I need to somehow get the angular velocity of the NED frame and sum it up with the angular velocity of the body frame which I then integrate to get the angles between NED and body?
 
Last edited:
  • #4
That sounds right. It's too complicated for me to understand completely. Basically, it's the equations used in inertial navigation systems. An Earth centered inertial coordinate system comes back into play because gyroscopes measure rotations in inertial space. If you know the rotational rates in inertial space, you can remove the rotational rate of the Earth to get the rotational rates in the ECEF coordinate system.
 
  • Like
Likes Kuu

1. What is the purpose of transforming from body-frame to ECEF-frame?

The transformation from body-frame to ECEF-frame is used to convert coordinates or vectors from a local body-centered reference frame to a global Earth-centered reference frame. This is necessary for accurately representing the position, orientation, and motion of an object in a global coordinate system.

2. What are the components of a transformation matrix for body-frame to ECEF-frame?

The transformation matrix for body-frame to ECEF-frame typically includes rotation, translation, and scale components. The rotation component accounts for the orientation of the local body frame relative to the global ECEF frame, the translation component accounts for the position of the local origin relative to the global origin, and the scale component accounts for any differences in units or scales between the two frames.

3. How is the rotation component of the transformation matrix determined?

The rotation component of the transformation matrix is determined by the Euler angles or quaternion representing the orientation of the local body frame relative to the global ECEF frame. These angles or quaternion can be obtained from sensor measurements or calculated using specialized algorithms.

4. Can the transformation from body-frame to ECEF-frame be reversed?

Yes, the transformation from body-frame to ECEF-frame can be reversed by using the inverse of the transformation matrix. This allows for converting coordinates or vectors from the global ECEF frame back to the local body frame.

5. Are there any limitations or challenges to consider when performing this transformation?

One limitation to consider is that the transformation from body-frame to ECEF-frame assumes a rigid body, meaning that the object's shape and size do not change during the transformation. Additionally, any errors or uncertainties in the sensor measurements or calculations used to determine the transformation matrix can affect the accuracy of the transformed coordinates or vectors.

Similar threads

  • Introductory Physics Homework Help
2
Replies
40
Views
710
  • Classical Physics
Replies
4
Views
204
Replies
2
Views
2K
  • Introductory Physics Homework Help
Replies
6
Views
966
  • Classical Physics
Replies
3
Views
774
  • Introductory Physics Homework Help
Replies
6
Views
813
  • Introductory Physics Homework Help
Replies
4
Views
808
  • Introductory Physics Homework Help
Replies
10
Views
1K
  • Special and General Relativity
3
Replies
101
Views
3K
Back
Top