Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
216 changes: 8 additions & 208 deletions configuration/packages/configuring-map-server.rst
Original file line number Diff line number Diff line change
@@ -1,218 +1,18 @@
.. _configuring_map_server:

Map Server / Saver
Map Server
##################

Source code on Github_.

.. _Github: https://github.com/ros-navigation/navigation2/tree/main/nav2_map_server

The Map Server implements the server for handling the map load requests for the stack and host a map topic.
It also implements a map saver server which will run in the background and save maps based on service requests. There exists a map saver CLI similar to ROS 1 as well for a single map save.
The Map server package implements various components for handling grid maps, including loading, saving, and publishing maps and their metadata. Currently the following components are supported in Nav2:

Map Saver Parameters
********************
.. toctree::
:maxdepth: 1

:save_map_timeout:

============== =======
Type Default
-------------- -------
int 2.0
============== =======

Description
Timeout to attempt saving the map (seconds).

:free_thresh_default:

============== ==============
Type Default
-------------- --------------
double 0.25
============== ==============

Description
Free space maximum probability threshold value for occupancy grid.

:occupied_thresh_default:

============== =============================
Type Default
-------------- -----------------------------
double 0.65
============== =============================

Description
Occupied space minimum probability threshold value for occupancy grid.

:introspection_mode:

============== =============================
Type Default
-------------- -----------------------------
string "disabled"
============== =============================

Description
The introspection mode for services and actions. Options are "disabled", "metadata", "contents".

Map Server Parameters
*********************

:yaml_filename:

============== =============================
Type Default
-------------- -----------------------------
string N/A
============== =============================

Description
Path to map yaml file. Note from Rolling + Iron-Turtle forward: This parameter can set either from the yaml file or using the launch configuration parameter ``map``. If we set it on launch commandline / launch configuration default, we override the yaml default. If you would like the specify your map file in yaml, remove the launch default so it is not overridden in Nav2's default launch files. Before Iron: ``yaml_filename`` must be set in the yaml (even if a bogus value) so that our launch scripts can overwrite it with launch values.

:topic_name:

============== =============================
Type Default
-------------- -----------------------------
string "map"
============== =============================

Description
Topic to publish loaded map to.

:frame_id:

============== =============================
Type Default
-------------- -----------------------------
string "map"
============== =============================

Description
Frame to publish loaded map in.

:introspection_mode:

============== =============================
Type Default
-------------- -----------------------------
string "disabled"
============== =============================

Description
The introspection mode for services and actions. Options are "disabled", "metadata", "contents".

Costmap Filter Info Server Parameters
*************************************

:type:

============== =============================
Type Default
-------------- -----------------------------
int 0
============== =============================

Description
Type of costmap filter used. This is an enum for the type of filter this should be interpreted as. We provide the following pre-defined types:

- 0: keepout zones / preferred lanes filter
- 1: speed filter, speed limit is specified in % of maximum speed
- 2: speed filter, speed limit is specified in absolute value (m/s)
- 3: binary filter

:filter_info_topic:

============== =============================
Type Default
-------------- -----------------------------
string "costmap_filter_info"
============== =============================

Description
Topic to publish costmap filter information to.

:mask_topic:

============== =============================
Type Default
-------------- -----------------------------
string "filter_mask"
============== =============================

Description
Topic to publish filter mask to. The value of this parameter should be in accordance with ``topic_name`` parameter of Map Server tuned to filter mask publishing.

:base:

============== =============================
Type Default
-------------- -----------------------------
double 0.0
============== =============================

Description
Base of ``OccupancyGrid`` mask value -> filter space value linear conversion which is being proceeded as:
``filter_space_value = base + multiplier * mask_value``

:multiplier:

============== =============================
Type Default
-------------- -----------------------------
double 1.0
============== =============================

Description
Multiplier of ``OccupancyGrid`` mask value -> filter space value linear conversion which is being proceeded as:
``filter_space_value = base + multiplier * mask_value``

