Skip to content

Commit

Permalink
[skip ci] publish latest
Browse files Browse the repository at this point in the history
Signed-off-by: navigation2-ci <[email protected]>
  • Loading branch information
navigation2-ci committed Nov 21, 2023
1 parent d724670 commit e3f9ec1
Show file tree
Hide file tree
Showing 43 changed files with 80 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Source code on Github_.

.. _Github: https://github.com/ros-planning/navigation2/tree/main/nav2_behaviors

The Behavior Server implements the server for handling recovery behavior requests and hosting a vector of plugins implementing various C++ behaviors.
The Behavior Server implements the server for handling various behavior, such as recoveries and docking, requests and hosting a vector of plugins implementing various C++ behaviors.
It is also possible to implement independent behavior servers for each custom behavior, but this server will allow multiple behaviors to share resources such as costmaps and TF buffers to lower incremental costs for new behaviors.

Note: the wait recovery behavior has no parameters, the duration to wait is given in the action request.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Source code on Github_.

.. _Github: https://github.com/ros-planning/navigation2/tree/main/nav2_bt_navigator

The BT Navigator (Behavior Tree Navigator) module implements the NavigateToPose task interface.
The BT Navigator (Behavior Tree Navigator) module implements the NavigateToPose, NavigateThroughPoses, and other task interfaces.
It is a Behavior Tree-based implementation of navigation that is intended to allow for flexibility
in the navigation task and provide a way to easily specify complex robot behaviors, including recovery.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Source code on Github_.
.. _`RoboTech Vision`: https://robotechvision.com/

A smoother plugin for nav2_smoother based on the original deprecated smoother in nav2_smac_planner and put into operational state by `RoboTech Vision`_.
Suitable for applications which need planned global path to be pushed away from obstacles and/or for Reeds-Shepp motion models.
Suitable for applications which need planned global path to be pushed away from obstacles and/or for Reeds-Shepp motion models. It optimizes for path length, smoothness, distance from obstacles, and curvature in a large Ceres-based optimization program.

.. _`TruncatePathLocal BT Node`: bt-plugins/actions/TruncatePathLocal.html

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Source code on Github_.

The Controller Server implements the server for handling the controller requests for the stack and host a map of plugin implementations.
It will take in path and plugin names for controller, progress checker and goal checker to use and call the appropriate plugins.
It also hosts the local costmap.

Parameters
**********
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Source code on Github_.

.. _Github: https://github.com/ros-planning/navigation2/tree/main/nav2_costmap_2d

The Costmap 2D package implements a 2D grid-based costmap for environmental representations and a number of sensor processing plugins.
The Costmap 2D package implements a 2D grid-based costmap for environmental representations and a number of sensor processing plugins (AI outputs, depth sensor obstacle buffering, semantic information, etc).
It is used in the planner and controller servers for creating the space to check for collisions or higher cost areas to negotiate around.

Costmap2D ROS Parameters
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Source code on Github_.

The DWB controller is the default controller. It is a fork of `David Lu's
controller <https://github.com/locusrobotics/robot_navigation/tree/master/dwb_local_planner>`_
modified for ROS 2.
modified for ROS 2 using the Dynamic Window Approach.

Controller
**********
Expand Down
18 changes: 18 additions & 0 deletions _sources/configuration/packages/configuring-mppic.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,8 @@ Ackermann Motion Model
Constraint Critic
-----------------

This critic penalizes trajectories that have components outside of the set dynamic or kinematic constraints

:cost_weight:

============== ===========================
Expand All @@ -376,6 +378,8 @@ Constraint Critic
Goal Angle Critic
-----------------

This critic incentivizes navigating to achieve the angle of the goal posewhen in reasonable proximity to goal

:cost_weight:

============== ===========================
Expand Down Expand Up @@ -412,6 +416,8 @@ Goal Angle Critic
Goal Critic
-----------

This critic incentivizes navigating spatially towards the goal when in reasonable proximity to goal

:cost_weight:

============== ===========================
Expand Down Expand Up @@ -448,6 +454,8 @@ Goal Critic
Obstacles Critic
----------------

This critic incentivizes navigating away from obstacles and critical collisions using either a circular robot point-check or full SE2 footprint check.

:critical_weight:

============== ===========================
Expand Down Expand Up @@ -550,6 +558,8 @@ Obstacles Critic
Path Align Critic
-----------------

