Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions configuration/packages/costmap-plugins/obstacle.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,13 @@ This costmap layer implements a plugin that uses 2D raycasting for 2D lidars, de
Description
Topic of data.

Relative topics will be relative to the node's parent namespace.
For example, if you specify `topic: scan` in the `obstacle_layer` of a `local_costmap` and you launch your bringup with a `tb4` namespace:
* User chosen namespace is `tb4`.
* User chosen topic is `scan`.
* Topic will be remapped to `/tb4/scan` without `local_costmap`.
* Use global topic `/scan` if you do not wish the node namespace to apply.

:``<obstacle layer>``. ``<data source>``.sensor_frame:

====== =======
Expand Down
7 changes: 7 additions & 0 deletions configuration/packages/costmap-plugins/range.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ This costmap layer implements a plugin that processes sonar, IR, or other 1-D se
Description
Range topics to subscribe to.

Relative topics will be relative to the node's parent namespace.
For example, if you specify `topics: [range1, /range2]` in the `range_layer` of a `local_costmap` and you launch your bringup with a `tb4` namespace:
* User chosen namespace is `tb4`.
* User chosen topics are [`range1`, `/range2`].
* Topic will be remapped to `/tb4/range1`, without `local_costmap`, and `/range2`.
* Use global topics such as `/range2` if you do not wish the node namespace to apply.

:``<range layer>``.phi:

====== =======
Expand Down
9 changes: 8 additions & 1 deletion configuration/packages/costmap-plugins/static.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,11 @@ This implements a costmap layer taking in a map from either SLAM or ``map_server
====== =======

Description
Map topic to subscribe to. If left empty the map topic will default to the global `map_topic` parameter in `costmap_2d_ros`.
Map topic to subscribe to. If left empty the map topic will default to the global `map_topic` parameter in `costmap_2d_ros`.

Relative topics will be relative to the node's parent namespace.
For example, if you specify `map_topic: map` in the `static_layer` of a `global_costmap` and you launch your bringup with a `tb4` namespace:
* User chosen namespace is `tb4`.
* User chosen topic is `map`.
* Topic will be remapped to `/tb4/map` without `global_costmap`.
* Use global topic `/map` if you do not wish the node namespace to apply.
7 changes: 7 additions & 0 deletions configuration/packages/costmap-plugins/voxel.rst
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,13 @@ This costmap layer implements a plugin that uses 3D raycasting for depth, 3D, or
Description
Topic of data.

Relative topics will be relative to the node's parent namespace.
For example, if you specify `topic: scan` in the `voxel_layer` of a `local_costmap` and you launch your bringup with a `tb4` namespace:
* User chosen namespace is `tb4`.
* User chosen topic is `scan`.
* Topic will be remapped to `/tb4/scan` without `local_costmap`.
* Use global topic `/scan` if you do not wish the node namespace to apply.

:``<voxel layer>``. ``<data source>``.sensor_frame:

====== =======
Expand Down
21 changes: 20 additions & 1 deletion migration/Jazzy.rst
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,23 @@ In `PR #4752 <https://github.com/ros-navigation/navigation2/pull/4752>`_ an opti

Default value:

- true
- true

Revamped multirobot bringup and config files to use namespaces
**************************************************************

In `PR #4715 <https://github.com/ros-navigation/navigation2/pull/4715>`_ multirobot bringup and the use of namespaces were overhauled to be compatible out of the box with ROS namespaces and remove custom logic, specifically:

* The ``use_namespace`` parameter has been removed from ``nav2_bringup`` launch files. The ``namespace`` parameter will now always be used and default to ``/`` for "global namespace".
* There is now a single rviz config file for both normal and namespaced robots. Topics have been changed to a relative path (i.e. ``/map`` -> ``map``) and the rviz ``namespace`` will be added automatically.
* There is now a single ``nav2_params.yaml`` config file for both single and multirobot bringup. All the topics have been changed to relative (i.e. ``/scan`` -> ``scan``).

Note that some plugins / nodes might have their own local namespace. This is the case for ``CostmapLayer`` which will be in a ``/ns/[layer_name]`` namespace. For these, a new function ``joinWithParentNamespace`` has been added to make sure joining relative paths results in ``/ns/topic_name`` rather than ``/ns/[layer_name]/topic_name``.

If your use case doesn't require multiple robots, keeping absolute paths in your ``nav2_params.yaml`` config file and rviz config file will preserve existing behavior.

For example, if you specify `topic: scan` in the `voxel_layer` of a `local_costmap` and you launch your bringup with a `tb4` namespace:
* User chosen namespace is `tb4`.
* User chosen topic is `scan`.
* Topic will be remapped to `/tb4/scan` without `local_costmap`.
* Use global topic `/scan` if you do not wish the node namespace to apply
Loading