From 0e14a2eaaf90aa62067d5f1492ad47ad0d8ae53f Mon Sep 17 00:00:00 2001
From: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Date: Mon, 3 Mar 2025 14:09:26 +0900
Subject: [PATCH 1/8] feat: implemented the proposed universal radar messages

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
---
 autoware_sensing_msgs/CMakeLists.txt          |  8 ++++-
 .../msg/RadarClassification.msg               | 18 ++++++++++
 autoware_sensing_msgs/msg/RadarFieldInfo.msg  |  8 +++++
 autoware_sensing_msgs/msg/RadarInfo.msg       |  6 ++++
 autoware_sensing_msgs/msg/RadarObject.msg     | 35 +++++++++++++++++++
 autoware_sensing_msgs/msg/RadarObjects.msg    |  2 ++
 6 files changed, 76 insertions(+), 1 deletion(-)
 create mode 100644 autoware_sensing_msgs/msg/RadarClassification.msg
 create mode 100644 autoware_sensing_msgs/msg/RadarFieldInfo.msg
 create mode 100644 autoware_sensing_msgs/msg/RadarInfo.msg
 create mode 100644 autoware_sensing_msgs/msg/RadarObject.msg
 create mode 100644 autoware_sensing_msgs/msg/RadarObjects.msg

