管理设备与机器人接入

更新时间:
复制 MD 格式

本文介绍如何将机器人接入具身智能平台、管理设备状态以及通过平台远程下发任务。

平台架构

具身智能平台采用三层架构实现云端与机器人设备的连接:

层级

组件

职责

云端层

AnalyticDB 具身智能平台

设备管理、任务调度、数据存储

边缘代理层

adb-robot-client(MQTT 客户端)

设备与云端之间的通信代理,接收云端命令并转发至 LeRobot

机器人层

LeRobot 兼容机器人

执行采集、推理等实际操作

设备通过 MQTT 协议与平台通信。平台为每台设备分配独立的 MQTT 连接信息(主机、客户端 ID、用户名和密码)。

添加设备

  1. 登录具身智能平台。

  2. 在左侧导航栏中,单击设备管理。

  3. 单击添加设备。

  4. 在弹窗中配置以下参数:

    参数

    是否必填

    说明

    设备名称

    必填

    自定义设备名。建议使用有意义的命名规则,便于管理。

    设备类型

    必填

    从下拉列表中选择:移动机器人、工业机械臂、无人机或其他。

    描述

    选填

    设备的补充说明。

  5. 单击确定。

添加完成后,单击设备列表中的详情可查看 MQTT 连接信息,包括 MQTT 主机、客户端 ID、用户名和密码。在设备端配置 adb-robot-client 时需要这些信息。

查看设备状态

设备管理页面以列表形式展示所有已注册设备的实时状态:

列

说明

设备 ID

平台分配的唯一标识。

设备名称

注册时填写的名称。

设备类型

移动机器人、工业机械臂、无人机或其他。

状态

在线或离线。设备运行 adb-robot-client 并连接 MQTT 后状态变为在线。

注册时间

设备添加时间。

单击刷新可更新设备状态。

LeRobot 生态机器人接入

对于已适配 LeRobot 框架的机器人(如宇树 G1),可通过 adb-robot-client SDK 零改造接入平台。

安装 SDK

pip install adb-robot-client
说明

adb-robot-client 目前尚未发布到 PyPI,请联系研发获取安装包。

连接平台

使用 --mqtt 参数启动客户端,将设备连接到平台:

adb-robot-client \
  --mqtt \
  --mqtt.broker_host <MQTT主机> \
  --mqtt.broker_port <MQTT端口> \
  --mqtt.robot_id <机器人ID> \
  --mqtt.client_id <MQTT客户端ID> \
  --mqtt.username <MQTT用户名> \
  --mqtt.password <MQTT密码>

其中 MQTT 连接信息从平台设备详情页获取。连接成功后,设备状态自动变为在线。

支持两种配置方式:

  • 逐项设置:--mqtt.broker_host <值> --mqtt.client_id <值> ...

  • 整体传入:--mqtt='{"broker_host": "<值>", "client_id": "<值>", ...}'

adb-robot-client 的其他参数(如 --teleop、--policy.type 等)继承自 LeRobot,按需添加即可。

新机器人接入

对于非 LeRobot 生态的自研机器人,需要完成以下开发工作才能接入平台:

  1. 实现 LeRobot Robot 接口:按照 LeRobot 框架规范实现机器人的控制接口,包括关节状态读取和动作执行。

  2. 开发接入 Agent:基于 adb-robot-client SDK 开发设备端代理程序,处理平台下发的 MQTT 命令。

说明

新机器人接入属于代码开发工作,具体接口规范和示例代码请参见 LeRobot 官方文档。

远程任务下发

设备在线后,管理员可在平台上远程下发以下任务:

  • 数据采集任务:通过数据采集页面创建任务并分配到设备。平台通过 MQTT 向设备发送采集命令(建立连接→确认→开始录制→停止录制→断开连接),详见采集与管理数据。

  • 推理任务:通过模型部署页面将训练好的模型部署为推理服务后,平台可向设备下发推理任务。设备接收到命令后调用推理服务进行实时推理。

管理设备

在设备列表中,可以对已有设备执行以下操作:

  • 详情:查看设备的 MQTT 连接信息。

  • 编辑:修改设备名称、类型和描述。

  • 删除:移除设备。

相关文档