21 #include "nav2_ros_common/lifecycle_node.hpp"
22 #include "nav2_ros_common/tf2_factories.hpp"
23 #include "pluginlib/class_loader.hpp"
24 #include "pluginlib/class_list_macros.hpp"
25 #include "nav2_core/behavior.hpp"
27 #ifndef NAV2_BEHAVIORS__BEHAVIOR_SERVER_HPP_
28 #define NAV2_BEHAVIORS__BEHAVIOR_SERVER_HPP_
30 namespace behavior_server
44 explicit BehaviorServer(
const rclcpp::NodeOptions & options = rclcpp::NodeOptions());
66 nav2::CallbackReturn
on_configure(
const rclcpp_lifecycle::State & state)
override;
71 nav2::CallbackReturn
on_activate(
const rclcpp_lifecycle::State & state)
override;
76 nav2::CallbackReturn
on_deactivate(
const rclcpp_lifecycle::State & state)
override;
81 nav2::CallbackReturn
on_cleanup(
const rclcpp_lifecycle::State & state)
override;
86 nav2::CallbackReturn
on_shutdown(
const rclcpp_lifecycle::State & state)
override;
88 nav2::TransformBuffer::SharedPtr tf_;
89 nav2::TransformListener::SharedPtr transform_listener_;
92 pluginlib::ClassLoader<nav2_core::Behavior> plugin_loader_;
93 std::vector<pluginlib::UniquePtr<nav2_core::Behavior>> behaviors_;
94 std::vector<std::string> default_ids_;
95 std::vector<std::string> default_types_;
96 std::vector<std::string> behavior_ids_;
97 std::vector<std::string> behavior_types_;
100 std::unique_ptr<nav2_costmap_2d::CostmapSubscriber> local_costmap_sub_;
101 std::unique_ptr<nav2_costmap_2d::FootprintSubscriber> local_footprint_sub_;
102 std::shared_ptr<nav2_costmap_2d::CostmapTopicCollisionChecker> local_collision_checker_;
104 std::unique_ptr<nav2_costmap_2d::CostmapSubscriber> global_costmap_sub_;
105 std::unique_ptr<nav2_costmap_2d::FootprintSubscriber> global_footprint_sub_;
106 std::shared_ptr<nav2_costmap_2d::CostmapTopicCollisionChecker> global_collision_checker_;
An server hosting a map of behavior plugins.
BehaviorServer(const rclcpp::NodeOptions &options=rclcpp::NodeOptions())
A constructor for behavior_server::BehaviorServer.
nav2::CallbackReturn on_cleanup(const rclcpp_lifecycle::State &state) override
Cleanup lifecycle server.
nav2::CallbackReturn on_deactivate(const rclcpp_lifecycle::State &state) override
Deactivate lifecycle server.
nav2::CallbackReturn on_shutdown(const rclcpp_lifecycle::State &state) override
Shutdown lifecycle server.
void configureBehaviorPlugins()
configures behavior plugins
nav2::CallbackReturn on_activate(const rclcpp_lifecycle::State &state) override
Activate lifecycle server.
void setupResourcesForBehaviorPlugins()
configures behavior plugins
nav2::CallbackReturn on_configure(const rclcpp_lifecycle::State &state) override
Configure lifecycle server.
bool loadBehaviorPlugins()
Loads behavior plugins from parameter file.
A lifecycle node wrapper to enable common Nav2 needs such as manipulating parameters.