What is the definition of the inputs of nav_msgs/msg/odometry
I am currently trying to convert uorb topic "vehicleodometry" from holybro pixhawk 6c into "navmsgs/msg/odometry". "vehicleodometry" is using REP 147 standard and "navmsgs/msg/odometry" is using REP 103 standard.
For "nav_msgs/msg/odometry", the representation of geographic locations is using ENU(EAST NORTH UP) convention and the body standard is foward, left and up. All systems are using right-hand rule.
For "vehicle_odometry", the representation of geographic locations is using NED(NORTH EAST DOWN) convention and the body standard is foward, right and down. All systems are using right-hand rule.
The difference of body standard and the representation of the geographic locations is making me confused because the documentation did not list out which input is using body frame standard and which input is using local position standard.
Here is my guess of the definition:
nav_msgs/msg/odometry:
msg.pose.pose.position: ENU local frame
msg.pose.pose.position.x: EAST
msg.pose.pose.position.y: NORTH
msg.pose.pose.position.z: DOWN
msg.pose.pose.orientation: body standard
msg.pose.pose.orientation.x: forward
msg.pose.pose.orientation.y: left
msg.pose.pose.orientation.z: up
msg.pose.pose.orientation.w
msg.twist.twist.linear: ENU local frame
msg.twist.twist.linear.x: EAST
msg.twist.twist.linear.y: NORTH
msg.twist.twist.linear.z: DOWN
msg.twist.twist.angular: body standard
msg.twist.twist.angular.x: X axis points to forward
msg.twist.twist.angular.y: Y axis points to right
msg.twist.twist.angular.z: z axis points to up
msg.pose.covariance: optional
msg.twist.covariance: optional
Asked by 2887senpai on 2022-11-17 23:07:49 UTC
Comments