Skip to content

Commit 437df76

Browse files
committed
docs: add description of changes to migration guide
Signed-off-by: AJedancov <andrei.jedancov@gmail.com>
1 parent f1eb642 commit 437df76

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed

migration/Kilted.rst

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,142 @@ Kilted to L-turtle
55

66
Moving from ROS 2 Kilted to L-Turtle, a number of stability improvements were added that we will not specifically address here.
77

8+
Changed parameter naming style
9+
------------------------------
10+
11+
`PR #5793 <https://github.com/ros-navigation/navigation2/pull/5793>`_
12+
updates the naming style for a group of parameters from ``PascalCase`` to ``snake_case``.
13+
The changes concern the names of parameters (IDs) that are associated with plugins and other components,
14+
which are described in the tables below.
15+
16+
Parameter files
17+
^^^^^^^^^^^^^^^
18+
19+
To make it easier to find names that need to be changed, the table below shows the server names,
20+
along with the corresponding parameters associated with updated names, including at least one example of such an updated name.
21+
22+
+----------------------+---------------------------+----------------------------------------------------------+
23+
| Server name | Parameter where IDs | Example |
24+
| | are defined | |
25+
+======================+===========================+==========================================================+
26+
|**Plugin related** |
27+
+----------------------+---------------------------+----------------------------------------------------------+
28+
| controller_server | controller_plugins | `FollowPath` -> `follow_path` |
29+
+----------------------+---------------------------+----------------------------------------------------------+
30+
| controller_server | path_handler_plugins | `PathHandler` -> `path_handler` |
31+
+----------------------+---------------------------+----------------------------------------------------------+
32+
| planner_server | planner_plugins | `GridBased` -> `grid_based` |
33+
+----------------------+---------------------------+----------------------------------------------------------+
34+
| smoother_server | smoother_plugins | `SimpleSmoother` -> `simple_smoother` |
35+
+----------------------+---------------------------+----------------------------------------------------------+
36+
| route_server | operations | `AdjustSpeedLimit` -> `adjust_speed_limit` |
37+
+----------------------+---------------------------+----------------------------------------------------------+
38+
| route_server | edge_cost_functions | `DistanceScorer` -> `distance_scorer` |
39+
+----------------------+---------------------------+----------------------------------------------------------+
40+
| route_server | graph_file_loader | `GeoJsonGraphFileLoader` -> `geo_json_graph_file_loader` |
41+
+----------------------+---------------------------+----------------------------------------------------------+
42+
|**Non-plugin related** |
43+
+----------------------+---------------------------+----------------------------------------------------------+
44+
| collision_monitor | polygons | `FootprintApproach` -> `footprint_approach` |
45+
+----------------------+---------------------------+----------------------------------------------------------+
46+
| collision_detector | polygons | `PolygonFront` -> `polygon_front` |
47+
+----------------------+---------------------------+----------------------------------------------------------+
48+
| vector_object_server | shapes | `Circle` -> `circle` |
49+
+----------------------+---------------------------+----------------------------------------------------------+
50+
51+
Examples from updated YAML configuration files:
52+
53+
.. code-block:: yaml
54+
55+
controller_server:
56+
ros__parameters:
57+
controller_plugins: ["follow_path"]
58+
follow_path:
59+
plugin: "nav2_mppi_controller::MPPIController"
60+
61+
.. code-block:: yaml
62+
63+
collision_monitor:
64+
ros__parameters:
65+
polygons: ["footprint_approach"]
66+
footprint_approach:
67+
type: "polygon"
68+
69+
An example of a complete configuration can be found in
70+
`nav2_params.yaml <https://github.com/ros-navigation/navigation2/blob/main/nav2_bringup/params/nav2_params.yaml>`_ file.
71+
72+
BT configuration
73+
^^^^^^^^^^^^^^^^
74+
75+
The behavior tree XML configuration files may require updating the following names related to input ports used in BT Action Nodes:
76+
77+
+-------------------------+--------------------------+----------------------------------------+
78+
| BT Action Node ID | Input port | Example |
79+
+=========================+==========================+========================================+
80+
| FollowPath | controller_id | `FollowPath` -> `follow_path` |
81+
+-------------------------+--------------------------+----------------------------------------+
82+
| FollowPath | path_handler_id | `PathHandler` -> `path_handler` |
83+
+-------------------------+--------------------------+----------------------------------------+
84+
| FollowPath | goal_checker_id | `GoalChecker` -> `goal_checker` |
85+
+-------------------------+--------------------------+----------------------------------------+
86+
| FollowPath | progress_checker_id | `ProgressChecker` -> `progress_checker`|
87+
+-------------------------+--------------------------+----------------------------------------+
88+
| ComputePathToPose | planner_id | `GridBased` -> `grid_based` |
89+
+-------------------------+--------------------------+----------------------------------------+
90+
| ComputePathThroughPoses | planner_id | `GridBased` -> `grid_based` |
91+
+-------------------------+--------------------------+----------------------------------------+
92+
| SmoothPath | smoother_id | `RouteSmoother` -> `route_smoother` |
93+
+-------------------------+--------------------------+----------------------------------------+
94+
| ControllerSelector | default_controller | `FollowPath` -> `follow_path` |
95+
+-------------------------+--------------------------+----------------------------------------+
96+
| GoalCheckerSelector | default_goal_checker | `GoalChecker` -> `goal_checker` |
97+
+-------------------------+--------------------------+----------------------------------------+
98+
| ProgressCheckerSelector | default_progress_checker | `ProgressChecker` -> `progress_checker`|
99+
+-------------------------+--------------------------+----------------------------------------+
100+
| PlannerSelector | planner_id | `GridBased` -> `grid_based` |
101+
+-------------------------+--------------------------+----------------------------------------+
102+
| PathHandlerSelector | default_path_handler | `PathHandler` -> `path_handler` |
103+
+-------------------------+--------------------------+----------------------------------------+
104+
| SmootherSelector | default_smoother | `SimpleSmoother` -> `simple_smoother` |
105+
+-------------------------+--------------------------+----------------------------------------+
106+
107+
An example for updated XML configuration file:
108+
109+
.. code-block:: xml
110+
111+
...
112+
<ControllerSelector selected_controller="{selected_controller}" default_controller="follow_path" topic_name="controller_selector"/>
113+
<PlannerSelector selected_planner="{selected_planner}" default_planner="grid_based" topic_name="planner_selector"/>
114+
...
115+
116+
The full configuration can be found in
117+
`navigate_to_pose_w_replanning_and_recovery.xml
118+
<https://github.com/ros-navigation/navigation2/blob/main/nav2_bt_navigator/behavior_trees/navigate_to_pose_w_replanning_and_recovery.xml>`_
119+
(default behavior tree).
120+
121+
Additionally, some BT Action Nodes have new default values in the `nav2_tree_nodes.xml
122+
<https://github.com/ros-navigation/navigation2/blob/main/nav2_behavior_tree/nav2_tree_nodes.xml>`_ file used for Groot:
123+
124+
+------------+--------------------+
125+
| Action ID | Default input port |
126+
+============+====================+
127+
| SmoothPath | smooth_path |
128+
+------------+--------------------+
129+
| FollowPath | follow_path |
130+
+------------+--------------------+
131+
132+
.. code-block:: xml
133+
134+
<Action ID="SmoothPath">
135+
<input_port name="smoother_id" default="smooth_path"/>
136+
...
137+
</Action>
138+
139+
<Action ID="FollowPath">
140+
<input_port name="controller_id" default="follow_path"/>
141+
...
142+
</Action>
143+
8144
New Nav2 ROS Common & Nav2 Lifecycle Node
9145
-----------------------------------------
10146

0 commit comments

Comments
 (0)