From db646e12922d89919c23f814ab21d8ae36db2a34 Mon Sep 17 00:00:00 2001 From: EmmanuelMess Date: Wed, 5 Mar 2025 20:03:13 -0300 Subject: [PATCH] Update navsat proto to include covariance --- proto/gz/msgs/navsat.proto | 57 ++++++++++++++++++++++++++++++++------ 1 file changed, 49 insertions(+), 8 deletions(-) diff --git a/proto/gz/msgs/navsat.proto b/proto/gz/msgs/navsat.proto index 5c843a03..6a8513e0 100644 --- a/proto/gz/msgs/navsat.proto +++ b/proto/gz/msgs/navsat.proto @@ -26,30 +26,71 @@ option java_outer_classname = "NavSatProtos"; /// This replaces the GPS message. import "gz/msgs/header.proto"; +import "gz/msgs/double_v.proto"; message NavSat { /// \brief Optional header data - Header header = 1; + Header header = 1; /// \brief Latitude in degrees - double latitude_deg = 2; + double latitude_deg = 2; /// \brief Longitude in degrees - double longitude_deg = 3; + double longitude_deg = 3; /// \brief Altitude in meters - double altitude = 4; + double altitude = 4; + + /// \brief Covariance or dilution of precision (DoP) 9 of the position + /// Position covariance [m^2] defined relative to a tangential plane + /// through the reported position. The components are East, North, and + /// Up (ENU), in row-major order. + /// For more information see From Global Positioning System: Signals, + /// Measurements, and Performance section 6.1.2 + Double_V position_covariance = 5; + + /// \brief Position covariance information availability + /// If the Dilution of Precision or covariance of the fix is known, fill + /// it in completely. If the GPS receiver provides the variance of each + /// measurement, put them along the diagonal. If only DoP parameters are + /// available, estimate an approximate covariance from that. + /// Possible values are: + /// - COVARIANCE_TYPE_UNKNOWN = 0 + /// - COVARIANCE_TYPE_APPROXIMATED = 1 + /// - COVARIANCE_TYPE_DIAGONAL_KNOWN = 2 + /// - COVARIANCE_TYPE_KNOWN = 3 + uint32 position_covariance_type = 6; /// \brief East velocity in the ENU frame, in m / s - double velocity_east = 5; + double velocity_east = 7; /// \brief North velocity in the ENU frame, in m / s - double velocity_north = 6; + double velocity_north = 8; /// \brief Up velocity in the ENU frame, in m / s - double velocity_up = 7; + double velocity_up = 9; + + /// \brief Covariance or dilution of precision (DoP) 9 of the velocity + /// Position covariance [(m/s)^2] defined relative to a tangential plane + /// through the reported position. The components are East, North, and + /// Up (ENU), in row-major order. + /// For more information see From Global Positioning System: Signals, + /// Measurements, and Performance section 6.2.1 + Double_V velocity_covariance = 10; + + /// \brief Velocity covariance information availability + /// If the Dilution of Precision or covariance of the fix is known, fill + /// it in completely. If the GPS receiver provides the variance of each + /// measurement, put them along the diagonal. If only DoP parameters are + /// available, estimate an approximate covariance from that. + /// Possible values are: + /// - COVARIANCE_TYPE_UNKNOWN = 0 + /// - COVARIANCE_TYPE_APPROXIMATED = 1 + /// - COVARIANCE_TYPE_DIAGONAL_KNOWN = 2 + /// - COVARIANCE_TYPE_KNOWN = 3 + uint32 velocity_covariance_type = 11; /// \brief ID of reference frame - string frame_id = 8; + string frame_id = 12; }