True operational autonomy requires more than mapping since robots have stringent expectations to meet. They must manage their own energy, return to charge when needed, and resume their missions without human intervention.
e-con Systems has developed a project of a ROS 2 autonomous docking system that enables these robots to detect low battery, switch operational modes, and align precisely to a charging dock using ArUco markers and LiDAR. The robots can then dock, charge, undock, back up, and resume the mission on their own.
This setup fits real-world deployment across Yocto-embedded environments, multi-rover fleets, and industrial facilities where uptime and unattended operation matter.
To check out this project, please visit: https://github.com/econsystems/ros2-docking/tree/main
In this blog, which is the first in a two-part series, you’ll understand the business value of fully autonomous docking systems and learn about our project’s system architecture, its core components, and more.
Business Value of Autonomous Docking
Higher autonomy and reduced operator overhead
Robots can return to their charging stations and resume missions without operator intervention. This reduces staffing requirements and enables true lights-out operation in warehouses, hospitals, and industrial corridors.
Stronger uptime with power-glitch recovery
If power is interrupted during charging, the system safely undocks, re-aligns, and re-enters docking automatically. Hence, it minimizes failed-charge cycles and keeps robots operational in noisy real-world environments.
CPU and memory optimized operation
The Nav2 stack is switched off during docking. Therefore, CPU and RAM overhead are reduced while ensuring clean task-level isolation between operational modes.
Fleet-ready for any scale
A namespace-aware ROS 2 design allows multiple robots to share the same map and infrastructure. What’s more is that each independently manages its own low-battery docking cycle, scaling to any fleet size.
Embedded-ready for industrial deployment
Full Yocto package support empowers teams to build once and deploy a ready-to-run image directly to industrial edge devices. So, the system becomes ideal for resource-constrained robots and embedded production deployments.
Overview of the Autonomous Docking System
e-con Systems’ autonomous docking system project is built around four core components:
- Optimized ArUco marker detection package
- Battery-aware transition and docking logic
- Service-level mode switching
- Safety-recovery charging loop
Each robot runs its own docking state machine while sharing the global map and infrastructure, transitioning cleanly between navigation and docking modes across the full mission lifecycle.
-
Optimized ArUco marker detection package
e-con Systems presents a dedicated, real-time optimized detection package designed to run efficiently on resource-constrained embedded hardware without sacrificing reliability. It features an efficient image processing pipeline, configurable parameters such as marker ID, dictionary type, camera calibration, and detection thresholds, and a clean ROS 2 interface that decouples detection from docking control logic.
The package is a standalone, modular component that can be adapted for other projects requiring real-time marker detection, such as localization, inspection, or human-robot interaction.
-
Battery-aware transition and docking logic
The battery_manager node continuously monitors battery state against configurable low and critical thresholds, and triggers the full docking sequence automatically. The docking workflow can be explained as follows:
- Low-battery detection: When the battery level crosses the configured low threshold, the node automatically cancels active navigation, spawns a waypoint goal toward the docking station, and launches the docking service
- Precision alignment: The docking controller uses ArUco detection and filtered LiDAR to correct heading and lateral error, even with yaw or XY offset from Nav2
- Docking state machine: It progresses through approach, dock, charge, and undock states with configurable delays at each transition to ensure mechanical stability, followed by a controlled backup manoeuvre before handing control back to the navigation stack
- Post-charge logic: It ensures the battery reaches the configured full-charge threshold before triggering undock, with a built-in protection delay preventing premature disconnection and motor slippage
-
Service-level mode switching
The system uses three mode-based services (base, nav, and docking) to manage task-level switching between operational modes. The battery_manager node triggers the appropriate transitions based on battery status, automating all mode switching without manual intervention.
Based on your application requirements, you can write your own boot scripts to bring up the appropriate service on startup.
-
Safety-recovery charging loop
If an intermittent power loss occurs during charging (due to a power glitch, physical nudge, or loose connector pin), the system automatically undocks. It then performs a short backup to clear the dock, waits for a configurable recovery delay, re-aligns using ArUco detection, and re-enters docking to resume charging.
Key Technologies Used in the Autonomous Docking System
- ROS 2 Humble
- Nav2 Navigation Stack
- Optimized ArUco Marker Detection Package
- Filtered LiDAR for Approach Sensing
- Mode-Based Service Orchestration
- Yocto Embedded Build System
- Custom ROS 2 Python Nodes
Building an autonomous docking system that works reliably in the real world means solving harder problems. In part 2 of this blog, you’ll get to know about what makes engineering challenges so difficult, how you can overcome them, and what that means for real-world deployment from simulation to physical robots.
e-con Systems’ Cameras for Autonomous Docking Systems
Since 2003, e-con Systems has been designing, developing, and manufacturing OEM and ODM camera solutions. We provide high-performance camera modules for state-of-the-art vision systems that handle challenging use cases such as autonomous docking.
Explore eRCP – e-con Systems’ Robotic Computing Platform (RCP) powered by the Ambarella CV72S AI Vision Processor.
Know exactly what you want your camera solution to deliver? Use our Camera Selector to find the perfect match!
Reach us at camerasolutions@e-consystems.com to discuss how we can help select and deploy the best-fit vision solution for your use cases.
FAQs
- What is ROS 2 autonomous docking in a robot fleet?
ROS 2 autonomous docking gives robots a way to manage charging during active missions. When battery levels drop, the system sends the robot toward the dock, handles close-range alignment through ArUco markers and LiDAR, completes charging, and then returns the robot to mission flow. This keeps fleets moving with less operator effort in warehouses, hospitals, and industrial spaces.
- How does the battery-aware transition and docking logic work?
The battery_manager node watches battery levels against configurable low and critical thresholds. When the battery crosses the set level, it cancels active navigation, sends the robot toward the docking station, and launches the docking sequence. From there, the system moves through approach, dock, charge, and undock states with timed transitions that help maintain mechanical stability.
- Why does the system use ArUco markers and filtered LiDAR together?
ArUco markers give the robot a visual reference for the dock position. Filtered LiDAR adds short-range sensing for heading and lateral correction during final approach. Used together, they help the robot compensate for yaw or XY offset and improve docking accuracy near the charging station.
- What role does service-level mode switching play in the system?
The system uses three mode-based services, base, nav, and docking, to manage task-level switching between robot states. The battery_manager node triggers these transitions automatically based on battery status. This keeps navigation and docking logic separated in a practical way and reduces manual control during live missions.
- What happens if charging gets interrupted midway?
The safety-recovery charging loop handles events such as a loose connector pin, a power glitch, or a physical nudge at the dock. The robot undocks, performs a short backup, waits for the configured recovery delay, realigns through ArUco detection, and enters docking again to resume charging. This helps reduce failed charge cycles in real deployment settings.