This critic incentivizes aligning with the global path, if relevant. It does not implement path following behavior.

:cost_weight:

============== ===========================
Expand Down Expand Up @@ -619,6 +629,8 @@ Path Align Critic
Path Angle Critic
-----------------

This critic penalizes trajectories at a high relative angle to the path. This helps the robot make sharp turns when necessary due to large accumulated angular errors.

:cost_weight:

============== ===========================
Expand Down Expand Up @@ -689,6 +701,8 @@ Path Angle Critic
Path Follow Critic
------------------

This critic incentivizes making progress along the path. This is what drives the robot forward along the path.

:cost_weight:

============== ===========================
Expand Down Expand Up @@ -736,6 +750,8 @@ Path Follow Critic
Prefer Forward Critic
---------------------

This critic incentivizes moving in the forward direction, rather than reversing.

:cost_weight:

============== ===========================
Expand Down Expand Up @@ -772,6 +788,8 @@ Prefer Forward Critic
Twirling Critic
---------------

This critic penalizes unnecessary 'twisting' with holonomic vehicles. It adds a constraint on the rotation angle to keep it consistent.

:cost_weight:

============== ===========================
Expand Down
2 changes: 1 addition & 1 deletion _sources/configuration/packages/configuring-navfn.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Source code on Github_.

.. _Github: https://github.com/ros-planning/navigation2/tree/main/nav2_navfn_planner

The Navfn Planner plugin implements a wavefront Dijkstra or A* expanded planner.
The Navfn Planner plugin implements a wavefront Dijkstra or A* expanded holonomic planner.

``<name>`` is the corresponding planner plugin ID selected for this type.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Source code on Github_.

The Planner Server implements the server for handling the planner requests for the stack and host a map of plugin implementations.
It will take in a goal and a planner plugin name to use and call the appropriate plugin to compute a path to the goal.
It also hosts the global costmap.

Parameters
**********
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Theta Star Planner
.. .. _Github: https://github.com/ros-planning/navigation2/tree/main/nav2_theta_star_planner
Theta Star Planner implements the Theta* path planner meant to plan any-angled paths using A*.
Theta Star Planner implements the Theta* path planner meant to plan any-angled line-segment focused paths using A*.

For the below example the planner took ~46ms (averaged value) to compute the path of 87.5m -

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Source code on Github_.

The ``nav2_velocity_smoother`` is a package containing a lifecycle-component node for smoothing velocities sent by Nav2 to robot controllers.
The aim of this package is to implement velocity, acceleration, and deadband smoothing from Nav2 to reduce wear-and-tear on robot motors and hardware controllers by smoothing out the accelerations/jerky movements that might be present with some local trajectory planners' control efforts.
It can also interpolate velocity commands at higher rates than the controller server publishes.

See the package's README for more information.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
Denoise Layer Parameters
========================

This layer attempts to remove simple noise that may exist in a costmap's layers due to sensor noise or discrete raycasting errors.

``<denoise layer>`` is the corresponding plugin name selected for this type.

:``<denoise layer>``.enabled:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
Inflation Layer Parameters
==========================

This layer places an exponential decay functions around obstacles to increase cost to traverse near collision. It also places a lethal cost around obstacles within the robot's fully inscribed radius - even if a robot is non-circular for optimized first-order collision checking.

``<inflation layer>`` is the corresponding plugin name selected for this type.


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
Obstacle Layer Parameters
=========================

This costmap layer implements a plugin that uses 2D raycasting for 2D lidars, depth, or other sensors. It contains a 2D costmap model within it that manages the planning space by the parameters specified below.

``<obstacle layer>`` is the corresponding plugin name selected for this type.

``<data source>`` is the corresponding observation source name for that sources parameters.
Expand Down
2 changes: 2 additions & 0 deletions _sources/configuration/packages/costmap-plugins/range.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
Range Sensor Parameters
=======================

This costmap layer implements a plugin that processes sonar, IR, or other 1-D sensors for collision avoidance.

``<range layer>`` is the corresponding plugin name selected for this type.

:``<range layer>``.enabled:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
Static Layer Parameters
=======================

This implements a costmap layer taking in a map from either SLAM or ``map_server`` (or other) to place into the costmap. It resizes the costmap to its size and places the static obstacles on the planning space.

``<static layer>`` is the corresponding plugin name selected for this type.

