- edited description
About velocity in utm
Hello, I have the question about the code. Why do you use
msg_vel.twist.twist.linear.z = (double)packet->vel_down * -1e-4;
rather than
msg_vel.twist.twist.linear.z = (double)packet->vel_down * 1e-4;
?
What is the different about the "-"?
And the vel_north
is equivalent to velocity-north in local frame or the velocity-forward in car frame?
When I use RT device, Y axis is pointing down, Z axis is pointing left, should I change some codes? Could you tell me about it?
Thank you very much!
Comments (3)
-
-
The OxTS reports velocity in North East Down (NED) frame, where x is North, y is East, and z is down. The output twist converts this to East North Up (ENU) frame, where x is East, y is North, and z is up. This is done because ENU is more closely related to UTM frame, whose x and y axes point East and North, respectively. However, ENU and UTM frames are not perfectly aligned due to the convergence angle between True North and grid North. See
https://en.wikipedia.org/wiki/Transverse_Mercator_projection#Convergence
for details if you are unfamiliar.
Prompted by your question, we found an issue with the conversion from NED to ENU, which was just fixed in commit 875e878.
vel_north
is the velocity relative to True North, andvel_east
is the velocity relative to True East. Keep in mind that these don't necessarily line up with UTM x and y axes, again because of convergence angle.Regarding your RT device's Y axis pointing down, did you mount it sideways? You can probably specify the sensor's mounting orientation in the calibration sequence and it should transform the coordinates internally. Having the y axis left and z axis up would be the least confusing probably.
-
- changed status to resolved
- Log in to comment