Skip to content

Commit 73fb3aa

Browse files
authored
Rename BT nodes and move parameter filter duration (#652)
* Update docs - Fixed typos in documentation - Updated outdated links in docs - Renamed Behavior Tree (BT) nodes for consistency - Moved parameter filter duration from speed controller to BT Navigator Signed-off-by: Maurice-1235 <[email protected]> * Fix to match rst style Signed-off-by: Maurice-1235 <[email protected]> * Add GoalUpdatedController node Signed-off-by: Maurice-1235 <[email protected]> * Add link for the node Signed-off-by: Maurice-1235 <[email protected]> * Add author name and example ports Signed-off-by: Maurice-1235 <[email protected]> --------- Signed-off-by: Maurice-1235 <[email protected]>
1 parent cf89f6e commit 73fb3aa

File tree

16 files changed

+78
-32
lines changed

16 files changed

+78
-32
lines changed

behavior_trees/overview/nav2_specific_nodes.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. _nav2_specifc_nodes:
1+
.. _nav2_specific_nodes:
22

33
Introduction To Nav2 Specific Nodes
44
===================================
@@ -33,7 +33,7 @@ Condition Nodes
3333

3434
* GoalReached - Checks if the goal has been reached
3535

36-
* InitialPoseReceived - Checks to see if a pose on the ``intial_pose`` topic has been received
36+
* InitialPoseReceived - Checks to see if a pose on the ``initial_pose`` topic has been received
3737

3838
* isBatteryLow - Checks to see if the battery is low by listening on the battery topic
3939

behavior_trees/trees/nav_to_pose_and_pause_near_goal_obstacle.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ If there is no significantly longer path, the monitor node goes into the ``Follo
1616
.. image:: ../images/walkthrough/patience_and_recovery.png
1717

1818
Once there is a significantly longer path, the child node for the ``PathLongerOnApproach`` node ticks.
19-
The child node is a ``RetryUntilSuccesful`` decorator node, which inturns have a ``SequenceWithMemory`` node as its child.
19+
The child node is a ``RetryUntilSuccessful`` decorator node, which inturns have a ``SequenceWithMemory`` node as its child.
2020
Firstly, the ``SequenceWithMemory`` node cancels the controller server by ticking the ``CancelControl`` node. The cancellation of the controller server halts the further navigation of the robot.
2121
Next, the ``SequenceWithMemory`` node ticks the ``Wait`` node, which enables the robot to wait for the given user-specified time.
2222
Here we need to note that, the ``MonitorAndFollowPath`` is a ``ReactiveSequence`` node, therefore the ``PathLongerOnApproach`` node needs to return SUCCESS, before the ``FollowPath`` node can be ticked once again.

configuration/packages/bt-plugins/actions/ProgressCheckerSelector.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
ProgressCheckerSelector
44
=======================
55

6-
It is used to select the ProgressChecker that will be used by the progress_checker server. It subscribes to the ``progress_checker_selector`` topic to receive command messages with the name of the ProgressChecker to be used. It is commonly used before of the FollowPathAction. The ``selected_progess_checker`` output port is passed to ``progress_checker_id`` input port of the FollowPathAction. If none is provided on the topic, the ``default_progress_checker`` is used.
6+
It is used to select the ProgressChecker that will be used by the progress_checker server. It subscribes to the ``progress_checker_selector`` topic to receive command messages with the name of the ProgressChecker to be used. It is commonly used before of the FollowPathAction. The ``selected_progress_checker`` output port is passed to ``progress_checker_id`` input port of the FollowPathAction. If none is provided on the topic, the ``default_progress_checker`` is used.
77

88
Any publisher to this topic needs to be configured with some QoS defined as ``reliable`` and ``transient local``.
99

configuration/packages/bt-plugins/conditions/GloballyUpdatedGoal.rst renamed to configuration/packages/bt-plugins/conditions/GlobalUpdatedGoal.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
.. _bt_globally_updated_goal_condition:
1+
.. _bt_global_updated_goal_condition:
22

3-
GloballyUpdatedGoal
4-
===================
3+
GlobalUpdatedGoal
4+
=================
55

66
Checks if the global navigation goal has changed in the blackboard.
77
Returns failure if the goal is the same, if it changes, it returns success.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
.. _bt_goal_updated_controller:
2+
3+
GoalUpdatedController
4+
=====================
5+
6+
Checks if the global navigation goal, or a vector of goals, has changed in the blackboard. The node ticks its child if the goal was updated.
7+
8+
Input Ports
9+
-----------
10+
11+
:goal:
12+
13+
=============================== ========
14+
Type Default
15+
------------------------------- --------
16+
geometry_msgs::msg::PoseStamped "{goal}"
17+
=============================== ========
18+
19+
Description
20+
Destination to check. Takes in a blackboard variable, "{goal}" if not specified.
21+
22+
:goals:
23+
24+
==================================== =========
25+
Type Default
26+
------------------------------------ ---------
27+
geometry_msgs::msg::PoseStampedArray "{goals}"
28+
==================================== =========
29+
30+
Description
31+
Vector of goals to check. Takes in a blackboard variable, "{goals}" if not specified.
32+
33+
Example
34+
-------
35+
36+
.. code-block:: xml
37+
38+
<GoalUpdatedController goal="{goal}" goals="{goals}">
39+
<!--Add tree components here--->
40+
</GoalUpdatedController>

configuration/packages/bt-plugins/decorators/SpeedController.rst

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,6 @@ Input Ports
5555
Description
5656
The maximum robot speed above which the child node is ticked at maximum rate (m/s).
5757

58-
:filter_duration:
59-
60-
====== =======
61-
Type Default
62-
------ -------
63-
double 0.3
64-
====== =======
65-
66-
Description
67-
Duration (secs) over which robot velocity should be smoothed.
68-
6958
:goal:
7059

7160
=============================== ========

configuration/packages/configuring-bt-navigator.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,17 @@ Parameters
9090
Description
9191
Duration (in milliseconds) for each iteration of BT execution.
9292

93+
:filter_duration:
94+
95+
====== =======
96+
Type Default
97+
------ -------
98+
double 0.3
99+
====== =======
100+
101+
Description
102+
Duration (secs) over which robot velocity should be smoothed.
103+
93104
:default_server_timeout:
94105

95106
==== =======
@@ -270,6 +281,7 @@ Example
270281
global_frame: map
271282
robot_base_frame: base_link
272283
transform_tolerance: 0.1
284+
filter_duration: 0.3
273285
default_nav_to_pose_bt_xml: replace/with/path/to/bt.xml # or $(find-pkg-share my_package)/behavior_tree/my_nav_to_pose_bt.xml
274286
default_nav_through_poses_bt_xml: replace/with/path/to/bt.xml # or $(find-pkg-share my_package)/behavior_tree/my_nav_through_poses_bt.xml
275287
always_reload_bt_xml: false

configuration/packages/configuring-bt-xml.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Condition Plugins
6565
bt-plugins/conditions/TransformAvailable.rst
6666
bt-plugins/conditions/DistanceTraveled.rst
6767
bt-plugins/conditions/GoalUpdated.rst
68-
bt-plugins/conditions/GloballyUpdatedGoal.rst
68+
bt-plugins/conditions/GlobalUpdatedGoal.rst
6969
bt-plugins/conditions/InitialPoseReceived.rst
7070
bt-plugins/conditions/IsStuck.rst
7171
bt-plugins/conditions/IsStopped.rst
@@ -101,6 +101,7 @@ Decorator Plugins
101101
bt-plugins/decorators/GoalUpdater.rst
102102
bt-plugins/decorators/PathLongerOnApproach.rst
103103
bt-plugins/decorators/SingleTrigger.rst
104+
bt-plugins/decorators/GoalUpdatedController.rst
104105

105106
Example
106107
*******

configuration/packages/nav2_waypoint_follower-plugins/photo_at_waypoint.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ PhotoAtWaypoint
55

66
Run-time plugin that takes photos at waypoint arrivals when using waypoint follower node. Saves the taken photos to specified directory. The name for taken photos are determined by
77
the waypoint index and timestamp(seconds). For instance ``/home/atas/0_1602582820.png`` is an sample taken image, where ``0_1602582820`` is the file name determined by waypoint
8-
index and time stamp. The leading digit in file name implies the waypoint index and the rest of digits at righthand side imples the time stamp when the photo was taken.
8+
index and time stamp. The leading digit in file name implies the waypoint index and the rest of digits at righthand side implies the time stamp when the photo was taken.
99

1010
Parameters
1111
**********

migration/Humble.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Expanded Planner Benchmark Tests
5151
Smac Planner Path Tolerances
5252
****************************
5353

54-
`PR 3219 <https://github.com/ros-navigation/navigation2/pull/3219>`_ adds path tolerances to Hybrid-A* and State Lattice planners to return approximate paths if exact paths cannot be found, within a configurable tolerance aroun the goal pose.
54+
`PR 3219 <https://github.com/ros-navigation/navigation2/pull/3219>`_ adds path tolerances to Hybrid-A* and State Lattice planners to return approximate paths if exact paths cannot be found, within a configurable tolerance around the goal pose.
5555

5656
costmap_2d_node default constructor
5757
***********************************
@@ -125,8 +125,8 @@ Give Behavior Server Access to Both Costmaps
125125

126126
To update behaviors, any reference to the global_frame must be updated to the local_frame parameter
127127
along with the ``configuration`` method which now takes in the local and global collision checkers.
128-
Lastly, ``getResourceInfo`` must be overridden to return ``CostmapInfoType::LOCAL``. Other options include ``GLOBAL`` if the behavior useses global costmap and/or footprint)
129-
or ``BOTH`` if both are required. This allows us to only create and maintain the minimum amount of expensive resources.
128+
Lastly, ``getResourceInfo`` must be overridden to return ``CostmapInfoType::LOCAL``. Other options include ``GLOBAL`` if the behavior uses global costmap and/or footprint)
129+
or ``BOTH`` if both are required. This allows us to only create and maintain the minimum amount of expensive resources.
130130

131131
New Model Predictive Path Integral Controller
132132
*********************************************

0 commit comments

Comments
 (0)