:``<static layer>``.enabled:
Expand Down
2 changes: 2 additions & 0 deletions _sources/configuration/packages/costmap-plugins/voxel.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
Voxel Layer Parameters
======================

This costmap layer implements a plugin that uses 3D raycasting for depth, 3D, or other sensors. It contains a 3D environmental model within it that manages the planning space and squashes down to 2D for planning and control by the parameters specified below.

``<voxel layer>`` is the corresponding plugin name selected for this type.

``<data source>`` is the corresponding observation source name for that sources parameters.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
SimpleProgressChecker
=====================

Checks whether the robot has made progress.
Checks whether the robot has made positional progress.

Parameters
**********
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ Smac 2D Planner
:alt: Paths generated by the Smac 2D-A*
:width: 640px

This planner implements a cost-aware holonomic A* algorithm within the Smac Planner framework sharing the same code and behaviors as the Hybrid-A* and State Lattice planners.

``<name>`` is the corresponding planner plugin ID selected for this type.

Parameters
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ Smac Hybrid-A* Planner
:alt: Paths generated by the Smac Hybrid-A*
:width: 640px

This plugin implements a cost-aware Hybrid-A* global path planner with motion primitives proportionally sized to the minimum required to leave a user's costmap cell allowing for finite moves.

``<name>`` is the corresponding planner plugin ID selected for this type.

Parameters
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ Smac State Lattice Planner
:alt: Paths generated by the Smac State Lattice
:width: 640px

This planner implements a generic state lattice global path planner using precomputed, offline minimum control sets. The package also contains a python utility for computing minimum control sets based on minimum curvature constraints, in-place rotations, and omnidirectional moves. Though, any other minimum control set may be used as long as it follows the file format specification in the package's README file.

``<name>`` is the corresponding planner plugin ID selected for this type.

