../_images/tiagopro-icon.png ../_images/tiago-icon.png ../_images/mobile-bases-icon.png

🛠️ 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

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

detector_action_name

Action name used for target detection.

/detect_dock

dock_action_name

Action name used for docking operations.

/dock_robot

undock_action_name

Action name used for undocking operations.

/undock_robot

charging_connector_frame_id

Frame ID for the robot’s charging connector.

"base_dock_link"

base_frame_id

Frame ID of the robot’s base link.

"base_footprint"

dock_learner.action_name

Action name for the dock learning process.

/learn_dock

dock_navigator.action_name

Action name for the docking navigation process.

/go_and_dock

dock_navigator.publish_initialpose

Whether or not to publish the robot’s initial pose.

true

dock_navigator.initialpose_covariance

Covariance matrix for the robot’s initial pose, specified as [xx, yy, yawyaw].

[0.25, 0.25, 0.25]

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#