真正的操作自主性不仅仅依赖于地图构建,机器人还需满足更高的要求:自主管理能源、在需要时自动返回充电,并在无人干预的情况下恢复任务执行。

e-con Systems开发了一套基于ROS 2的自主对接系统,使机器人能够检测低电量状态、切换操作模式,并借助ArUco标记与激光雷达(LiDAR)精准对齐充电底座。机器人可以自主完成对接、充电、脱离、后退及任务恢复等全流程操作。

该方案适用于基于Yocto嵌入式环境的多机器人车队及工业设施的实际部署场景,尤其适合对系统正常运行时间和无人值守操作有严格要求的应用环境。

本文是两篇系列文章的第一篇,将介绍全自主对接系统的商业价值,并详解该项目的系统架构与核心组件。

全自主对接系统的商业价值

机器人可自主返回充电站并恢复任务,无需人工干预,有效降低人员配置需求,真正实现仓库、医院及工业走廊中的无人化运营。

当充电过程中出现断电情况时,系统会安全脱离底座、重新对齐并自动进入对接流程,从而将充电失败次数降至最低,确保机器人在嘈杂的真实环境中持续运行。

在对接过程中,Nav2导航栈将被关闭,从而降低CPU和内存开销,同时确保各操作模式之间的任务级隔离。

基于命名空间感知的ROS 2设计,多台机器人可共享同一地图与基础设施,且每台机器人独立管理自身的低电量对接周期,可灵活扩展至任意车队规模。

完整的Yocto软件包支持使团队能够一次构建、直接向工业边缘设备部署可运行镜像,非常适合资源受限的机器人及嵌入式生产环境。

系统架构与核心组件

e-con Systems的自主对接系统围绕以下四大核心组件构建:

优化后的ArUco标记检测包

电量感知的状态切换与对接逻辑

服务级模式切换

安全恢复充电循环

每台机器人在共享全局地图与基础设施的同时,运行各自独立的对接状态机,在整个任务生命周期内实现导航模式与对接模式之间的平滑切换。

优化后的ArUco标记检测包

e-con Systems提供了一个专用的实时优化检测包,能够在资源受限的嵌入式硬件上高效运行,同时不牺牲可靠性。该包具备高效的图像处理流水线,支持标记ID、字典类型、相机标定及检测阈值等可配置参数,并提供简洁的ROS 2接口,将检测逻辑与对接控制逻辑解耦。

该包作为独立的模块化组件,可适配其他需要实时标记检测的项目,例如定位、检测或人机交互等应用场景。

电量感知的状态切换与对接逻辑

battery_manager节点持续监测电池电量,对照可配置的低电量与临界阈值,并自动触发完整的对接流程。具体对接流程如下:

低电量检测:当电量低于预设阈值时,节点自动取消当前导航任务,生成指向充电站的路径点目标,并启动对接服务。

精准对齐:对接控制器结合ArUco检测与过滤后的激光雷达数据,修正航向偏差与横向误差,即便存在Nav2导航引入的偏航或XY偏差也能有效应对。

对接状态机:依次经历接近、对接、充电和脱离等状态,每个状态切换时配有可配置的延迟,以确保机械稳定性;脱离后执行受控后退动作,随后将控制权交还导航栈。

充电后逻辑:系统确保电量达到预设的满电阈值后才触发脱离动作,并内置保护延迟,防止过早断开连接及电机打滑。

服务级模式切换

系统通过三种基于模式的服务(base、nav和docking)管理操作状态之间的任务级切换。battery_manager节点根据电池状态自动触发相应的状态转换,无需人工干预即可完成全部模式切换。

根据应用需求,用户可编写自定义启动脚本,在系统启动时调用相应的服务。

安全恢复充电循环

若充电过程中因电源波动、物理碰撞或接口松动等原因导致短暂断电,系统将自动脱离底座,执行短距后退以脱离对接区域,等待可配置的恢复延迟后,通过ArUco检测重新对齐,并再次进入对接流程以恢复充电。

系统技术栈

本系统采用的核心技术组件包括:ROS 2 Humble、Nav2导航栈、优化后的ArUco标记检测包、用于接近感知的过滤激光雷达、基于模式的服务编排、Yocto嵌入式构建系统,以及自定义ROS 2 Python节点。

下篇预告

构建一套在真实场景中稳定运行的自主对接系统,需要解决更深层次的工程难题。在本系列的第二篇文章中,将深入探讨工程挑战的成因、应对方法,以及从仿真到实体机器人的实际部署经验。

关于e-con Systems

自2003年以来,e-con Systems持续从事OEM和ODM相机解决方案的设计、开发与制造,为能够应对自主对接等复杂应用场景的先进视觉系统提供高性能相机模块。

Q&A

Q1:ROS 2自主对接系统是如何工作的?

A:ROS 2自主对接系统为机器人提供了在执行任务期间自主管理充电的能力。当电量下降时,系统引导机器人前往充电底座,通过ArUco标记和激光雷达完成近距离对齐,充电完成后自动返回任务流程。整个过程无需人工干预,适用于仓库、医院及工业场所,有效减少操作人员介入。

Q2:battery_manager节点是如何触发对接流程的?

A:battery_manager节点持续监测电池电量,与预设的低电量及临界阈值进行比对。当电量低于设定值时,节点自动取消当前导航任务,向充电站发送路径点目标并启动对接服务。随后系统依次完成接近、对接、充电、脱离等状态,每个阶段均设有可配置的时间延迟以保障机械稳定性。

Q3:充电中断后系统如何自动恢复?

A:安全恢复充电循环负责处理充电中断情况,例如接口松动、电源波动或外力碰撞。机器人会自动脱离底座并执行短距后退,等待预设的恢复延迟后,通过ArUco检测重新对齐充电底座,再次进入对接流程恢复充电,从而有效减少实际部署中的充电失败次数。

Edge AI and Vision Alliance - Latest News