🛠️ Docking Manager#
Attention
This page documents a Premium robot feature. It may or may not be available on your robot.
The Docking Manager extends the capabilities of the Docking Server by learning dock station locations, handling multiple stations, or managing persistent storage. It provides a robust mechanism for integrating docking workflows, particularly in dynamic or multi-station environments.
Docking Manager Overview#
Key features of the Docking Manager include:
📚 LearnDock: Detects dock stations dynamically and stores their location in a persistent database.
🗂️ Dock Management: Integrates with a database to handle multiple stations, supporting complex environments such as multi-floor navigation.
🔄 GoAndDock: Simplifies the docking process by automatically retrieving a dock from the database and executing the maneuver.
📍 Relocalization: Ensures recovery from localization errors by aligning the robot to previously learned dock poses.
⚙️ Seamless Integration: Works with the docking_server and dock_detector_server for precise and efficient docking operations.
Parameters#
The Docking Manager configuration can be adjusted to suit specific needs.
These configurations are defined in YAML files containing the parameters listed below:
Parameter |
Description |
Default |
---|---|---|
|
Action name used for target detection. |
|
|
Action name used for docking operations. |
|
|
Action name used for undocking operations. |
|
|
Frame ID for the robot’s charging connector. |
|
|
Frame ID of the robot’s base link. |
|
|
Action name for the dock learning process. |
|
|
Action name for the docking navigation process. |
|
|
Whether or not to publish the robot’s initial pose. |
|
|
Covariance matrix for the robot’s initial pose, specified as [xx, yy, yawyaw]. |
|
Configuration#
In addition to the available PAL configurations for the docking_manager node, you can create new configurations
for your robot. To do so, you first need to create a new directory in the .pal
folder of your robot.
mkdir -p ~/.pal/config
And then, within this folder, you can create a new docking_manager
configuration file.
touch ~/.pal/config/99_my_docking_manager_config.yaml
Attention
The name of the file should start with a number to ensure that it is loaded last and overrides the default PAL configurations.
Within the newly created 99_my_docking_manager_config.yaml
file, you can insert your custom docking_manager
parameters. For the list of available parameters, their meaning and how they affect the docking_manager
,
you can refer to the table above.
When creating a new Navigation configuration file, you need to specify the node name it refers to, in this case,
docking_manager
.
/docking_manager:
ros__parameters:
# Your docking_manager parameters
Attention
If you want to change the parameters for the docking_server
node used in the simulation, you need to use the
docking_server_sim
node name instead of docking_server
.
Once created, to start using your custom docking_server
configuration, you need to restart the
advanced_navigation
module with the command:
pal module restart advanced_navigation
Note
This change is is persistent and will be loaded every time you start the docking
module.
If you want to revert to the default PAL configuration, you can simply delete the custom configuration file
you created in the ~/.pal/config
folder.
See also#
If you want to know more about how to use advanced docking functionalities such as the /go_and_dock and the /learn_dock actions, you can refer to the tutorial How to use advanced docking functionalities.
For more details about the available actions and services, refer to the Docking API.