:bond_heartbeat_period:

============== =============================
Type Default
-------------- -----------------------------
double 0.1
============== =============================

Description
The lifecycle node bond mechanism publishing period (on the /bond topic). Disabled if inferior or equal to 0.0.

:allow_parameter_qos_overrides:

============== =============================
Type Default
-------------- -----------------------------
bool true
============== =============================

Description
Whether to allow QoS profiles to be overwritten with parameterized values.

Example
*******
.. code-block:: yaml

map_server:
ros__parameters:
yaml_filename: "turtlebot3_world.yaml"
topic_name: "map"
frame_id: "map"
introspection_mode: "disabled"

map_saver:
ros__parameters:
save_map_timeout: 5.0
free_thresh_default: 0.25
occupied_thresh_default: 0.65
introspection_mode: "disabled"

costmap_filter_info_server:
ros__parameters:
type: 1
filter_info_topic: "costmap_filter_info"
mask_topic: "filter_mask"
base: 0.0
multiplier: 0.25
map_server/configuring-map-server.rst
map_server/configuring-map-saver.rst
map_server/configuring-costmap-filter-info-server.rst
map_server/configuring-vector-object-server.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
.. _configuring_costmap_filter_info_server:

Costmap Filter Info Server
###########################

The costmap filter info server is responsible for providing information about the :ref:`Costmap Filters <costmap_filters>` being used in the navigation stack. It publishes costmap filter mask specific metadata on a configured topic. This metadata is used by other components in the system to interpret the values in the costmap filter masks.

Costmap Filter Info Server Parameters
*************************************

:type:

============== =============================
Type Default
-------------- -----------------------------
int 0
============== =============================

Description
Type of costmap filter used. This is an enum for the type of filter this should be interpreted as. We provide the following pre-defined types:

- 0: keepout zones / preferred lanes filter
- 1: speed filter, speed limit is specified in % of maximum speed
- 2: speed filter, speed limit is specified in absolute value (m/s)
- 3: binary filter

:filter_info_topic:

============== =============================
Type Default
-------------- -----------------------------
string "costmap_filter_info"
============== =============================

Description
Topic to publish costmap filter information to.

:mask_topic:

============== =============================
Type Default
-------------- -----------------------------
string "filter_mask"
============== =============================

Description
Topic to publish filter mask to. The value of this parameter should be in accordance with ``topic_name`` parameter of Map Server tuned to filter mask publishing.

:base:

============== =============================
Type Default
-------------- -----------------------------
double 0.0
============== =============================

Description
Base of ``OccupancyGrid`` mask value -> filter space value linear conversion which is being proceeded as:
``filter_space_value = base + multiplier * mask_value``

:multiplier:

============== =============================
Type Default
-------------- -----------------------------
double 1.0
============== =============================

Description
Multiplier of ``OccupancyGrid`` mask value -> filter space value linear conversion which is being proceeded as:
``filter_space_value = base + multiplier * mask_value``

:bond_heartbeat_period:

============== =============================
Type Default
-------------- -----------------------------
double 0.1
============== =============================

Description
The lifecycle node bond mechanism publishing period (on the /bond topic). Disabled if inferior or equal to 0.0.

:allow_parameter_qos_overrides:

============== =============================
Type Default
-------------- -----------------------------
bool true
============== =============================

Description
Whether to allow QoS profiles to be overwritten with parameterized values.

Example
*******
.. code-block:: yaml

map_server:
ros__parameters:
yaml_filename: "turtlebot3_world.yaml"
topic_name: "map"
frame_id: "map"
introspection_mode: "disabled"

map_saver:
ros__parameters:
save_map_timeout: 5.0
free_thresh_default: 0.25
occupied_thresh_default: 0.65
introspection_mode: "disabled"

costmap_filter_info_server:
ros__parameters:
type: 1
filter_info_topic: "costmap_filter_info"
mask_topic: "filter_mask"
base: 0.0
multiplier: 0.25
Loading