Skip to content

Commit ee760b6

Browse files
Sushant-ChavanAlexeyMerzlyakovajtudelaSteveMacenski
authored
Feature/vector object server (#766)
* Add Vector Object server documentation Signed-off-by: Alberto Tudela <ajtudela@gmail.com> * Minor improvements Signed-off-by: Alberto Tudela <ajtudela@gmail.com> * Fix spelling Signed-off-by: Alberto Tudela <ajtudela@gmail.com> * Cleanup and minor updates Signed-off-by: Sushant Chavan <gitecsvc@gmail.com> * Fix line ending Signed-off-by: Sushant Chavan <gitecsvc@gmail.com> * Apply language fixes from code review Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: Sushant Chavan <gitecsvc@gmail.com> * Add missing language suggestion Signed-off-by: Sushant Chavan <sushant.chavan@idealworks.com> * Fix inconsistency in documentation Signed-off-by: Sushant Chavan <sushant.chavan@idealworks.com> * Update PR reference Signed-off-by: Sushant Chavan <sushant.chavan@idealworks.com> * Move VOS doc under MapServer page Signed-off-by: Sushant Chavan <sushant.chavan@idealworks.com> * Add more understandable examples Signed-off-by: Sushant Chavan <sushant.chavan@idealworks.com> * Update configuration/packages/configuring-map-server.rst Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * Update tutorials/docs/navigation2_with_vector_objects.rst Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * Move vector object server description to kilted page Signed-off-by: Sushant Chavan <sushant.chavan@idealworks.com> * Split the Map Server page into sub-pages Signed-off-by: Sushant Chavan <sushant.chavan@idealworks.com> * Fix pre-commit checks Signed-off-by: Sushant Chavan <sushant.chavan@idealworks.com> --------- Signed-off-by: Alberto Tudela <ajtudela@gmail.com> Signed-off-by: Sushant Chavan <gitecsvc@gmail.com> Signed-off-by: Sushant Chavan <sushant.chavan@idealworks.com> Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Co-authored-by: Alexey Merzlyakov <alexey.merzlyakov@samsung.com> Co-authored-by: Alberto Tudela <ajtudela@gmail.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
1 parent a73d117 commit ee760b6

18 files changed

Lines changed: 794 additions & 208 deletions
Lines changed: 8 additions & 208 deletions
Original file line numberDiff line numberDiff line change
@@ -1,218 +1,18 @@
11
.. _configuring_map_server:
22

3-
Map Server / Saver
3+
Map Server
44
##################
55

66
Source code on Github_.
77

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

10-
The Map Server implements the server for handling the map load requests for the stack and host a map topic.
11-
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.
10+
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:
1211

13-
Map Saver Parameters
14-
********************
12+
.. toctree::
13+
:maxdepth: 1
1514

16-
:save_map_timeout:
17-
18-
============== =======
19-
Type Default
20-
-------------- -------
21-
int 2.0
22-
============== =======
23-
24-
Description
25-
Timeout to attempt saving the map (seconds).
26-
27-
:free_thresh_default:
28-
29-
============== ==============
30-
Type Default
31-
-------------- --------------
32-
double 0.25
33-
============== ==============
34-
35-
Description
36-
Free space maximum probability threshold value for occupancy grid.
37-
38-
:occupied_thresh_default:
39-
40-
============== =============================
41-
Type Default
42-
-------------- -----------------------------
43-
double 0.65
44-
============== =============================
45-
46-
Description
47-
Occupied space minimum probability threshold value for occupancy grid.
48-
49-
:introspection_mode:
50-
51-
============== =============================
52-
Type Default
53-
-------------- -----------------------------
54-
string "disabled"
55-
============== =============================
56-
57-
Description
58-
The introspection mode for services and actions. Options are "disabled", "metadata", "contents".
59-
60-
Map Server Parameters
61-
*********************
62-
63-
:yaml_filename:
64-
65-
============== =============================
66-
Type Default
67-
-------------- -----------------------------
68-
string N/A
69-
============== =============================
70-
71-
Description
72-
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.
73-
74-
:topic_name:
75-
76-
============== =============================
77-
Type Default
78-
-------------- -----------------------------
79-
string "map"
80-
============== =============================
81-
82-
Description
83-
Topic to publish loaded map to.
84-
85-
:frame_id:
86-
87-
============== =============================
88-
Type Default
89-
-------------- -----------------------------
90-
string "map"
91-
============== =============================
92-
93-
Description
94-
Frame to publish loaded map in.
95-
96-
:introspection_mode:
97-
98-
============== =============================
99-
Type Default
100-
-------------- -----------------------------
101-
string "disabled"
102-
============== =============================
103-
104-
Description
105-
The introspection mode for services and actions. Options are "disabled", "metadata", "contents".
106-
107-
Costmap Filter Info Server Parameters
108-
*************************************
109-
110-
:type:
111-
112-
============== =============================
113-
Type Default
114-
-------------- -----------------------------
115-
int 0
116-
============== =============================
117-
118-
Description
119-
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:
120-
121-
- 0: keepout zones / preferred lanes filter
122-
- 1: speed filter, speed limit is specified in % of maximum speed
123-
- 2: speed filter, speed limit is specified in absolute value (m/s)
124-
- 3: binary filter
125-
126-
:filter_info_topic:
127-
128-
============== =============================
129-
Type Default
130-
-------------- -----------------------------
131-
string "costmap_filter_info"
132-
============== =============================
133-
134-
Description
135-
Topic to publish costmap filter information to.
136-
137-
:mask_topic:
138-
139-
============== =============================
140-
Type Default
141-
-------------- -----------------------------
142-
string "filter_mask"
143-
============== =============================
144-
145-
Description
146-
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.
147-
148-
:base:
149-
150-
============== =============================
151-
Type Default
152-
-------------- -----------------------------
153-
double 0.0
154-
============== =============================
155-
156-
Description
157-
Base of ``OccupancyGrid`` mask value -> filter space value linear conversion which is being proceeded as:
158-
``filter_space_value = base + multiplier * mask_value``
159-
160-
:multiplier:
161-
162-
============== =============================
163-
Type Default
164-
-------------- -----------------------------
165-
double 1.0
166-
============== =============================
167-
168-
Description
169-
Multiplier of ``OccupancyGrid`` mask value -> filter space value linear conversion which is being proceeded as:
170-
``filter_space_value = base + multiplier * mask_value``
171-
172-
:bond_heartbeat_period:
173-
174-
============== =============================
175-
Type Default
176-
-------------- -----------------------------
177-
double 0.1
178-
============== =============================
179-
180-
Description
181-
The lifecycle node bond mechanism publishing period (on the /bond topic). Disabled if inferior or equal to 0.0.
182-
183-
:allow_parameter_qos_overrides:
184-
185-
============== =============================
186-
Type Default
187-
-------------- -----------------------------
188-
bool true
189-
============== =============================
190-
191-
Description
192-
Whether to allow QoS profiles to be overwritten with parameterized values.
193-
194-
Example
195-
*******
196-
.. code-block:: yaml
197-
198-
map_server:
199-
ros__parameters:
200-
yaml_filename: "turtlebot3_world.yaml"
201-
topic_name: "map"
202-
frame_id: "map"
203-
introspection_mode: "disabled"
204-
205-
map_saver:
206-
ros__parameters:
207-
save_map_timeout: 5.0
208-
free_thresh_default: 0.25
209-
occupied_thresh_default: 0.65
210-
introspection_mode: "disabled"
211-
212-
costmap_filter_info_server:
213-
ros__parameters:
214-
type: 1
215-
filter_info_topic: "costmap_filter_info"
216-
mask_topic: "filter_mask"
217-
base: 0.0
218-
multiplier: 0.25
15+
map_server/configuring-map-server.rst
16+
map_server/configuring-map-saver.rst
17+
map_server/configuring-costmap-filter-info-server.rst
18+
map_server/configuring-vector-object-server.rst
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
.. _configuring_costmap_filter_info_server:
2+
3+
Costmap Filter Info Server
4+
###########################
5+
6+
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.
7+
8+
Costmap Filter Info Server Parameters
9+
*************************************
10+
11+
:type:
12+
13+
============== =============================
14+
Type Default
15+
-------------- -----------------------------
16+
int 0
17+
============== =============================
18+
19+
Description
20+
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:
21+
22+
- 0: keepout zones / preferred lanes filter
23+
- 1: speed filter, speed limit is specified in % of maximum speed
24+
- 2: speed filter, speed limit is specified in absolute value (m/s)
25+
- 3: binary filter
26+
27+
:filter_info_topic:
28+
29+
============== =============================
30+
Type Default
31+
-------------- -----------------------------
32+
string "costmap_filter_info"
33+
============== =============================
34+
35+
Description
36+
Topic to publish costmap filter information to.
37+
38+
:mask_topic:
39+
40+
============== =============================
41+
Type Default
42+
-------------- -----------------------------
43+
string "filter_mask"
44+
============== =============================
45+
46+
Description
47+
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.
48+
49+
:base:
50+
51+
============== =============================
52+
Type Default
53+
-------------- -----------------------------
54+
double 0.0
55+
============== =============================
56+
57+
Description
58+
Base of ``OccupancyGrid`` mask value -> filter space value linear conversion which is being proceeded as:
59+
``filter_space_value = base + multiplier * mask_value``
60+
61+
:multiplier:
62+
63+
============== =============================
64+
Type Default
65+
-------------- -----------------------------
66+
double 1.0
67+
============== =============================
68+
69+
Description
70+
Multiplier of ``OccupancyGrid`` mask value -> filter space value linear conversion which is being proceeded as:
71+
``filter_space_value = base + multiplier * mask_value``
72+
73+
:bond_heartbeat_period:
74+
75+
============== =============================
76+
Type Default
77+
-------------- -----------------------------
78+
double 0.1
79+
============== =============================
80+
81+
Description
82+
The lifecycle node bond mechanism publishing period (on the /bond topic). Disabled if inferior or equal to 0.0.
83+
84+
:allow_parameter_qos_overrides:
85+
86+
============== =============================
87+
Type Default
88+
-------------- -----------------------------
89+
bool true
90+
============== =============================
91+
92+
Description
93+
Whether to allow QoS profiles to be overwritten with parameterized values.
94+
95+
Example
96+
*******
97+
.. code-block:: yaml
98+
99+
map_server:
100+
ros__parameters:
101+
yaml_filename: "turtlebot3_world.yaml"
102+
topic_name: "map"
103+
frame_id: "map"
104+
introspection_mode: "disabled"
105+
106+
map_saver:
107+
ros__parameters:
108+
save_map_timeout: 5.0
109+
free_thresh_default: 0.25
110+
occupied_thresh_default: 0.65
111+
introspection_mode: "disabled"
112+
113+
costmap_filter_info_server:
114+
ros__parameters:
115+
type: 1
116+
filter_info_topic: "costmap_filter_info"
117+
mask_topic: "filter_mask"
118+
base: 0.0
119+
multiplier: 0.25

0 commit comments

Comments
 (0)