diff --git a/nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp b/nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp index c6a1479cda8..fa8fec27ba9 100644 --- a/nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp +++ b/nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp @@ -82,11 +82,16 @@ bool BtActionServer::on_configure() throw std::runtime_error{"Failed to lock node"}; } - // use suffix '_rclcpp_node' to keep parameter file consistency #1773 + // Name client node after action name + std::string client_node_name = action_name_; + std::replace(client_node_name.begin(), client_node_name.end(), '/', '_'); + // Use suffix '_rclcpp_node' to keep parameter file consistency #1773 auto options = rclcpp::NodeOptions().arguments( {"--ros-args", - "-r", std::string("__node:=") + std::string(node->get_name()) + action_name_ + "_rclcpp_node", + "-r", + std::string("__node:=") + std::string(node->get_name()) + client_node_name + "_rclcpp_node", "--"}); + // Support for handling the topic-based goal pose from rviz client_node_ = std::make_shared("_", options);