diff --git a/tier4_auto_msgs_converter/include/tier4_auto_msgs_converter/tier4_auto_msgs_converter.hpp b/tier4_auto_msgs_converter/include/tier4_auto_msgs_converter/tier4_auto_msgs_converter.hpp
index 422623d3..6784b9bb 100644
--- a/tier4_auto_msgs_converter/include/tier4_auto_msgs_converter/tier4_auto_msgs_converter.hpp
+++ b/tier4_auto_msgs_converter/include/tier4_auto_msgs_converter/tier4_auto_msgs_converter.hpp
@@ -15,6 +15,7 @@
#ifndef TIER4_AUTO_MSGS_CONVERTER__TIER4_AUTO_MSGS_CONVERTER_HPP_
#define TIER4_AUTO_MSGS_CONVERTER__TIER4_AUTO_MSGS_CONVERTER_HPP_
+#include "autoware_auto_perception_msgs/msg/tracked_objects.hpp"
#include "autoware_auto_planning_msgs/msg/path.hpp"
#include "autoware_auto_planning_msgs/msg/trajectory.hpp"
#include "autoware_auto_system_msgs/msg/autoware_state.hpp"
@@ -29,6 +30,7 @@
#include "autoware_auto_vehicle_msgs/msg/turn_indicators_report.hpp"
#include "tier4_external_api_msgs/msg/gear_shift_stamped.hpp"
#include "tier4_external_api_msgs/msg/turn_signal_stamped.hpp"
+#include "tier4_perception_msgs/msg/dynamic_object_array.hpp"
#include "tier4_planning_msgs/msg/path.hpp"
#include "tier4_planning_msgs/msg/trajectory.hpp"
#include "tier4_system_msgs/msg/autoware_state.hpp"
@@ -276,6 +278,96 @@ inline auto convert(const autoware_auto_vehicle_msgs::msg::SteeringReport & stee
return iv_steering;
}
+inline auto convert(const autoware_auto_perception_msgs::msg::ObjectClassification & classification)
+{
+ tier4_perception_msgs::msg::Semantic iv_semantic;
+ iv_semantic.confidence = classification.probability;
+ switch (classification.label) {
+ case autoware_auto_perception_msgs::msg::ObjectClassification::UNKNOWN:
+ iv_semantic.type = tier4_perception_msgs::msg::Semantic::UNKNOWN;
+ break;
+ case autoware_auto_perception_msgs::msg::ObjectClassification::CAR:
+ iv_semantic.type = tier4_perception_msgs::msg::Semantic::CAR;
+ break;
+ case autoware_auto_perception_msgs::msg::ObjectClassification::TRUCK:
+ iv_semantic.type = tier4_perception_msgs::msg::Semantic::TRUCK;
+ break;
+ case autoware_auto_perception_msgs::msg::ObjectClassification::BUS:
+ iv_semantic.type = tier4_perception_msgs::msg::Semantic::BUS;
+ break;
+ case autoware_auto_perception_msgs::msg::ObjectClassification::TRAILER:
+ iv_semantic.type = tier4_perception_msgs::msg::Semantic::TRUCK;
+ break;
+ case autoware_auto_perception_msgs::msg::ObjectClassification::MOTORCYCLE:
+ iv_semantic.type = tier4_perception_msgs::msg::Semantic::MOTORBIKE;
+ break;
+ case autoware_auto_perception_msgs::msg::ObjectClassification::BICYCLE:
+ iv_semantic.type = tier4_perception_msgs::msg::Semantic::BICYCLE;
+ break;
+ case autoware_auto_perception_msgs::msg::ObjectClassification::PEDESTRIAN:
+ iv_semantic.type = tier4_perception_msgs::msg::Semantic::PEDESTRIAN;
+ break;
+ default:
+ iv_semantic.type = tier4_perception_msgs::msg::Semantic::UNKNOWN;
+ break;
+ }
+ return iv_semantic;
+}
+
+inline auto convert(const autoware_auto_perception_msgs::msg::TrackedObjectKinematics & kinematics)
+{
+ using Kinematics = autoware_auto_perception_msgs::msg::TrackedObjectKinematics;
+ tier4_perception_msgs::msg::State iv_state;
+ iv_state.pose_covariance = kinematics.pose_with_covariance;
+ iv_state.orientation_reliable = (kinematics.orientation_availability == Kinematics::AVAILABLE);
+ iv_state.twist_covariance = kinematics.twist_with_covariance;
+ iv_state.twist_reliable = true;
+ iv_state.acceleration_covariance = kinematics.acceleration_with_covariance;
+ iv_state.acceleration_reliable = true;
+ iv_state.predicted_paths = {};
+ return iv_state;
+}
+
+inline auto convert(const autoware_auto_perception_msgs::msg::Shape & shape)
+{
+ tier4_perception_msgs::msg::Shape iv_shape;
+ iv_shape.dimensions = shape.dimensions;
+ iv_shape.footprint = shape.footprint;
+ switch (shape.type) {
+ case autoware_auto_perception_msgs::msg::Shape::BOUNDING_BOX:
+ iv_shape.type = tier4_perception_msgs::msg::Shape::BOUNDING_BOX;
+ break;
+ case autoware_auto_perception_msgs::msg::Shape::CYLINDER:
+ iv_shape.type = tier4_perception_msgs::msg::Shape::CYLINDER;
+ break;
+ case autoware_auto_perception_msgs::msg::Shape::POLYGON:
+ iv_shape.type = tier4_perception_msgs::msg::Shape::POLYGON;
+ break;
+ }
+ return iv_shape;
+}
+
+inline auto convert(const autoware_auto_perception_msgs::msg::TrackedObject & object)
+{
+ tier4_perception_msgs::msg::DynamicObject iv_object;
+ iv_object.id = object.object_id;
+ iv_object.semantic = convert(object.classification.front());
+ iv_object.state = convert(object.kinematics);
+ iv_object.shape = convert(object.shape);
+ return iv_object;
+}
+
+inline auto convert(const autoware_auto_perception_msgs::msg::TrackedObjects & objects)
+{
+ tier4_perception_msgs::msg::DynamicObjectArray iv_objects;
+ iv_objects.header = objects.header;
+ iv_objects.objects.reserve(objects.objects.size());
+ for (const auto & object : objects.objects) {
+ iv_objects.objects.push_back(convert(object));
+ }
+ return iv_objects;
+}
+
} // namespace tier4_auto_msgs_converter
#endif // TIER4_AUTO_MSGS_CONVERTER__TIER4_AUTO_MSGS_CONVERTER_HPP_
diff --git a/tier4_auto_msgs_converter/package.xml b/tier4_auto_msgs_converter/package.xml
index 5058c429..6d3e19a4 100644
--- a/tier4_auto_msgs_converter/package.xml
+++ b/tier4_auto_msgs_converter/package.xml
@@ -10,9 +10,11 @@
ament_cmake_auto
+ autoware_auto_perception_msgs
autoware_auto_planning_msgs
autoware_auto_system_msgs
autoware_auto_vehicle_msgs
+ tier4_perception_msgs
tier4_planning_msgs
tier4_system_msgs
tier4_vehicle_msgs
diff --git a/tier4_control_msgs/msg/ExternalCommandSelectorMode.msg b/tier4_control_msgs/msg/ExternalCommandSelectorMode.msg
index 8ae85ca2..567de1c1 100644
--- a/tier4_control_msgs/msg/ExternalCommandSelectorMode.msg
+++ b/tier4_control_msgs/msg/ExternalCommandSelectorMode.msg
@@ -1,4 +1,4 @@
uint8 NONE=0
-uint8 LOCAL=101 # TODO(Takagi, Isamu): temporary value to check data specified by magic number for migration
-uint8 REMOTE=102 # TODO(Takagi, Isamu): temporary value to check data specified by magic number for migration
+uint8 LOCAL=1
+uint8 REMOTE=2
uint8 data
diff --git a/tier4_external_api_msgs/CMakeLists.txt b/tier4_external_api_msgs/CMakeLists.txt
index cba69db8..354cbbcf 100644
--- a/tier4_external_api_msgs/CMakeLists.txt
+++ b/tier4_external_api_msgs/CMakeLists.txt
@@ -46,7 +46,6 @@ rosidl_generate_interfaces(${PROJECT_NAME}
srv/Engage.srv
srv/GetMetadataPackages.srv
srv/GetTextFile.srv
- srv/GetVersion.srv
srv/InitializePose.srv
srv/InitializePoseAuto.srv
srv/PauseDriving.srv
diff --git a/tier4_external_api_msgs/srv/GetVersion.srv b/tier4_external_api_msgs/srv/GetVersion.srv
deleted file mode 100644
index fa9f5fd1..00000000
--- a/tier4_external_api_msgs/srv/GetVersion.srv
+++ /dev/null
@@ -1,3 +0,0 @@
----
-tier4_external_api_msgs/ResponseStatus status
-string version