From 019324709379f8a6b888c4f6597fce6a0cac6e2a Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Thu, 21 May 2020 12:00:01 +1200 Subject: [PATCH 01/15] Added message format for RadarTrack --- msg/RadarTrack.msg | 12 ++++++++++++ msg/RadarTracks.msg | 3 +++ 2 files changed, 15 insertions(+) create mode 100644 msg/RadarTrack.msg create mode 100644 msg/RadarTracks.msg diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg new file mode 100644 index 0000000..b03da17 --- /dev/null +++ b/msg/RadarTrack.msg @@ -0,0 +1,12 @@ +# All variables below are relative to the radar's frame of reference. +# This message is not meant to be used alone but as part of a stamped or array message. + +uint16 track_id # The track ID of the object generated by the radar. + + # NB: The z component of these fields is ignored for 2D tracking. +geometry_msgs/Point position # x, y, z coordinates of the centroid of the object being tracked. +geometry_msgs/Vector3 velocity # The velocity of the object in each spacial dimension. +geometry_msgs/Vector3 acceleration # The acceleration of the object in each spacial dimension. +geometry_msgs/Vector3 size # The average deviation (m) in the x, y, z, dimensions + # between the center of the object and the data points which it is derived from. +string classification # An optional classification of the object (eg. Person, Car). diff --git a/msg/RadarTracks.msg b/msg/RadarTracks.msg new file mode 100644 index 0000000..607e683 --- /dev/null +++ b/msg/RadarTracks.msg @@ -0,0 +1,3 @@ +std_msgs/Header header + +radar_msgs/RadarTracks[] tracks From 0d922d83729e5fd4a93162b88aeee7757867c7db Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Wed, 3 Jun 2020 10:44:31 +1200 Subject: [PATCH 02/15] Spelling correction --- msg/RadarTrack.msg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index b03da17..8de3b08 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -5,8 +5,8 @@ uint16 track_id # The track ID of the object generat # NB: The z component of these fields is ignored for 2D tracking. geometry_msgs/Point position # x, y, z coordinates of the centroid of the object being tracked. -geometry_msgs/Vector3 velocity # The velocity of the object in each spacial dimension. -geometry_msgs/Vector3 acceleration # The acceleration of the object in each spacial dimension. +geometry_msgs/Vector3 velocity # The velocity of the object in each spatial dimension. +geometry_msgs/Vector3 acceleration # The acceleration of the object in each spatial dimension. geometry_msgs/Vector3 size # The average deviation (m) in the x, y, z, dimensions # between the center of the object and the data points which it is derived from. string classification # An optional classification of the object (eg. Person, Car). From b623110d6a40e1b6ced21e38ed46cfa9d49175ce Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Wed, 10 Jun 2020 14:20:15 +1200 Subject: [PATCH 03/15] Altered classification to uint8 --- msg/RadarTrack.msg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index 8de3b08..ed00229 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -9,4 +9,5 @@ geometry_msgs/Vector3 velocity # The velocity of the object in each geometry_msgs/Vector3 acceleration # The acceleration of the object in each spatial dimension. geometry_msgs/Vector3 size # The average deviation (m) in the x, y, z, dimensions # between the center of the object and the data points which it is derived from. -string classification # An optional classification of the object (eg. Person, Car). +uint8 classification # An optional classification of the object. 0 = Static Object, 1 = Dynamic object + # Additional vendor-specific classifications are permitted (eg. 2 = Car). From e584da0cc7cb9c71d6c0c4ae58f763f04bed7279 Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Thu, 9 Jul 2020 17:18:39 +1200 Subject: [PATCH 04/15] Changed track_id to UUID and updated the description of 'size' --- msg/RadarTrack.msg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index ed00229..eb96c74 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -1,13 +1,13 @@ # All variables below are relative to the radar's frame of reference. # This message is not meant to be used alone but as part of a stamped or array message. -uint16 track_id # The track ID of the object generated by the radar. +uuid_msgs/UniqueID uuid # A unique ID of the object generated by the radar. - # NB: The z component of these fields is ignored for 2D tracking. + # Note: The z component of these fields is ignored for 2D tracking. geometry_msgs/Point position # x, y, z coordinates of the centroid of the object being tracked. geometry_msgs/Vector3 velocity # The velocity of the object in each spatial dimension. geometry_msgs/Vector3 acceleration # The acceleration of the object in each spatial dimension. -geometry_msgs/Vector3 size # The average deviation (m) in the x, y, z, dimensions - # between the center of the object and the data points which it is derived from. +geometry_msgs/Vector3 size # The radius of the object in each spatial dimension which + # will allow the object to be represented as an ovoid. uint8 classification # An optional classification of the object. 0 = Static Object, 1 = Dynamic object # Additional vendor-specific classifications are permitted (eg. 2 = Car). From 12f2d73d86f081c8476fd66579b0fb7e62b077fc Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Thu, 9 Jul 2020 17:25:25 +1200 Subject: [PATCH 05/15] Updated description of size to allow for better compatiablity of rectangle-shaped bounding boxes. --- msg/RadarTrack.msg | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index eb96c74..5835b9c 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -7,7 +7,6 @@ uuid_msgs/UniqueID uuid # A unique ID of the object generate geometry_msgs/Point position # x, y, z coordinates of the centroid of the object being tracked. geometry_msgs/Vector3 velocity # The velocity of the object in each spatial dimension. geometry_msgs/Vector3 acceleration # The acceleration of the object in each spatial dimension. -geometry_msgs/Vector3 size # The radius of the object in each spatial dimension which - # will allow the object to be represented as an ovoid. +geometry_msgs/Vector3 size # The object size (m) in the x, y, z, dimensions (eg Radius of half-width/length/height) uint8 classification # An optional classification of the object. 0 = Static Object, 1 = Dynamic object # Additional vendor-specific classifications are permitted (eg. 2 = Car). From 62ef533a700c2645c3f057c0f07892583117beaa Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Tue, 21 Jul 2020 15:33:21 +1200 Subject: [PATCH 06/15] Added covariance matrix --- msg/RadarTrack.msg | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index 5835b9c..8aeaf67 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -10,3 +10,8 @@ geometry_msgs/Vector3 acceleration # The acceleration of the object in geometry_msgs/Vector3 size # The object size (m) in the x, y, z, dimensions (eg Radius of half-width/length/height) uint8 classification # An optional classification of the object. 0 = Static Object, 1 = Dynamic object # Additional vendor-specific classifications are permitted (eg. 2 = Car). +float32[144] covariance # Row-major representation of the 12x12 covariance matrix. In order, the parameters are: + # x-position, y-position, z-position, + # x-velocity, y-velocity, z-velocity, + # x-acceleration, y-acceleration, z-acceleration, + # x-size, y-size, z-size From f2bbbea382f1eb3f1b82d28dd95471a648e912a5 Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Wed, 22 Jul 2020 08:45:35 +1200 Subject: [PATCH 07/15] Adjusted covariance format --- msg/RadarTrack.msg | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index 8aeaf67..a86f868 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -10,8 +10,7 @@ geometry_msgs/Vector3 acceleration # The acceleration of the object in geometry_msgs/Vector3 size # The object size (m) in the x, y, z, dimensions (eg Radius of half-width/length/height) uint8 classification # An optional classification of the object. 0 = Static Object, 1 = Dynamic object # Additional vendor-specific classifications are permitted (eg. 2 = Car). -float32[144] covariance # Row-major representation of the 12x12 covariance matrix. In order, the parameters are: - # x-position, y-position, z-position, - # x-velocity, y-velocity, z-velocity, - # x-acceleration, y-acceleration, z-acceleration, - # x-size, y-size, z-size +float64[9] position_covariance # Row-major about the x, y, z axes +float64[9] velocity_covariance # Row-major about the x, y, z axes +float64[9] acceleration_covariance # Row-major about the x, y, z axes +float64[9] size_covariance # Row-major about the x, y, z axes \ No newline at end of file From 796821f90fc0eade62cbad48703377c5db987953 Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Wed, 18 Nov 2020 11:27:28 +1300 Subject: [PATCH 08/15] Altered notes for classification and size fields as per feedback on the pull request --- msg/RadarTrack.msg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index a86f868..ba1581f 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -7,9 +7,9 @@ uuid_msgs/UniqueID uuid # A unique ID of the object generate geometry_msgs/Point position # x, y, z coordinates of the centroid of the object being tracked. geometry_msgs/Vector3 velocity # The velocity of the object in each spatial dimension. geometry_msgs/Vector3 acceleration # The acceleration of the object in each spatial dimension. -geometry_msgs/Vector3 size # The object size (m) in the x, y, z, dimensions (eg Radius of half-width/length/height) -uint8 classification # An optional classification of the object. 0 = Static Object, 1 = Dynamic object - # Additional vendor-specific classifications are permitted (eg. 2 = Car). +geometry_msgs/Vector3 size # The object size as represented by the radar sensor eg. length, width, height OR the diameter of an ellipsoid in the x, y, z, dimensions +uint8 classification # An optional classification of the object. 0 = No Classification, 1 = Static Object, 2 = Dynamic object + # Additional vendor-specific classifications are permitted (eg. 3 = Car). float64[9] position_covariance # Row-major about the x, y, z axes float64[9] velocity_covariance # Row-major about the x, y, z axes float64[9] acceleration_covariance # Row-major about the x, y, z axes From 4a2b306d21cc8df4df48e6ec49f281265cb72e33 Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Wed, 18 Nov 2020 13:08:14 +1300 Subject: [PATCH 09/15] Making the size frame of reference explicit --- msg/RadarTrack.msg | 1 + 1 file changed, 1 insertion(+) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index ba1581f..2376778 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -8,6 +8,7 @@ geometry_msgs/Point position # x, y, z coordinates of the centroi geometry_msgs/Vector3 velocity # The velocity of the object in each spatial dimension. geometry_msgs/Vector3 acceleration # The acceleration of the object in each spatial dimension. geometry_msgs/Vector3 size # The object size as represented by the radar sensor eg. length, width, height OR the diameter of an ellipsoid in the x, y, z, dimensions + # and is from the sensor frame's view. uint8 classification # An optional classification of the object. 0 = No Classification, 1 = Static Object, 2 = Dynamic object # Additional vendor-specific classifications are permitted (eg. 3 = Car). float64[9] position_covariance # Row-major about the x, y, z axes From adab2cac413875f52b0f974324492b0d486b2d79 Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Thu, 19 Nov 2020 16:35:44 +1300 Subject: [PATCH 10/15] Added comment about that this message relating only to FMCW radar --- msg/RadarTrack.msg | 1 + 1 file changed, 1 insertion(+) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index 2376778..504d1bf 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -1,3 +1,4 @@ +# This message relates only to FMCW radar. # All variables below are relative to the radar's frame of reference. # This message is not meant to be used alone but as part of a stamped or array message. From 48db7d4887c78d37fed46978cc19a38357c0018c Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Thu, 19 Nov 2020 16:53:30 +1300 Subject: [PATCH 11/15] Added constants for object classification field --- msg/RadarTrack.msg | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index 504d1bf..830c403 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -2,6 +2,12 @@ # All variables below are relative to the radar's frame of reference. # This message is not meant to be used alone but as part of a stamped or array message. +# Object classifications (Additional vendor-specific classifications are permitted eg. 3 = Car) +uint8 NO_CLASSIFICATION=0 +uint8 STATIC=1 +uint8 DYNAMIC=2 + + uuid_msgs/UniqueID uuid # A unique ID of the object generated by the radar. # Note: The z component of these fields is ignored for 2D tracking. @@ -10,8 +16,7 @@ geometry_msgs/Vector3 velocity # The velocity of the object in each geometry_msgs/Vector3 acceleration # The acceleration of the object in each spatial dimension. geometry_msgs/Vector3 size # The object size as represented by the radar sensor eg. length, width, height OR the diameter of an ellipsoid in the x, y, z, dimensions # and is from the sensor frame's view. -uint8 classification # An optional classification of the object. 0 = No Classification, 1 = Static Object, 2 = Dynamic object - # Additional vendor-specific classifications are permitted (eg. 3 = Car). +uint8 classification # An optional classification of the object (see above) float64[9] position_covariance # Row-major about the x, y, z axes float64[9] velocity_covariance # Row-major about the x, y, z axes float64[9] acceleration_covariance # Row-major about the x, y, z axes From 08f8eae163b84d2a0bd68c861cbf9c207d7da8c7 Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Tue, 24 Nov 2020 09:41:28 +1300 Subject: [PATCH 12/15] Added new line to the end of the file --- msg/RadarTrack.msg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index 830c403..fad7b9c 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -20,4 +20,4 @@ uint8 classification # An optional classification of the float64[9] position_covariance # Row-major about the x, y, z axes float64[9] velocity_covariance # Row-major about the x, y, z axes float64[9] acceleration_covariance # Row-major about the x, y, z axes -float64[9] size_covariance # Row-major about the x, y, z axes \ No newline at end of file +float64[9] size_covariance # Row-major about the x, y, z axes From 6fb1fc8fa1b65fb0b7fc87d20c0dd6dce1e9ca72 Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Thu, 26 Nov 2020 12:19:48 +1300 Subject: [PATCH 13/15] Altered description and data type of classification and changed the covariance fields --- msg/RadarTrack.msg | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index fad7b9c..39dc87f 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -2,7 +2,7 @@ # All variables below are relative to the radar's frame of reference. # This message is not meant to be used alone but as part of a stamped or array message. -# Object classifications (Additional vendor-specific classifications are permitted eg. 3 = Car) +# Object classifications (Additional vendor-specific classifications are permitted starting from 32000 eg. Car) uint8 NO_CLASSIFICATION=0 uint8 STATIC=1 uint8 DYNAMIC=2 @@ -16,8 +16,8 @@ geometry_msgs/Vector3 velocity # The velocity of the object in each geometry_msgs/Vector3 acceleration # The acceleration of the object in each spatial dimension. geometry_msgs/Vector3 size # The object size as represented by the radar sensor eg. length, width, height OR the diameter of an ellipsoid in the x, y, z, dimensions # and is from the sensor frame's view. -uint8 classification # An optional classification of the object (see above) -float64[9] position_covariance # Row-major about the x, y, z axes -float64[9] velocity_covariance # Row-major about the x, y, z axes -float64[9] acceleration_covariance # Row-major about the x, y, z axes -float64[9] size_covariance # Row-major about the x, y, z axes +uint16 classification # An optional classification of the object (see above) +float32[6] position_covariance # Upper-triangle covariance about the x, y, z axes +float32[6] velocity_covariance # Upper-triangle covariance about the x, y, z axes +float32[6] acceleration_covariance # Upper-triangle covariance about the x, y, z axes +float32[6] size_covariance # Upper-triangle covariance about the x, y, z axes From af26ae4fb4879c60e1788d635cd446b01cd05716 Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Thu, 26 Nov 2020 13:17:30 +1300 Subject: [PATCH 14/15] Updated types for object classification enums --- msg/RadarTrack.msg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/msg/RadarTrack.msg b/msg/RadarTrack.msg index 39dc87f..8821ab9 100644 --- a/msg/RadarTrack.msg +++ b/msg/RadarTrack.msg @@ -3,9 +3,9 @@ # This message is not meant to be used alone but as part of a stamped or array message. # Object classifications (Additional vendor-specific classifications are permitted starting from 32000 eg. Car) -uint8 NO_CLASSIFICATION=0 -uint8 STATIC=1 -uint8 DYNAMIC=2 +uint16 NO_CLASSIFICATION=0 +uint16 STATIC=1 +uint16 DYNAMIC=2 uuid_msgs/UniqueID uuid # A unique ID of the object generated by the radar. From 388a8a14c9adf8b5738efd20fdda79d6ebe4de0d Mon Sep 17 00:00:00 2001 From: "AARON-FULTONZ\\Aaron" Date: Wed, 2 Dec 2020 14:44:36 +1300 Subject: [PATCH 15/15] Added dependencies to CMakelists.txt and package.xml --- CMakeLists.txt | 4 +++- package.xml | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 30a4447..f581ac8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,7 +9,9 @@ find_package(std_msgs REQUIRED) rosidl_generate_interfaces(${PROJECT_NAME} "msg/RadarReturn.msg" "msg/RadarScan.msg" - DEPENDENCIES builtin_interfaces std_msgs + "msg/RadarTrack.msg" + "msg/RadarTracks.msg" + DEPENDENCIES builtin_interfaces std_msgs uuid_msgs geometry_msgs ) ament_export_dependencies(rosidl_default_runtime) diff --git a/package.xml b/package.xml index 48685c8..5f39c56 100644 --- a/package.xml +++ b/package.xml @@ -10,6 +10,8 @@ ament_cmake std_msgs + uuid_msgs + geometry_msgs rosidl_default_generators builtin_interfaces