Skip to content

Commit a4a96e7

Browse files
authored
Move goal/progress plugins from DWB to nav2_controller (openelections#43)
* Move goal/progress plugins from DWB to nav2_controller Updates to migration and configuration guides to reflect the changes in plugins Signed-off-by: Siddarth Gore <[email protected]> * controller plugins change subtopic Signed-off-by: Siddarth Gore <[email protected]>
1 parent 063581e commit a4a96e7

File tree

6 files changed

+133
-43
lines changed

6 files changed

+133
-43
lines changed

configuration/packages/configuring-controller-server.rst

Lines changed: 84 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Source code on Github_.
88
.. _Github: https://github.com/ros-planning/navigation2/tree/master/nav2_controller
99

1010
The Controller Server implements the server for handling the controller requests for the stack and host a map of plugin implementations.
11-
It will take in a path and a controller plugin name to use and call the appropriate plugin.
11+
It will take in path and plugin names for controller, progress checker and goal checker to use and call the appropriate plugins.
1212

1313
Parameters
1414
**********
@@ -49,6 +49,55 @@ Parameters
4949
plugin: "dwb_core::DWBLocalPlanner"
5050
..
5151
52+
:progress_checker_plugin:
53+
54+
============== ==============
55+
Type Default
56+
-------------- --------------
57+
string 'progress_checker'
58+
============== ==============
59+
60+
Description
61+
Mapped name for progress checker plugin for checking progress made by robot.
62+
63+
Note
64+
The plugin namespace defined needs to have a :code:`plugin` parameter defining the type of plugin to be loaded in the namespace.
65+
66+
Example:
67+
68+
.. code-block:: yaml
69+
70+
controller_server:
71+
ros__parameters:
72+
progress_checker_plugin: "progress_checker"
73+
progress_checker:
74+
plugin: "nav2_controller::SimpleProgressChecker"
75+
..
76+
77+
:goal_checker_plugin:
78+
79+
============== ==============
80+
Type Default
81+
-------------- --------------
82+
string 'goal_checker'
83+
============== ==============
84+
85+
Description
86+
Mapped name for goal checker plugin for checking goal is reached.
87+
88+
Note
89+
The plugin namespace defined needs to have a :code:`plugin` parameter defining the type of plugin to be loaded in the namespace.
90+
91+
Example:
92+
93+
.. code-block:: yaml
94+
95+
controller_server:
96+
ros__parameters:
97+
goal_checker_plugin: "goal_checker"
98+
goal_checker:
99+
plugin: "nav2_controller::SimpleGoalChecker"
100+
52101
:min_x_velocity_threshold:
53102

54103
============== =============================
@@ -82,51 +131,54 @@ Parameters
82131
Description
83132
Minimum angular velocity to use (rad/s).
84133

85-
:required_movement_radius:
86-
87-
============== =============================
88-
Type Default
89-
-------------- -----------------------------
90-
double 0.5
91-
============== =============================
92-
93-
Description
94-
Minimum amount a robot must move to be progressing to goal (m).
134+
Provided Plugins
135+
****************
136+
The plugins listed below are inside the ``nav2_controller`` namespace.
95137

96-
:movement_time_allowance:
138+
.. toctree::
139+
:maxdepth: 1
97140

98-
============== =============================
99-
Type Default
100-
-------------- -----------------------------
101-
double 10.0
102-
============== =============================
103-
104-
Description
105-
Maximum amount of time a robot has to move the minimum radius (s).
141+
nav2_controller-plugins/simple_progress_checker.rst
142+
nav2_controller-plugins/simple_goal_checker.rst
143+
nav2_controller-plugins/stopped_goal_checker.rst
106144

107145
Default Plugins
108146
***************
109147

110-
When the :code:`controller_plugins` parameter is not overridden, the following default plugins are loaded:
148+
When the :code:`progress_checker_plugin`, :code:`goal_checker_plugin` or :code:`controller_plugins` parameters are not overridden, the following default plugins are loaded:
111149

112-
================= =====================================================
113-
Namespace Plugin
114-
----------------- -----------------------------------------------------
115-
"FollowPath" "dwb_core::DWBLocalPlanner"
116-
================= =====================================================
150+
================== =====================================================
151+
Namespace Plugin
152+
------------------ -----------------------------------------------------
153+
"progress_checker" "nav2_controller::SimpleProgressChecker"
154+
------------------ -----------------------------------------------------
155+
"goal_checker" "nav2_controller::SimpleGoalChecker"
156+
------------------ -----------------------------------------------------
157+
"FollowPath" "dwb_core::DWBLocalPlanner"
158+
================== =====================================================
117159

118160
Example
119161
*******
120162
.. code-block:: yaml
121163
122164
controller_server:
123165
ros__parameters:
166+
use_sim_time: True
124167
controller_frequency: 20.0
125-
min_x_velocity_threshold: 0.01
126-
min_y_velocity_threshold: 0.0
127-
min_theta_velocity_threshold: 0.1
128-
required_movement_radius: 0.5
129-
movement_time_allowance: 5.0
130-
controller_plugins: ['FollowPath']
168+
min_x_velocity_threshold: 0.001
169+
min_y_velocity_threshold: 0.5
170+
min_theta_velocity_threshold: 0.001
171+
progress_checker_plugin: "progress_checker"
172+
goal_checker_plugin: "goal_checker"
173+
controller_plugins: ["FollowPath"]
174+
progress_checker:
175+
plugin: "nav2_controller::SimpleProgressChecker"
176+
required_movement_radius: 0.5
177+
movement_time_allowance: 10.0
178+
goal_checker:
179+
plugin: "nav2_controller::SimpleGoalChecker"
180+
xy_goal_tolerance: 0.25
181+
yaw_goal_tolerance: 0.25
182+
stateful: True
131183
FollowPath:
132184
plugin: "dwb_core::DWBLocalPlanner"

configuration/packages/configuring-dwb-controller.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ The plugins listed below are inside the ``dwb_plugins`` namespace.
3030
:maxdepth: 1
3131

3232
dwb-plugins/limited_accel_generator.rst
33-
dwb-plugins/simple_goal_checker.rst
3433
dwb-plugins/standard_traj_generator.rst
35-
dwb-plugins/stopped_goal_checker.rst
3634

3735

3836
Trajectory Critics

configuration/packages/dwb-plugins/simple_goal_checker.rst renamed to configuration/packages/nav2_controller-plugins/simple_goal_checker.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. _configuring_dwb_simple_goal_checker_plugin:
1+
.. _configuring_nav2_controller_simple_goal_checker_plugin:
22

33
SimpleGoalChecker
44
=================
@@ -8,9 +8,9 @@ Checks whether the robot has reached the goal pose.
88
Parameters
99
**********
1010

11-
``<dwb plugin>``: DWB plugin name defined in the **controller_plugin_ids** parameter in :ref:`configuring_controller_server`.
11+
``<nav2_controller plugin>``: nav2_controller plugin name defined in the **goal_checker_plugin_id** parameter in :ref:`configuring_controller_server`.
1212

13-
:``<dwb plugin>``.xy_goal_tolerance:
13+
:``<nav2_controller plugin>``.xy_goal_tolerance:
1414

1515
====== =======
1616
Type Default
@@ -21,7 +21,7 @@ Parameters
2121
Description
2222
Tolerance to meet goal completion criteria (m).
2323

24-
:``<dwb plugin>``.yaw_goal_tolerance:
24+
:``<nav2_controller plugin>``.yaw_goal_tolerance:
2525

2626
====== =======
2727
Type Default
@@ -32,7 +32,7 @@ Parameters
3232
Description
3333
Tolerance to meet goal completion criteria (rad).
3434

35-
:``<dwb plugin>``.stateful:
35+
:``<nav2_controller plugin>``.stateful:
3636

3737
==== =======
3838
Type Default
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
.. _configuring_nav2_controller_simple_progress_checker_plugin:
2+
3+
SimpleProgressChecker
4+
=====================
5+
6+
Checks whether the robot has made progress.
7+
8+
Parameters
9+
**********
10+
11+
``<nav2_controller plugin>``: nav2_controller plugin name defined in the **progress_checker_plugin_id** parameter in :ref:`configuring_controller_server`.
12+
13+
:``<nav2_controller plugin>``.required_movement_radius:
14+
15+
============== =============================
16+
Type Default
17+
-------------- -----------------------------
18+
double 0.5
19+
============== =============================
20+
21+
Description
22+
Minimum amount a robot must move to be progressing to goal (m).
23+
24+
:``<nav2_controller plugin>``.movement_time_allowance:
25+
26+
============== =============================
27+
Type Default
28+
-------------- -----------------------------
29+
double 10.0
30+
============== =============================
31+
32+
Description
33+
Maximum amount of time a robot has to move the minimum radius (s).
34+

configuration/packages/dwb-plugins/stopped_goal_checker.rst renamed to configuration/packages/nav2_controller-plugins/stopped_goal_checker.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. _configuring_dwb_stopped_goal_checker_plugin:
1+
.. _configuring_nav2_controller_stopped_goal_checker_plugin:
22

33
StoppedGoalChecker
44
==================
@@ -8,9 +8,9 @@ Checks whether the robot has reached the goal pose and come to a stop.
88
Parameters
99
**********
1010

11-
``<dwb plugin>``: DWB plugin name defined in the **controller_plugin_ids** parameter in :ref:`configuring_controller_server`.
11+
``<nav2_controller plugin>``: nav2_controller plugin name defined in the **goal_checker_plugin_id** parameter in :ref:`configuring_controller_server`.
1212

13-
:``<dwb plugin>``.trans_stopped_velocity:
13+
:``<nav2_controller plugin>``.trans_stopped_velocity:
1414

1515
====== =======
1616
Type Default
@@ -21,7 +21,7 @@ Parameters
2121
Description
2222
Velocity below is considered to be stopped at tolerance met (m/s).
2323

24-
:``<dwb plugin>``.rot_stopped_velocity:
24+
:``<nav2_controller plugin>``.rot_stopped_velocity:
2525

2626
====== =======
2727
Type Default

migration/Eloquent.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ Each server defines a parameter where the list of names for the plugins to be lo
3030
+-----------------------+------------------------+
3131
| Server Name | Plugin Parameter |
3232
+=======================+========================+
33+
| Controller Server | progress_checker_plugin|
34+
+-----------------------+------------------------+
35+
| Controller Server | goal_checker_plugin |
36+
+-----------------------+------------------------+
3337
| Controller Server | controller_plugins |
3438
+-----------------------+------------------------+
3539
| Planner Server | planner_plugins |
@@ -83,6 +87,8 @@ Original GitHub tickets:
8387
- `GoalUpdatedCondition <https://github.com/ros-planning/navigation2/pull/1712>`_
8488
- `DistanceTraveledCondition <https://github.com/ros-planning/navigation2/pull/1705>`_
8589
- `TimeExpiredCondition <https://github.com/ros-planning/navigation2/pull/1705>`_
90+
- `ProgressChecker <https://github.com/ros-planning/navigation2/pull/1857>`_
91+
- `GoalChecker <https://github.com/ros-planning/navigation2/pull/1857>`_
8692

8793
Map Server Re-Work
8894
******************

0 commit comments

Comments
 (0)