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

πŸ”‹ Docking#

Docking is a key functionality in autonomous robotics, enabling robots to recharge and operate continuously in dynamic environments. The PAL Docking System extends the Nav2 Docking Framework by integrating advanced tools for dynamic target detection, persistent database storage, and advanced docking workflows.

The docking system is built around the following components, each playing a critical role in the docking process:

  • πŸ”Œ Docking Server: Handles docking and undocking maneuvers.

  • πŸ“‘ Dock Detector Server: Provides dynamic detection and localization of dock stations. It supports multiple detection methods, such as visual markers (e.g., ArUCO) or laser-based patterns.

  • βš™οΈ Docking Manager: Orchestrates advanced docking workflows, including learning new dock locations, storing them in a persistent database, or managing multiple stations.

These components work together to deliver a robust docking solution, allowing seamless integration in various scenarios. The following diagram illustrates the interaction between these components:

Docking System Overview

Docking System Overview#

Functionalities#

The integration of these components enables the following primary functionalities of the docking system:

  • πŸ”‹ Docking: The robot navigates to a staging pose near to the dock station, refines its position using dynamic detection, and establishes a secure connection for charging.

  • ↩️ Undocking: The robot executes a controlled maneuver to safely disconnect from the dock station and return to an operational state.

  • πŸ“š LearnDock: The robot detects the desired dock station, refines its position, and stores its location for future operations.

Each functionality is designed for flexibility, supporting both static and dynamic docking scenarios. Configurations such as staging pose offsets, detection thresholds, or detection methods can be customized to suit specific use cases.

See also#

For further details, explore the corresponding sections for each component: