nav2_core
A set of headers for plugins core to the Nav2 stack
README
Nav2 Core
This package hosts the abstract interface (virtual base classes) for plugins to be used with the following:
navigators (e.g.,
navigate_to_pose
)global planner (e.g.,
nav2_navfn_planner
)controller (e.g., path execution controller, e.g
nav2_dwb_controller
)smoother (e.g.,
nav2_ceres_costaware_smoother
)goal checker (e.g.
simple_goal_checker
)behaviors (e.g.
drive_on_heading
)progress checker (e.g.
simple_progress_checker
)waypoint task executor (e.g.
take_pictures
)exceptions in planning and control
The purposes of these plugin interfaces are to create a separation of concern from the system software engineers and the researcher / algorithm designers. Each plugin type is hosted in a “task server” (e.g. planner, recovery, control servers) which handles requests and multiple algorithm plugin instances. The plugins are used to compute a value back to the server without having to worry about ROS 2 actions, topics, or other software utilities. A plugin designer can simply use the tools provided in the API to do their work, or create new ones if they like internally to gain additional information or capabilities.