You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ekf2/odometry: add VehicleOdometry acceleration and ROS 2 translation
- extend VehicleOdometry.msg to v1 with float32[3] acceleration in NED, defined as the derivative of NED velocity averaged over the odometry publish interval
- read _ekf.getVelocityDerivative() once in EKF2::Run(), pass it to PublishLocalPosition() and PublishOdometry(), and reset the accumulation once after both publishers consume it
- archive VehicleOdometryV0.msg in px4_msgs_old and add VehicleOdometryV1Translation to translation_node
- preserve ROS 2 interoperability between v0 and v1 clients: v0 -> v1 fills acceleration with NaN, and v1 -> v0 drops it
This follows the review direction to extend VehicleOdometry instead of adding VehicleFullState, and avoids mixed-rate aliasing or double consumption of the velocity derivative.
Tested:
- make px4_sitl_default -j4
- colcon build --packages-select px4_msgs
- colcon build --packages-select px4_msgs_old translation_node
- colcon test --packages-select translation_node --ctest-args -R translation_node_unit_tests
Signed-off-by: evannsmc <evannsmcuadrado@gmail.com>
uint8POSE_FRAME_FRD = 2# Forward-Right-Down (FRD) frame. Constant arbitrary heading offset from True North. Z is down.
14
+
15
+
float32[3] position# [m] [@frame local frame] [@invalid NaN If invalid/unknown] Position. Origin is position of GC at startup.
16
+
float32[4] q# [-] [@invalid NaN First value if invalid/unknown] Attitude (expressed as a quaternion) relative to pose reference frame at current location. Follows the Hamiltonian convention (w, x, y, z, right-handed, passive rotations from body to world)
17
+
18
+
uint8velocity_frame# [@enum VELOCITY_FRAME] Reference frame of the velocity data
19
+
uint8VELOCITY_FRAME_UNKNOWN = 0# Unknown frame
20
+
uint8VELOCITY_FRAME_NED = 1# NED navigation frame at current position.
21
+
uint8VELOCITY_FRAME_FRD = 2# FRD navigation frame at current position. Constant arbitrary heading offset from True North. Z is down.
0 commit comments