Note: State Lattice does not have the costmap downsampler due to the minimum control sets being tied with map resolutions on generation. The minimum turning radius is also not a parameter in State Lattice since this was specified at the minimum control set pre-computation phase. See the Smac Planner package to generate custom control sets for your vehicle or use one of our pre-generated examples.
Expand Down
2 changes: 1 addition & 1 deletion configuration/packages/configuring-behavior-server.html
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,7 @@
<div class="section" id="behavior-server">
<span id="configuring-behavior-server"></span><h1>Behavior Server<a class="headerlink" href="#behavior-server" title="Permalink to this headline"></a></h1>
<p>Source code on <a class="reference external" href="https://github.com/ros-planning/navigation2/tree/main/nav2_behaviors">Github</a>.</p>
<p>The Behavior Server implements the server for handling recovery behavior requests and hosting a vector of plugins implementing various C++ behaviors.
<p>The Behavior Server implements the server for handling various behavior, such as recoveries and docking, requests and hosting a vector of plugins implementing various C++ behaviors.
It is also possible to implement independent behavior servers for each custom behavior, but this server will allow multiple behaviors to share resources such as costmaps and TF buffers to lower incremental costs for new behaviors.</p>
<p>Note: the wait recovery behavior has no parameters, the duration to wait is given in the action request.
Note: pre-Rolling/Humble this was the Recovery server, not behavior server. Launch files, behaviors and tests were all renamed.</p>
Expand Down
2 changes: 1 addition & 1 deletion configuration/packages/configuring-bt-navigator.html
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,7 @@
<div class="section" id="behavior-tree-navigator">
<span id="configuring-bt-navigator"></span><h1>Behavior-Tree Navigator<a class="headerlink" href="#behavior-tree-navigator" title="Permalink to this headline"></a></h1>
<p>Source code on <a class="reference external" href="https://github.com/ros-planning/navigation2/tree/main/nav2_bt_navigator">Github</a>.</p>
<p>The BT Navigator (Behavior Tree Navigator) module implements the NavigateToPose task interface.
<p>The BT Navigator (Behavior Tree Navigator) module implements the NavigateToPose, NavigateThroughPoses, and other task interfaces.
It is a Behavior Tree-based implementation of navigation that is intended to allow for flexibility
in the navigation task and provide a way to easily specify complex robot behaviors, including recovery.</p>
<p>Consider checking out the <a class="reference internal" href="../../tutorials/docs/using_groot.html#groot-introduction"><span class="std std-ref">Groot - Interacting with Behavior Trees</span></a> tutorial for using Groot to visualize and modify behavior trees.</p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1006,7 +1006,7 @@
<span id="configuring-constrained-smoother"></span><h1>Constrained smoother<a class="headerlink" href="#constrained-smoother" title="Permalink to this headline"></a></h1>
<p>Source code on <a class="reference external" href="https://github.com/ros-planning/navigation2/tree/main/nav2_constrained_smoother">Github</a>.</p>
<p>A smoother plugin for nav2_smoother based on the original deprecated smoother in nav2_smac_planner and put into operational state by <a class="reference external" href="https://robotechvision.com/">RoboTech Vision</a>.
Suitable for applications which need planned global path to be pushed away from obstacles and/or for Reeds-Shepp motion models.</p>
Suitable for applications which need planned global path to be pushed away from obstacles and/or for Reeds-Shepp motion models. It optimizes for path length, smoothness, distance from obstacles, and curvature in a large Ceres-based optimization program.</p>
<p>Important note: Constrained smoother uses a rather heavy optimization algorithm and thus is suggested to be used on a periodically truncated path.
<a class="reference external" href="bt-plugins/actions/TruncatePathLocal.html">TruncatePathLocal BT Node</a> can be used for achieving a proper path length and DistanceController BT Node can be used for achieving periodicity.</p>
<p>Following image depicts how Constrained Smoother can improve quality of an input path (cyan, generated by an outdated version of Smac Planner, intentionally not configured optimally to highlight the power of the smoother),
Expand Down
3 changes: 2 additions & 1 deletion configuration/packages/configuring-controller-server.html
Original file line number Diff line number Diff line change
Expand Up @@ -1006,7 +1006,8 @@
<span id="configuring-controller-server"></span><h1>Controller Server<a class="headerlink" href="#controller-server" title="Permalink to this headline"></a></h1>
<p>Source code on <a class="reference external" href="https://github.com/ros-planning/navigation2/tree/main/nav2_controller">Github</a>.</p>
<p>The Controller Server implements the server for handling the controller requests for the stack and host a map of plugin implementations.
It will take in path and plugin names for controller, progress checker and goal checker to use and call the appropriate plugins.</p>
It will take in path and plugin names for controller, progress checker and goal checker to use and call the appropriate plugins.
It also hosts the local costmap.</p>
<div class="section" id="parameters">
<h2>Parameters<a class="headerlink" href="#parameters" title="Permalink to this headline"></a></h2>
<dl class="field-list">
Expand Down
2 changes: 1 addition & 1 deletion configuration/packages/configuring-costmaps.html
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,7 @@
<div class="section" id="costmap-2d">
<span id="configuring-cosmaps"></span><h1>Costmap 2D<a class="headerlink" href="#costmap-2d" title="Permalink to this headline"></a></h1>
<p>Source code on <a class="reference external" href="https://github.com/ros-planning/navigation2/tree/main/nav2_costmap_2d">Github</a>.</p>
<p>The Costmap 2D package implements a 2D grid-based costmap for environmental representations and a number of sensor processing plugins.
<p>The Costmap 2D package implements a 2D grid-based costmap for environmental representations and a number of sensor processing plugins (AI outputs, depth sensor obstacle buffering, semantic information, etc).
It is used in the planner and controller servers for creating the space to check for collisions or higher cost areas to negotiate around.</p>
<div class="section" id="costmap2d-ros-parameters">
<h2>Costmap2D ROS Parameters<a class="headerlink" href="#costmap2d-ros-parameters" title="Permalink to this headline"></a></h2>
Expand Down
2 changes: 1 addition & 1 deletion configuration/packages/configuring-dwb-controller.html
Original file line number Diff line number Diff line change
Expand Up @@ -1007,7 +1007,7 @@
<p>Source code on <a class="reference external" href="https://github.com/ros-planning/navigation2/tree/main/nav2_dwb_controller">Github</a>.</p>
<p>The DWB controller is the default controller. It is a fork of <a class="reference external" href="https://github.com/locusrobotics/robot_navigation/tree/master/dwb_local_planner">David Lu’s
controller</a>
modified for ROS 2.</p>
modified for ROS 2 using the Dynamic Window Approach.</p>
<div class="section" id="controller">
<h2>Controller<a class="headerlink" href="#controller" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound">
Expand Down
Loading

0 comments on commit e3f9ec1

Please sign in to comment.