You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: configuration/packages/configuring-bt-navigator.rst
+55-44Lines changed: 55 additions & 44 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -180,50 +180,6 @@ Parameters
180
180
Description
181
181
Topic on which odometry is published
182
182
183
-
:goal_blackboard_id:
184
-
185
-
====== =======
186
-
Type Default
187
-
------ -------
188
-
string "goal"
189
-
====== =======
190
-
191
-
Description
192
-
Blackboard variable to use to supply the goal to the behavior tree for ``NavigateToPose``. Should match ports of BT XML file.
193
-
194
-
:path_blackboard_id:
195
-
196
-
====== =======
197
-
Type Default
198
-
------ -------
199
-
string "path"
200
-
====== =======
201
-
202
-
Description
203
-
Blackboard variable to get the path from the behavior tree for ``NavigateThroughPoses`` feedback. Should match port names of BT XML file.
204
-
205
-
:goals_blackboard_id:
206
-
207
-
====== =======
208
-
Type Default
209
-
------ -------
210
-
string "goals"
211
-
====== =======
212
-
213
-
Description
214
-
Blackboard variable to use to supply the goals to the behavior tree for ``NavigateThroughPoses``. Should match ports of BT XML file.
215
-
216
-
:waypoint_statuses_blackboard_id:
217
-
218
-
====== ===================
219
-
Type Default
220
-
------ -------------------
221
-
string "waypoint_statuses"
222
-
====== ===================
223
-
224
-
Description
225
-
Blackboard variable to get the statuses of waypoints from the behavior tree for ``NavigateThroughPoses`` feedback/result. Should match ports of BT XML file.
226
-
227
183
:error_code_name_prefixes:
228
184
229
185
============== ===========================
@@ -284,6 +240,28 @@ Parameters
284
240
NavigateToPose Parameters
285
241
*************************
286
242
243
+
:``<navigate_to_pose_name>``.goal_blackboard_id:
244
+
245
+
====== =======
246
+
Type Default
247
+
------ -------
248
+
string "goal"
249
+
====== =======
250
+
251
+
Description
252
+
Blackboard variable to use to supply the goal to the behavior tree for ``NavigateToPose``. Should match ports of BT XML file.
253
+
254
+
:``<navigate_to_pose_name>``.path_blackboard_id:
255
+
256
+
====== =======
257
+
Type Default
258
+
------ -------
259
+
string "path"
260
+
====== =======
261
+
262
+
Description
263
+
Blackboard variable to get the path from the behavior tree for ``NavigateToPose`` feedback. Should match port names of BT XML file.
Blackboard variable to get the statuses of waypoints from the behavior tree for ``NavigateThroughPoses`` feedback/result. Should match ports of BT XML file.
This is the instructions for updating a Nav2 version in a ROS distribution sync.
7
+
We do this by bulk cherry picking commits from the ``main`` branch after they've had time to soak and apply them to the branch we looking to sync with the newest features.
8
+
9
+
0. Initial Setup
10
+
----------------
11
+
12
+
First we need to create a temporary workspace to perform the sync.
13
+
Typically, this is done in the ``/tmp`` directory so that it is cleaned up after a reboot.
Then, we want to get a list of all of the commits we may be interested in backporting.
24
+
This can be found either in the git logs of the ``main`` branch or using the GitHub UX at https://github.com/ros-navigation/navigation2/commits/ and select the branch you are interested in.
25
+
If using GitHub, open two tabs - one for ``main`` and one for ``<distro>``.
26
+
27
+
Finally, we need to identify the date of the last sync.
28
+
This can be found looking in the commit messages for ``<distro>``'s branch or by looking at the release page for Nav2 and finding the date of the last release for that distribution.
29
+
Scroll back in the ``main`` and ``<distro>`` git logs to find the last sync commit to begin.
30
+
31
+
Once you have a local clone, the git logs, and the date of the last sync, we can begin the process.
32
+
33
+
1. Backporting Process
34
+
----------------------
35
+
36
+
Starting with the first commit in ``main`` after the last sync date, we will look at each commit individually.
37
+
Each commit should be evaluated for the following criteria:
- Cannot change message, action, or service definitions
42
+
- Cannot include risky changes that need more time to soak, such as for complete package rewrites or experimental features
43
+
44
+
If it does not do any of the above, it is a candidate for backporting.
45
+
It can be backported via the following command in your local branch:
46
+
47
+
.. code-block:: bash
48
+
49
+
git cherry-pick <commit_hash>
50
+
51
+
52
+
If this merges without issue, you may proceed.
53
+
If not, we either must resolve the conflicts or roll back the commit.
54
+
We may need to roll it back if the merge conflict is too complex or it relies on a cascading chain of other commits that could not be included due to their dependency on commits that were unable to be backported.
55
+
56
+
.. note::
57
+
58
+
Some commits may already have been backported by Mergify.
59
+
Use the git logs for the ``<distro>`` branch to check if the commit has already been backported.
60
+
If it has been, it can be skipped.
61
+
62
+
Once all commits to the present are evaluated, we can proceed to the next step.
63
+
64
+
2. Testing
65
+
----------
66
+
67
+
Before we can merge our changes, we need to ensure that everything is working correctly.
68
+
This involves compiling the code, running any unit tests, and performing functional testing.
69
+
Navigate back to the root of the workspace and build the code:
70
+
71
+
.. code-block:: bash
72
+
73
+
cd ../../
74
+
colcon build
75
+
source install/setup.bash
76
+
77
+
After building, we can run the tests:
78
+
79
+
.. code-block:: bash
80
+
81
+
colcon test
82
+
83
+
84
+
If all tests pass, we can launch the Nav2 bringup demos and navigate the TB3 and TB4 robots in both Gazebo and the loopback simulator for 10-15 minutes to validate functional stability of the backport.
85
+
86
+
3. Open a PR
87
+
------------
88
+
89
+
Once we have validated the changes, we can open a pull request (PR) against the ``<distro>`` branch.
90
+
Increment the package.xml versions for all packages using search and replace to increment one minor version (i.e. 1.1.X).
91
+
Open a PR with the title ``<Branch> Sync: <Date>`` and include a description of the changes made.
92
+
Let CI run and merge once passes for a second independent validation of compilation and testing.
93
+
94
+
4. Bloom Release
95
+
----------------
96
+
97
+
Once the PR is merged, we can release the changes to the distribution.
98
+
Create a release of the same version as the ``package.xml`` files targeting the ``<distro>`` branch.
99
+
Then, follow `Steve's Bloom Release Guide <https://gist.github.com/SteveMacenski/1c321d1c9edca096ae4d763d8327c2ee>`_ to perform the bloom release.
Copy file name to clipboardExpand all lines: migration/Kilted.rst
+74-5Lines changed: 74 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -197,13 +197,13 @@ Now, it supports future extensions for lifecycle subscriptions or additional wra
197
197
Additionally, it supports QoS override using the parameter ``allow_parameter_qos_overrides``.
198
198
199
199
Removed Parameter action_server_result_timeout
200
-
**********************************************
200
+
----------------------------------------------
201
201
202
202
Removed the parameter ``action_server_result_timeout`` from all action servers after resolution within ``rcl`` and ``rclcpp`` to address early goal removal.
203
203
This is not longer required to be set.
204
204
205
205
Added Corner Smoothing functionality to route_server
In `PR #5226 <https://github.com/ros-navigation/navigation2/pull/5226>`_ the ability to stitch two successive edges in ``route_server`` with a smooth circular arc has been added. Below is an example of two successive edges forming a corner being smoothed with a radius of one. The red lines are the edges of the route graph and the green line is the resultant path that can be used by a local planner.
209
209
@@ -212,22 +212,22 @@ In `PR #5226 <https://github.com/ros-navigation/navigation2/pull/5226>`_ the abi
212
212
New parameters include ``smooth_corners`` which enable or disable corner smoothing and ``smoothing_radius`` which specifies the radius of the corner to fit to a corner. The tangents of the starting and ending points of the circular arc will match the tangent of the edges that form the corner. In the event that two edges are basically straight, no corner arc is added and regular linear interpolation is done. In addition to that, if the corner arc requires a starting point and ending point that's longer than the edge lengths, then it will not add a corner arc.
213
213
214
214
Added NonblockingSequence Control Node
215
-
**************************************
215
+
--------------------------------------
216
216
217
217
In `PR #5325 <https://github.com/ros-navigation/navigation2/pull/5325>`_ a new Nav2 specific behavior tree control node has been added. The new behavior tree control node, ``NonblockingSequence``, allows every child node in the sequence to be ticked through even if one of the child node returns ``RUNNING``. This is done to prevent long running child nodes from blocking the sequence.
218
218
219
219
For additional details regarding the ``NonblockingSequence`` please see the `Nav2 specific node walkthrough <../behavior_trees/overview/nav2_specific_nodes.html>`_ and `NonblockingSequence configuration guide <../configuration/packages/bt-plugins/controls/NonblockingSequence.html>`_.
220
220
221
221
MPPI Optimal Trajectory Validator Plugin
222
-
****************************************
222
+
----------------------------------------
223
223
224
224
The MPPI controller now has a plugin, ``OptimalTrajectoryValidator``, which can be used to validate an output trajectory for execution.
225
225
This can be used to check for collisions, margin from obstacles, distance from a path, progress being made, etc.
226
226
By default, it uses the ``DefaultOptimalTrajectoryValidator`` which checks for collisions.
227
227
Note that kinematic and dynamic constraints are not required to be checked as the Optimizer ensures these constraints are met.
228
228
229
229
Added PersistentSequence and PauseResumeController Control Nodes
0 commit comments