π Waypoint Navigation API#
ROS 2 API#
To interact with the Waypoint Navigation module, you can refer to the following ROS 2 APIs:
The nodes: bt_navigator, bt_navigator_navigate_through_poses, pal_bt_navigator_through_waypoints and waypoint_follower implement the main Waypoint Navigation functionalities.
To configure the bt_navigator you can refer to the Behavior-Tree Navigator Configuration Guide.
Note
To configure the Behavior Tree for the Waypoint Navigation, you can create your own parameter file and follow the guide in π Navigation Configuration Guide section:
touch ~/.pal/pal_navigation_cfg_params/params/nav2_bt_navigator/my_navigate_w_replanning_and_recovery.yaml
sudo vi ~/.pal/pal_navigation_cfg_params/params/nav2_bt_navigator/my_navigate_w_replanning_and_recovery.yaml
To learn more about the NavigateThroughPoses Usage, please refer to the Navigate Through Poses Configuration and to the Nav2 node configuration.
To configure the waypoint_follower you can refer to the Waypoint Follower Configuration Guide.
To configure the pal_bt_navigator_through_waypoints you can refer to the following table containing
the pal_bt_navigator
nodeβs parameters and their explanation.
Parameter |
Description |
---|---|
|
Whether to use simulation time or not. |
|
The topic name for the odometry. |
|
List of the Task Executors plugins that could be loaded. |
Provided Plugin |
Package |
Description |
---|---|---|
|
Name of the package to which the plugin belongs ( |
Name of the plugin to load ( |
|
Name of the package to which the plugin belongs ( |
Name of the plugin to load ( |
|
Name of the package to which the plugin belongs ( |
Name of the plugin to load ( |
|
Name of the package to which the plugin belongs ( |
Name of the plugin to load ( |
Note
To configure the pal_bt_navigator_through_waypoints, you can create your own parameter file and follow the guide in π Navigation Configuration Guide section:
touch ~/.pal/pal_nav2_bt_navigator/params/my_navigate_through_waypoints.yaml
sudo vi ~/.pal/pal_nav2_bt_navigator/params/my_navigate_through_waypoints.yaml
RVIZ GUI#
To allow the user to easily interface with the Waypoint Navigation, PAL Navigation for ROS2 offers a set of RViz tools and a PAL Navigation2 Panel which monitors the waypoint navigation status.
Waypoint tool#
This tool allows the user to set waypoints in the map by clicking on the desired location. You can give name to a waypoint and eventually set a floor if the robot is navigating in a building. The waypoints are saved in a YAML file that can be loaded by the navigator.
To learn more about buildings and floors, please refer to ποΈ Environmental Annotations
PAL Navigation2 Panel#
The PAL Navigation2 Panel is a graphical interface that allows the user to monitor the status of the waypoint navigation. It shows the current loop, the remaining waypoints, and the number of remaining loops as well as other status information.
Once you set a new waypoint, its name will appear in the window Available Waypoints
.
You can select a waypoint and drag and drop it in the Selected Waypoints
window
to set it as one of the goals of the navigation. Then from the Available Actions
window
you can drag and drop actions you would like to perform and assign them to a certain waypoint.
Lastly, you can set a Behavior Tree choosing among the available ones or by giving the complete path for your custom behavior tree.