diff --git a/autoware_sensing_msgs/CMakeLists.txt b/autoware_sensing_msgs/CMakeLists.txt
index 3457098..24dfedc 100644
--- a/autoware_sensing_msgs/CMakeLists.txt
+++ b/autoware_sensing_msgs/CMakeLists.txt
@@ -6,7 +6,13 @@ ament_auto_find_build_dependencies()
 
 set(msg_files
   "msg/GnssInsOrientation.msg"
-  "msg/GnssInsOrientationStamped.msg")
+  "msg/GnssInsOrientationStamped.msg"
+  "msg/RadarClassification.msg"
+  "msg/RadarFieldInfo.msg"
+  "msg/RadarInfo.msg"
+  "msg/RadarObject.msg"
+  "msg/RadarObjects.msg"
+)
 
 set(msg_dependencies
   geometry_msgs
diff --git a/autoware_sensing_msgs/msg/RadarClassification.msg b/autoware_sensing_msgs/msg/RadarClassification.msg
new file mode 100644
index 0000000..6e78d57
--- /dev/null
+++ b/autoware_sensing_msgs/msg/RadarClassification.msg
@@ -0,0 +1,18 @@
+# Common classes with autoware_perception_msgs/msg/ObjectClassification.msg
+uint32 UNKNOWN = 0
+uint32 CAR = 1
+uint32 TRUCK = 2
+uint32 BUS = 3
+uint32 TRAILER = 4
+uint32 MOTORCYCLE = 5
+uint32 BICYCLE = 6
+uint32 PEDESTRIAN = 7
+
+# Radar specific classes
+uint32 ANIMAL = 8
+uint32 HAZARD = 9
+uint32 OVERDRIVABLE = 10
+uint32 UNDERDRIVABLE = 11
+
+uint32 label
+float32 probability
diff --git a/autoware_sensing_msgs/msg/RadarFieldInfo.msg b/autoware_sensing_msgs/msg/RadarFieldInfo.msg
new file mode 100644
index 0000000..48bb570
--- /dev/null
+++ b/autoware_sensing_msgs/msg/RadarFieldInfo.msg
@@ -0,0 +1,8 @@
+std_msgs/String field_name
+bool min_value_available
+bool max_value_available
+bool resolution_available
+
+float32 min_value
+float32 max_value
+float32 resolution
diff --git a/autoware_sensing_msgs/msg/RadarInfo.msg b/autoware_sensing_msgs/msg/RadarInfo.msg
new file mode 100644
index 0000000..7996f1c
--- /dev/null
+++ b/autoware_sensing_msgs/msg/RadarInfo.msg
@@ -0,0 +1,6 @@
+std_msgs/Header header
+RadarFieldInfo[] object_fields_info
+RadarFieldInfo[] detection_fields_info
+
+uint32[] available_classes
+bool absolute_dynamics # absolute or relative dynamics
diff --git a/autoware_sensing_msgs/msg/RadarObject.msg b/autoware_sensing_msgs/msg/RadarObject.msg
new file mode 100644
index 0000000..5ecee5a
--- /dev/null
+++ b/autoware_sensing_msgs/msg/RadarObject.msg
@@ -0,0 +1,35 @@
+float32 INVALID_COV_VALUE = 100000000.0
+
+uint8 MEASUREMENT_STATUS_MEASURED = 0
+uint8 MEASUREMENT_STATUS_PREDICTED = 1
+uint8 MEASUREMENT_STATUS_NEW = 2
+uint8 MEASUREMENT_STATUS_UNKNOWN = 3
+uint8 MEASUREMENT_STATUS_INVALID = 255
+
+uint8 MOVEMENT_STATUS_DYNAMIC = 0
+uint8 MOVEMENT_STATUS_STATIC = 1
+uint8 MOVEMENT_STATUS_UNKNOWN = 2
+uint8 MOVEMENT_STATUS_INVALID = 255
+
+uint32 object_id
+uint16 age
+uint8 measurement_status
+uint8 movement_status
+
+geometry_msgs/Point position
+geometry_msgs/Vector3 velocity
+geometry_msgs/Vector3 acceleration
+geometry_msgs/Vector3 shape
+
+float32[6] position_cov
+float32[6] velocity_cov
+float32[6] acceleration_cov
+float32[6] shape_cov
+
+float32 orientation
+float32 orientation_std
+float32 orientation_rate
+float32 orientation_rate_std
+
+float32 existence_probability
+RadarClassification[] classifications
diff --git a/autoware_sensing_msgs/msg/RadarObjects.msg b/autoware_sensing_msgs/msg/RadarObjects.msg
new file mode 100644
index 0000000..aa7aaf7
--- /dev/null
+++ b/autoware_sensing_msgs/msg/RadarObjects.msg
@@ -0,0 +1,2 @@
+std_msgs/Header header
+RadarObject[] objects

From a4fb146d7f16cf81c73e7b62ce5047e8fc7b1c1e Mon Sep 17 00:00:00 2001
From: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Date: Mon, 3 Mar 2025 14:19:13 +0900
Subject: [PATCH 2/8] chore: spells

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
---
 autoware_sensing_msgs/msg/RadarClassification.msg | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/autoware_sensing_msgs/msg/RadarClassification.msg b/autoware_sensing_msgs/msg/RadarClassification.msg
index 6e78d57..963f132 100644
--- a/autoware_sensing_msgs/msg/RadarClassification.msg
+++ b/autoware_sensing_msgs/msg/RadarClassification.msg
@@ -11,8 +11,8 @@ uint32 PEDESTRIAN = 7
 # Radar specific classes
 uint32 ANIMAL = 8
 uint32 HAZARD = 9
-uint32 OVERDRIVABLE = 10
-uint32 UNDERDRIVABLE = 11
+uint32 OVER_DRIVABLE = 10
+uint32 UNDER_DRIVABLE = 11
 
 uint32 label
 float32 probability

From bfe493f6eb72c9198e2ba093249f975b79fc6c76 Mon Sep 17 00:00:00 2001
From: Kenzo Lobos Tsunekawa <kenzo.lobos@tier4.jp>
Date: Tue, 25 Mar 2025 14:05:01 +0900
Subject: [PATCH 3/8] Update autoware_sensing_msgs/msg/RadarObject.msg

Co-authored-by: Taekjin LEE <technolojin@gmail.com>
---
 autoware_sensing_msgs/msg/RadarObject.msg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/autoware_sensing_msgs/msg/RadarObject.msg b/autoware_sensing_msgs/msg/RadarObject.msg
index 5ecee5a..3b91aec 100644
--- a/autoware_sensing_msgs/msg/RadarObject.msg
+++ b/autoware_sensing_msgs/msg/RadarObject.msg
@@ -24,7 +24,7 @@ geometry_msgs/Vector3 shape
 float32[6] position_cov
 float32[6] velocity_cov
 float32[6] acceleration_cov
-float32[6] shape_cov
+float32[6] size_covariance
 
 float32 orientation
 float32 orientation_std

From c6b4f113ba64c6c14b21fb3b3221e4ca1285a21e Mon Sep 17 00:00:00 2001
From: Kenzo Lobos Tsunekawa <kenzo.lobos@tier4.jp>
Date: Tue, 25 Mar 2025 14:05:08 +0900
Subject: [PATCH 4/8] Update autoware_sensing_msgs/msg/RadarObject.msg

Co-authored-by: Taekjin LEE <technolojin@gmail.com>
---
 autoware_sensing_msgs/msg/RadarObject.msg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/autoware_sensing_msgs/msg/RadarObject.msg b/autoware_sensing_msgs/msg/RadarObject.msg
index 3b91aec..8930b89 100644
--- a/autoware_sensing_msgs/msg/RadarObject.msg
+++ b/autoware_sensing_msgs/msg/RadarObject.msg
@@ -19,7 +19,7 @@ uint8 movement_status
 geometry_msgs/Point position
 geometry_msgs/Vector3 velocity
 geometry_msgs/Vector3 acceleration
-geometry_msgs/Vector3 shape
+geometry_msgs/Vector3 size
 
 float32[6] position_cov
 float32[6] velocity_cov

From 1fc11e576d05bc52037f9b5179466704669dba74 Mon Sep 17 00:00:00 2001
From: Kenzo Lobos Tsunekawa <kenzo.lobos@tier4.jp>
Date: Tue, 25 Mar 2025 14:20:36 +0900
Subject: [PATCH 5/8] Update autoware_sensing_msgs/msg/RadarObject.msg
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: Mete Fatih Cırıt <xmfcx@users.noreply.github.com>
---
 autoware_sensing_msgs/msg/RadarObject.msg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/autoware_sensing_msgs/msg/RadarObject.msg b/autoware_sensing_msgs/msg/RadarObject.msg
index 8930b89..0945d4e 100644
--- a/autoware_sensing_msgs/msg/RadarObject.msg
+++ b/autoware_sensing_msgs/msg/RadarObject.msg
@@ -1,4 +1,4 @@
-float32 INVALID_COV_VALUE = 100000000.0
+float32 INVALID_COV_VALUE = -1.0f;
 
 uint8 MEASUREMENT_STATUS_MEASURED = 0
 uint8 MEASUREMENT_STATUS_PREDICTED = 1

From d9728d43a51bd02fcb58aa3650ad51841318b0c1 Mon Sep 17 00:00:00 2001
From: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Date: Tue, 25 Mar 2025 15:33:54 +0900
Subject: [PATCH 6/8] chore: fixed compilation

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
---
 autoware_sensing_msgs/msg/RadarObject.msg | 26 +++++++++++------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/autoware_sensing_msgs/msg/RadarObject.msg b/autoware_sensing_msgs/msg/RadarObject.msg
index 0945d4e..b51a319 100644
--- a/autoware_sensing_msgs/msg/RadarObject.msg
+++ b/autoware_sensing_msgs/msg/RadarObject.msg
@@ -1,15 +1,15 @@
-float32 INVALID_COV_VALUE = -1.0f;
+float32 INVALID_COV_VALUE = -1.0
 
-uint8 MEASUREMENT_STATUS_MEASURED = 0
-uint8 MEASUREMENT_STATUS_PREDICTED = 1
-uint8 MEASUREMENT_STATUS_NEW = 2
-uint8 MEASUREMENT_STATUS_UNKNOWN = 3
-uint8 MEASUREMENT_STATUS_INVALID = 255
+uint8 MEASUREMENT_STATUS_INVALID = 0
+uint8 MEASUREMENT_STATUS_MEASURED = 1
+uint8 MEASUREMENT_STATUS_PREDICTED = 2
+uint8 MEASUREMENT_STATUS_NEW = 3
+uint8 MEASUREMENT_STATUS_UNKNOWN = 4
 
-uint8 MOVEMENT_STATUS_DYNAMIC = 0
-uint8 MOVEMENT_STATUS_STATIC = 1
-uint8 MOVEMENT_STATUS_UNKNOWN = 2
-uint8 MOVEMENT_STATUS_INVALID = 255
+uint8 MOVEMENT_STATUS_INVALID = 0
+uint8 MOVEMENT_STATUS_DYNAMIC = 1
+uint8 MOVEMENT_STATUS_STATIC = 2
+uint8 MOVEMENT_STATUS_UNKNOWN = 3
 
 uint32 object_id
 uint16 age
@@ -21,9 +21,9 @@ geometry_msgs/Vector3 velocity
 geometry_msgs/Vector3 acceleration
 geometry_msgs/Vector3 size
 
-float32[6] position_cov
-float32[6] velocity_cov
-float32[6] acceleration_cov
+float32[6] position_covariance
+float32[6] velocity_covariance
+float32[6] acceleration_covariance
 float32[6] size_covariance
 
 float32 orientation

From 4e2f8351d3651f10b79e37f03653888ed1f99d35 Mon Sep 17 00:00:00 2001
From: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Date: Tue, 25 Mar 2025 15:43:20 +0900
Subject: [PATCH 7/8] chore: moved the radar msgs to perception

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
---
 autoware_perception_msgs/CMakeLists.txt                      | 5 +++++
 .../msg/RadarClassification.msg                              | 0
 .../msg/RadarFieldInfo.msg                                   | 0
 .../msg/RadarInfo.msg                                        | 0
 .../msg/RadarObject.msg                                      | 0
 .../msg/RadarObjects.msg                                     | 0
 autoware_sensing_msgs/CMakeLists.txt                         | 5 -----
 7 files changed, 5 insertions(+), 5 deletions(-)
 rename {autoware_sensing_msgs => autoware_perception_msgs}/msg/RadarClassification.msg (100%)
 rename {autoware_sensing_msgs => autoware_perception_msgs}/msg/RadarFieldInfo.msg (100%)
 rename {autoware_sensing_msgs => autoware_perception_msgs}/msg/RadarInfo.msg (100%)
 rename {autoware_sensing_msgs => autoware_perception_msgs}/msg/RadarObject.msg (100%)
 rename {autoware_sensing_msgs => autoware_perception_msgs}/msg/RadarObjects.msg (100%)

diff --git a/autoware_perception_msgs/CMakeLists.txt b/autoware_perception_msgs/CMakeLists.txt
index 2f20869..23acdbc 100644
--- a/autoware_perception_msgs/CMakeLists.txt
+++ b/autoware_perception_msgs/CMakeLists.txt
@@ -13,6 +13,11 @@ rosidl_generate_interfaces(${PROJECT_NAME}
   "msg/PredictedObjectKinematics.msg"
   "msg/PredictedObjects.msg"
   "msg/PredictedPath.msg"
+  "msg/RadarClassification.msg"
+  "msg/RadarFieldInfo.msg"
+  "msg/RadarInfo.msg"
+  "msg/RadarObject.msg"
+  "msg/RadarObjects.msg"
   "msg/Shape.msg"
   "msg/TrackedObject.msg"
   "msg/TrackedObjectKinematics.msg"
diff --git a/autoware_sensing_msgs/msg/RadarClassification.msg b/autoware_perception_msgs/msg/RadarClassification.msg
similarity index 100%
rename from autoware_sensing_msgs/msg/RadarClassification.msg
rename to autoware_perception_msgs/msg/RadarClassification.msg
diff --git a/autoware_sensing_msgs/msg/RadarFieldInfo.msg b/autoware_perception_msgs/msg/RadarFieldInfo.msg
similarity index 100%
rename from autoware_sensing_msgs/msg/RadarFieldInfo.msg
rename to autoware_perception_msgs/msg/RadarFieldInfo.msg
diff --git a/autoware_sensing_msgs/msg/RadarInfo.msg b/autoware_perception_msgs/msg/RadarInfo.msg
similarity index 100%
rename from autoware_sensing_msgs/msg/RadarInfo.msg
rename to autoware_perception_msgs/msg/RadarInfo.msg
diff --git a/autoware_sensing_msgs/msg/RadarObject.msg b/autoware_perception_msgs/msg/RadarObject.msg
similarity index 100%
rename from autoware_sensing_msgs/msg/RadarObject.msg
rename to autoware_perception_msgs/msg/RadarObject.msg
diff --git a/autoware_sensing_msgs/msg/RadarObjects.msg b/autoware_perception_msgs/msg/RadarObjects.msg
similarity index 100%
rename from autoware_sensing_msgs/msg/RadarObjects.msg
rename to autoware_perception_msgs/msg/RadarObjects.msg
diff --git a/autoware_sensing_msgs/CMakeLists.txt b/autoware_sensing_msgs/CMakeLists.txt
index 24dfedc..336e7f8 100644
--- a/autoware_sensing_msgs/CMakeLists.txt
+++ b/autoware_sensing_msgs/CMakeLists.txt
@@ -7,11 +7,6 @@ ament_auto_find_build_dependencies()
 set(msg_files
   "msg/GnssInsOrientation.msg"
   "msg/GnssInsOrientationStamped.msg"
-  "msg/RadarClassification.msg"
-  "msg/RadarFieldInfo.msg"
-  "msg/RadarInfo.msg"
-  "msg/RadarObject.msg"
-  "msg/RadarObjects.msg"
 )
 
 set(msg_dependencies

From 25ad092254718b2043cd26e564066bb582dd85d9 Mon Sep 17 00:00:00 2001
From: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
Date: Tue, 25 Mar 2025 16:02:16 +0900
Subject: [PATCH 8/8] feat: deleting radar classification in favor of the
 existing perception msgs counterpart

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
---
 autoware_perception_msgs/CMakeLists.txt        |  1 -
 .../msg/ObjectClassification.msg               |  4 ++++
 .../msg/RadarClassification.msg                | 18 ------------------
 autoware_perception_msgs/msg/RadarObject.msg   |  2 +-
 4 files changed, 5 insertions(+), 20 deletions(-)
 delete mode 100644 autoware_perception_msgs/msg/RadarClassification.msg

diff --git a/autoware_perception_msgs/CMakeLists.txt b/autoware_perception_msgs/CMakeLists.txt
index 23acdbc..f285708 100644
--- a/autoware_perception_msgs/CMakeLists.txt
+++ b/autoware_perception_msgs/CMakeLists.txt
@@ -13,7 +13,6 @@ rosidl_generate_interfaces(${PROJECT_NAME}
   "msg/PredictedObjectKinematics.msg"
   "msg/PredictedObjects.msg"
   "msg/PredictedPath.msg"
-  "msg/RadarClassification.msg"
   "msg/RadarFieldInfo.msg"
   "msg/RadarInfo.msg"
   "msg/RadarObject.msg"
diff --git a/autoware_perception_msgs/msg/ObjectClassification.msg b/autoware_perception_msgs/msg/ObjectClassification.msg
index 77405f6..4371684 100644
--- a/autoware_perception_msgs/msg/ObjectClassification.msg
+++ b/autoware_perception_msgs/msg/ObjectClassification.msg
@@ -6,6 +6,10 @@ uint8 TRAILER = 4
 uint8 MOTORCYCLE = 5
 uint8 BICYCLE = 6
 uint8 PEDESTRIAN = 7
+uint8 ANIMAL = 8
+uint8 HAZARD = 9
+uint8 OVER_DRIVABLE = 10
+uint8 UNDER_DRIVABLE = 11
 
 uint8 label
 float32 probability
diff --git a/autoware_perception_msgs/msg/RadarClassification.msg b/autoware_perception_msgs/msg/RadarClassification.msg
deleted file mode 100644
index 963f132..0000000
--- a/autoware_perception_msgs/msg/RadarClassification.msg
+++ /dev/null
@@ -1,18 +0,0 @@
-# Common classes with autoware_perception_msgs/msg/ObjectClassification.msg
-uint32 UNKNOWN = 0
-uint32 CAR = 1
-uint32 TRUCK = 2
-uint32 BUS = 3
-uint32 TRAILER = 4
-uint32 MOTORCYCLE = 5
-uint32 BICYCLE = 6
-uint32 PEDESTRIAN = 7
-
-# Radar specific classes
-uint32 ANIMAL = 8
-uint32 HAZARD = 9
-uint32 OVER_DRIVABLE = 10
-uint32 UNDER_DRIVABLE = 11
-
-uint32 label
-float32 probability
diff --git a/autoware_perception_msgs/msg/RadarObject.msg b/autoware_perception_msgs/msg/RadarObject.msg
index b51a319..7ee07ad 100644
--- a/autoware_perception_msgs/msg/RadarObject.msg
+++ b/autoware_perception_msgs/msg/RadarObject.msg
@@ -32,4 +32,4 @@ float32 orientation_rate
 float32 orientation_rate_std
 
 float32 existence_probability
-RadarClassification[] classifications
+ObjectClassification[] classifications