diff --git a/planning/behavior_path_planner/include/behavior_path_planner/scene_module/scene_module_interface.hpp b/planning/behavior_path_planner/include/behavior_path_planner/scene_module/scene_module_interface.hpp index 3649b2c6b8362..a249b3b6d68b2 100644 --- a/planning/behavior_path_planner/include/behavior_path_planner/scene_module/scene_module_interface.hpp +++ b/planning/behavior_path_planner/include/behavior_path_planner/scene_module/scene_module_interface.hpp @@ -277,7 +277,9 @@ class SceneModuleInterface { std::unordered_map> rtc_interface_ptr_map; for (const auto & rtc_type : rtc_types) { - const auto rtc_interface_name = rtc_type == "" ? name : name + "_" + rtc_type; + const auto snake_case_name = util::convertToSnakeCase(name); + const auto rtc_interface_name = + rtc_type == "" ? snake_case_name : snake_case_name + "_" + rtc_type; rtc_interface_ptr_map.emplace( rtc_type, std::make_shared(&node, rtc_interface_name)); } diff --git a/planning/behavior_path_planner/include/behavior_path_planner/scene_module/scene_module_manager_interface.hpp b/planning/behavior_path_planner/include/behavior_path_planner/scene_module/scene_module_manager_interface.hpp index e353ac3376448..f9dfa5315731b 100644 --- a/planning/behavior_path_planner/include/behavior_path_planner/scene_module/scene_module_manager_interface.hpp +++ b/planning/behavior_path_planner/include/behavior_path_planner/scene_module/scene_module_manager_interface.hpp @@ -51,7 +51,9 @@ class SceneModuleManagerInterface enable_simultaneous_execution_(config.enable_simultaneous_execution) { for (const auto & rtc_type : rtc_types) { - const auto rtc_interface_name = rtc_type == "" ? name : name + "_" + rtc_type; + const auto snake_case_name = util::convertToSnakeCase(name); + const auto rtc_interface_name = + rtc_type == "" ? snake_case_name : snake_case_name + "_" + rtc_type; rtc_interface_ptr_map_.emplace( rtc_type, std::make_shared(node, rtc_interface_name)); } diff --git a/planning/behavior_path_planner/include/behavior_path_planner/utilities.hpp b/planning/behavior_path_planner/include/behavior_path_planner/utilities.hpp index 438d059dbf0e4..1509595ed9520 100644 --- a/planning/behavior_path_planner/include/behavior_path_planner/utilities.hpp +++ b/planning/behavior_path_planner/include/behavior_path_planner/utilities.hpp @@ -535,6 +535,8 @@ double calcLaneChangeBuffer( lanelet::ConstLanelets getLaneletsFromPath( const PathWithLaneId & path, const std::shared_ptr & route_handler); + +std::string convertToSnakeCase(const std::string & input_str); } // namespace behavior_path_planner::util #endif // BEHAVIOR_PATH_PLANNER__UTILITIES_HPP_ diff --git a/planning/behavior_path_planner/src/scene_module/lane_change/external_request_lane_change_module.cpp b/planning/behavior_path_planner/src/scene_module/lane_change/external_request_lane_change_module.cpp index d8e56332bfa2c..8620258e13b75 100644 --- a/planning/behavior_path_planner/src/scene_module/lane_change/external_request_lane_change_module.cpp +++ b/planning/behavior_path_planner/src/scene_module/lane_change/external_request_lane_change_module.cpp @@ -33,22 +33,15 @@ namespace behavior_path_planner { #ifdef USE_OLD_ARCHITECTURE -std::string getTopicName(const ExternalRequestLaneChangeModule::Direction & direction) -{ - const std::string direction_name = - direction == ExternalRequestLaneChangeModule::Direction::RIGHT ? "right" : "left"; - return "ext_request_lane_change_" + direction_name; -} - ExternalRequestLaneChangeModule::ExternalRequestLaneChangeModule( const std::string & name, rclcpp::Node & node, std::shared_ptr parameters, const Direction & direction) -: SceneModuleInterface{name, node, createRTCInterfaceMap(node, name, {getTopicName(direction)})}, +: SceneModuleInterface{name, node, createRTCInterfaceMap(node, name, {""})}, parameters_{std::move(parameters)}, direction_{direction} { steering_factor_interface_ptr_ = - std::make_unique(&node, getTopicName(direction)); + std::make_unique(&node, util::convertToSnakeCase(name)); } void ExternalRequestLaneChangeModule::onEntry() diff --git a/planning/behavior_path_planner/src/utilities.cpp b/planning/behavior_path_planner/src/utilities.cpp index 76218a925c91d..1f9e64605e8d6 100644 --- a/planning/behavior_path_planner/src/utilities.cpp +++ b/planning/behavior_path_planner/src/utilities.cpp @@ -2691,4 +2691,18 @@ lanelet::ConstLanelets getLaneletsFromPath( return lanelets; } + +std::string convertToSnakeCase(const std::string & input_str) +{ + std::string output_str = std::string{std::tolower(input_str.at(0))}; + for (size_t i = 1; i < input_str.length(); ++i) { + const auto input_chr = input_str.at(i); + if (std::isupper(input_chr)) { + output_str += "_" + std::string{std::tolower(input_chr)}; + } else { + output_str += input_chr; + } + } + return output_str; +} } // namespace behavior_path_planner::util