From 83e4f8b66b47256aad61c251f84dd0c05e013568 Mon Sep 17 00:00:00 2001 From: Emerson Knapp Date: Thu, 2 Oct 2025 03:09:40 -0700 Subject: [PATCH 1/2] Add a sentinel value for ReferenceTarget::measured_speed_m_s that indicates no measurement is available, so no value is provided --- msg/ReferenceTarget.msg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/msg/ReferenceTarget.msg b/msg/ReferenceTarget.msg index af618f7..82fab67 100644 --- a/msg/ReferenceTarget.msg +++ b/msg/ReferenceTarget.msg @@ -1,4 +1,6 @@ # PoseStamped data for reference target pose +float32 NO_SPEED_MEASUREMENT = -999.0 + geographic_msgs/GeoPoseStamped pose # Linear speed in m/s From e7c5ea82004c58a5b0988ad10aca3b4fd1d3c6b2 Mon Sep 17 00:00:00 2001 From: Emerson Knapp Date: Fri, 3 Oct 2025 13:17:16 -0700 Subject: [PATCH 2/2] Update to NO_MEASUREMENT and add usage instructions --- msg/ReferenceTarget.msg | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/msg/ReferenceTarget.msg b/msg/ReferenceTarget.msg index 82fab67..2ffa2c0 100644 --- a/msg/ReferenceTarget.msg +++ b/msg/ReferenceTarget.msg @@ -1,6 +1,10 @@ -# PoseStamped data for reference target pose -float32 NO_SPEED_MEASUREMENT = -999.0 +# Constant representing that the value in question couldn't be measured +# This often applied speed or heading/yaw for example in single-antenna GPS +# For orientation, use NO_MEASUREMENT as the `w` value of the quaternion +# This value is arbitrary and should be used by name rather than by value, but it's chosen to be exactly-representable in a float32 so there aren't floating point comparison issues +float32 NO_MEASUREMENT = -9999.5 +# PoseStamped data for reference target pose geographic_msgs/GeoPoseStamped pose # Linear speed in m/s