18 #include "nav2_map_server/costmap_filter_info_server.hpp"
24 namespace nav2_map_server
28 : nav2_util::LifecycleNode(
"costmap_filter_info_server",
"", options)
30 declare_parameter(
"filter_info_topic",
"costmap_filter_info");
31 declare_parameter(
"type", 0);
32 declare_parameter(
"mask_topic",
"filter_mask");
33 declare_parameter(
"base", 0.0);
34 declare_parameter(
"multiplier", 1.0);
41 nav2_util::CallbackReturn
44 RCLCPP_INFO(get_logger(),
"Configuring");
46 std::string filter_info_topic = get_parameter(
"filter_info_topic").as_string();
48 publisher_ = this->create_publisher<nav2_msgs::msg::CostmapFilterInfo>(
49 filter_info_topic, rclcpp::QoS(rclcpp::KeepLast(1)).transient_local().reliable());
51 msg_ = nav2_msgs::msg::CostmapFilterInfo();
52 msg_.header.frame_id =
"";
53 msg_.header.stamp = now();
54 msg_.type = get_parameter(
"type").as_int();
55 msg_.filter_mask_topic = get_parameter(
"mask_topic").as_string();
56 msg_.base =
static_cast<float>(get_parameter(
"base").as_double());
57 msg_.multiplier =
static_cast<float>(get_parameter(
"multiplier").as_double());
59 return nav2_util::CallbackReturn::SUCCESS;
62 nav2_util::CallbackReturn
65 RCLCPP_INFO(get_logger(),
"Activating");
67 publisher_->on_activate();
68 auto costmap_filter_info = std::make_unique<nav2_msgs::msg::CostmapFilterInfo>(msg_);
69 publisher_->publish(std::move(costmap_filter_info));
74 return nav2_util::CallbackReturn::SUCCESS;
77 nav2_util::CallbackReturn
80 RCLCPP_INFO(get_logger(),
"Deactivating");
82 publisher_->on_deactivate();
87 return nav2_util::CallbackReturn::SUCCESS;
90 nav2_util::CallbackReturn
93 RCLCPP_INFO(get_logger(),
"Cleaning up");
97 return nav2_util::CallbackReturn::SUCCESS;
100 nav2_util::CallbackReturn
103 RCLCPP_INFO(get_logger(),
"Shutting down");
105 return nav2_util::CallbackReturn::SUCCESS;
110 #include "rclcpp_components/register_node_macro.hpp"
~CostmapFilterInfoServer()
Destructor for the nav2_map_server::CostmapFilterInfoServer.
nav2_util::CallbackReturn on_configure(const rclcpp_lifecycle::State &state) override
Creates CostmapFilterInfo publisher and forms published message from ROS parameters.
nav2_util::CallbackReturn on_cleanup(const rclcpp_lifecycle::State &state) override
Resets publisher.
CostmapFilterInfoServer(const rclcpp::NodeOptions &options=rclcpp::NodeOptions())
Constructor for the nav2_map_server::CostmapFilterInfoServer.
nav2_util::CallbackReturn on_deactivate(const rclcpp_lifecycle::State &state) override
Deactivates publisher.
nav2_util::CallbackReturn on_shutdown(const rclcpp_lifecycle::State &state) override
Called when in Shutdown state.
nav2_util::CallbackReturn on_activate(const rclcpp_lifecycle::State &state) override
Publishes a CostmapFilterInfo message.
void createBond()
Create bond connection to lifecycle manager.
void destroyBond()
Destroy bond connection to lifecycle manager.