From 3c578b0ab1e23e733c7658b92e71907b19cfdeda Mon Sep 17 00:00:00 2001 From: radarAaron <46036114+radarAaron@users.noreply.github.com> Date: Wed, 20 Jan 2021 11:29:43 +1300 Subject: [PATCH] Message format for RadarTrack (#3) * Added message format for RadarTrack * Spelling correction * Altered classification to uint8 * Changed track_id to UUID and updated the description of 'size' * Updated description of size to allow for better compatiablity of rectangle-shaped bounding boxes. * Added covariance matrix * Adjusted covariance format * Altered notes for classification and size fields as per feedback on the pull request * Making the size frame of reference explicit * Added comment about that this message relating only to FMCW radar * Added constants for object classification field * Added new line to the end of the file * Altered description and data type of classification and changed the covariance fields * Updated types for object classification enums * Added dependencies to CMakelists.txt and package.xml Co-authored-by: AARON-FULTONZ\Aaron --- CMakeLists.txt | 4 +++- msg/RadarTrack.msg | 23 +++++++++++++++++++++++ msg/RadarTracks.msg | 3 +++ package.xml | 2 ++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 msg/RadarTrack.msg create mode 100644 msg/RadarTracks.msg 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/msg/RadarTrack.msg b/msg/RadarTrack.msg new file mode 100644 index 0000000..8821ab9 --- /dev/null +++ b/msg/RadarTrack.msg @@ -0,0 +1,23 @@ +# 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. + +# Object classifications (Additional vendor-specific classifications are permitted starting from 32000 eg. Car) +uint16 NO_CLASSIFICATION=0 +uint16 STATIC=1 +uint16 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. +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 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. +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 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 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