Skip to content

Files

Latest commit

f1cbaa4 · Feb 10, 2025

History

History

nav2_core

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.