## repository: https://code.ros.org/svn/ros-pkg <<PackageHeader(nav_core)>> <<TOC(3)>> == Overview == The `nav_core` package contains key interfaces for the navigation stack. All planners and recovery behaviors that wish to be used as [[pluginlib | plugins]] in the [[move_base]] node must adhere to these interfaces. {{attachment:move_base_interfaces.png}} == BaseGlobalPlanner == The `nav_core::BaseGlobalPlanner` provides an interface for global planners used in navigation. All global planners written as plugins for the [[move_base]] node must adhere to this interface. Current global planners using the `nav_core::BaseGlobalPlanner` interface are: * [[global_planner]] - A fast, interpolated global planner built as a more flexible replacement to navfn. (pluginlib name: "global_planner/GlobalPlanner") * [[navfn]] - A grid-based global planner that uses a navigation function to compute a path for a robot. (pluginlib name: "navfn/NavfnROS") * [[carrot_planner]] - A simple global planner that takes a user-specified goal point and attempts to move the robot as close to it as possible, even when that goal point is in an obstacle. (pluginlib name: "carrot_planner/CarrotPlanner") === API Stability === * The C++ API is stable. === BaseGlobalPlanner C++ API === Documentation on the C++ API for the `nav_core::BaseGlobalPlanner` can be found here: [[http://www.ros.org/doc/api/nav_core/html/classnav__core_1_1BaseGlobalPlanner.html | BaseGlobalPlanner documentation]]. == BaseLocalPlanner == The `nav_core::BaseLocalPlanner` provides an interface for local planners used in navigation. All local planners written as plugins for the [[move_base]] node must adhere to this interface. Current local planners using the `nav_core::BaseLocalPlanner` interface are: * [[base_local_planner]] - Provides implementations of the Dynamic Window Approach(DWA)and Trajectory Rollout approaches to local control * [[dwa_local_planner]] - Modular DWA implementation with a lot cleaner and easier interface to understand and more flexible y axis variables for holonomic robots than [[base_local_planner]]'s DWA * [[eband_local_planner]] - Implements the Elastic Band method on the SE2 manifold * [[teb_local_planner]] - Implements the Timed-Elastic-Band method for online trajectory optimization * [[mpc_local_planner]] - Provides several model predictive control approaches embedded in the SE2 manifold === API Stability === * The C++ API is stable. === BaseLocalPlanner C++ API === Documentation on the C++ API for the `nav_core::BaseLocalPlanner` can be found here: [[http://www.ros.org/doc/api/nav_core/html/classnav__core_1_1BaseLocalPlanner.html | BaseLocalPlanner documentation]]. == RecoveryBehavior == The `nav_core::RecoveryBehavior` provides an interface for recovery behaviors used in navigation. All recovery behaviors written as plugins for the [[move_base]] node must adhere to this interface. Current recovery behaviors using the `nav_core::RecoveryBehavior` interface are: * [[clear_costmap_recovery]] - A recovery behavior that reverts the costmaps used by [[move_base]] to the static map outside of a user-specified range * [[rotate_recovery]] - A recovery behavior that perfroms a 360 degree rotation of the robot to attempt to clear out space. === API Stability === * The C++ API is stable. === RecoveryBehavior C++ API === Documentation on the C++ API for the `nav_core::RecoveryBehavior` can be found here: [[http://www.ros.org/doc/api/nav_core/html/classnav__core_1_1RecoveryBehavior.html | RecoveryBehavior Documentation]] ## AUTOGENERATED DON'T DELETE ## CategoryPackage ## CategoryPackageROSPKG