From b1e1361f307b8e2cfc81d33db923b03d60dafcab Mon Sep 17 00:00:00 2001 From: TetsuKawa <kawaguchitnon@icloud.com> Date: Wed, 15 May 2024 14:10:30 +0900 Subject: [PATCH 1/4] feat: componentize-emergency-handler Signed-off-by: TetsuKawa <kawaguchitnon@icloud.com> --- system/emergency_handler/CMakeLists.txt | 9 ++++-- .../launch/emergency_handler.launch.xml | 2 +- system/emergency_handler/package.xml | 1 + .../emergency_handler_core.cpp | 3 ++ .../emergency_handler_node.cpp | 32 ------------------- 5 files changed, 12 insertions(+), 35 deletions(-) delete mode 100644 system/emergency_handler/src/emergency_handler/emergency_handler_node.cpp diff --git a/system/emergency_handler/CMakeLists.txt b/system/emergency_handler/CMakeLists.txt index b7895b07f6e4c..0475cdbe57dd8 100644 --- a/system/emergency_handler/CMakeLists.txt +++ b/system/emergency_handler/CMakeLists.txt @@ -4,11 +4,16 @@ project(emergency_handler) find_package(autoware_cmake REQUIRED) autoware_package() -ament_auto_add_executable(emergency_handler - src/emergency_handler/emergency_handler_node.cpp +ament_auto_add_library(${PROJECT_NAME} SHARED src/emergency_handler/emergency_handler_core.cpp ) +rclcpp_components_register_node(${PROJECT_NAME} + PLUGIN "EmergencyHandler" + EXECUTABLE ${PROJECT_NAME}_node + EXECUTOR MultiThreadedExecutor +) + ament_auto_package(INSTALL_TO_SHARE launch config diff --git a/system/emergency_handler/launch/emergency_handler.launch.xml b/system/emergency_handler/launch/emergency_handler.launch.xml index 308eaf90dbb69..203c13bd94e0a 100644 --- a/system/emergency_handler/launch/emergency_handler.launch.xml +++ b/system/emergency_handler/launch/emergency_handler.launch.xml @@ -16,7 +16,7 @@ <arg name="config_file" default="$(find-pkg-share emergency_handler)/config/emergency_handler.param.yaml"/> <!-- emergency_handler --> - <node pkg="emergency_handler" exec="emergency_handler" name="emergency_handler" output="screen"> + <node pkg="emergency_handler" exec="emergency_handler_node" name="emergency_handler" output="screen"> <remap from="~/input/hazard_status" to="$(var input_hazard_status)"/> <remap from="~/input/prev_control_command" to="$(var input_prev_control_command)"/> <remap from="~/input/odometry" to="$(var input_odometry)"/> diff --git a/system/emergency_handler/package.xml b/system/emergency_handler/package.xml index 10282297017b1..97344f9b8c594 100644 --- a/system/emergency_handler/package.xml +++ b/system/emergency_handler/package.xml @@ -18,6 +18,7 @@ <depend>autoware_auto_vehicle_msgs</depend> <depend>nav_msgs</depend> <depend>rclcpp</depend> + <depend>rclcpp_components</depend> <depend>std_msgs</depend> <depend>std_srvs</depend> <depend>tier4_system_msgs</depend> diff --git a/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp b/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp index db3ad40249bfb..586318eb7c1ec 100644 --- a/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp +++ b/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp @@ -459,3 +459,6 @@ bool EmergencyHandler::isStopped() return false; } + +#include <rclcpp_components/register_node_macro.hpp> +RCLCPP_COMPONENTS_REGISTER_NODE(EmergencyHandler) \ No newline at end of file diff --git a/system/emergency_handler/src/emergency_handler/emergency_handler_node.cpp b/system/emergency_handler/src/emergency_handler/emergency_handler_node.cpp deleted file mode 100644 index 5b60117cc3ff4..0000000000000 --- a/system/emergency_handler/src/emergency_handler/emergency_handler_node.cpp +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2020 Tier IV, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "emergency_handler/emergency_handler_core.hpp" - -#include <rclcpp/rclcpp.hpp> - -#include <memory> - -int main(int argc, char ** argv) -{ - rclcpp::init(argc, argv); - rclcpp::executors::MultiThreadedExecutor executor; - auto node = std::make_shared<EmergencyHandler>(); - executor.add_node(node); - executor.spin(); - executor.remove_node(node); - rclcpp::shutdown(); - - return 0; -} From f9e579eae0e6b2f44c0f0db3797a3790e86bcc45 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 05:30:52 +0000 Subject: [PATCH 2/4] style(pre-commit): autofix --- .../src/emergency_handler/emergency_handler_core.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp b/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp index 586318eb7c1ec..b93d5faca6e32 100644 --- a/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp +++ b/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp @@ -461,4 +461,4 @@ bool EmergencyHandler::isStopped() } #include <rclcpp_components/register_node_macro.hpp> -RCLCPP_COMPONENTS_REGISTER_NODE(EmergencyHandler) \ No newline at end of file +RCLCPP_COMPONENTS_REGISTER_NODE(EmergencyHandler) From fae3b6aa6eab8af30d38a38621deb76170a9f06c Mon Sep 17 00:00:00 2001 From: TetsuKawa <kawaguchitnon@icloud.com> Date: Wed, 15 May 2024 16:41:17 +0900 Subject: [PATCH 3/4] feat: add an arg to the constructor Signed-off-by: TetsuKawa <kawaguchitnon@icloud.com> --- .../include/emergency_handler/emergency_handler_core.hpp | 2 +- .../src/emergency_handler/emergency_handler_core.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/system/emergency_handler/include/emergency_handler/emergency_handler_core.hpp b/system/emergency_handler/include/emergency_handler/emergency_handler_core.hpp index 5c76d96e573ab..a78b35be26daf 100644 --- a/system/emergency_handler/include/emergency_handler/emergency_handler_core.hpp +++ b/system/emergency_handler/include/emergency_handler/emergency_handler_core.hpp @@ -53,7 +53,7 @@ struct Param class EmergencyHandler : public rclcpp::Node { public: - EmergencyHandler(); + explicit EmergencyHandler(const rclcpp::NodeOptions & options); private: // Subscribers diff --git a/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp b/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp index 586318eb7c1ec..8e5c1e4e9fef7 100644 --- a/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp +++ b/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp @@ -18,7 +18,7 @@ #include <string> #include <utility> -EmergencyHandler::EmergencyHandler() : Node("emergency_handler") +EmergencyHandler::EmergencyHandler(const rclcpp::NodeOptions & options) : Node("emergency_handler", options) { // Parameter param_.update_rate = declare_parameter<int>("update_rate"); From e7f77827420446cce396dc978cfa73815a8283be Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 07:46:49 +0000 Subject: [PATCH 4/4] style(pre-commit): autofix --- .../src/emergency_handler/emergency_handler_core.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp b/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp index 2e4057c0f918f..2770a14691d95 100644 --- a/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp +++ b/system/emergency_handler/src/emergency_handler/emergency_handler_core.cpp @@ -18,7 +18,8 @@ #include <string> #include <utility> -EmergencyHandler::EmergencyHandler(const rclcpp::NodeOptions & options) : Node("emergency_handler", options) +EmergencyHandler::EmergencyHandler(const rclcpp::NodeOptions & options) +: Node("emergency_handler", options) { // Parameter param_.update_rate = declare_parameter<int>("update_rate");