Manage devices and robot access
This topic describes how to connect robots to the Embodied Intelligence Platform, manage device status, and remotely dispatch tasks through the platform.
Platform architecture
The Embodied Intelligence Platform uses a three-layer architecture to connect the cloud to robot devices:
Layer | Component | Responsibility |
Cloud layer | AnalyticDB Embodied Intelligence Platform | Device management, task scheduling, and data storage |
Edge proxy layer | adb-robot-client (MQTT client) | Communication proxy between the device and the cloud. It receives cloud commands and forwards them to LeRobot |
Robot layer | LeRobot-compatible robots | Performs actual operations such as data collection and inference |
Devices communicate with the platform by using the MQTT protocol. The platform assigns independent MQTT connection information (host, client ID, username, and password) to each device.
Add a device
Log on to the Embodied Intelligence Platform.
In the left-side navigation pane, click Devices.
Click Add Device.
In the dialog box, configure the following parameters:
Parameter
Required
Description
Device name
Required
A custom device name. We recommend that you use a meaningful naming convention for easy management.
Device type
Required
Select a type from the drop-down list: Mobile robot, Industrial robotic arm, Drone, or Other.
Description
Optional
Additional information about the device.
Click OK.
After the device is added, click Details in the device list to view the MQTT connection information, including the MQTT host, client ID, username, and password. This information is required when you configure adb-robot-client on the device.
View device status
The device management page displays the real-time status of all registered devices in a list:
Column | Description |
Device ID | The unique identifier assigned by the platform. |
Device name | The name specified during registration. |
Device type | Mobile robot, Industrial robotic arm, Drone, or Other. |
Status | Online or Offline. The status changes to Online after the device runs adb-robot-client and connects to MQTT. |
Registered At | The time when the device was added. |
Click Refresh to update the device status.
LeRobot ecosystem robot access
For robots that are already compatible with the LeRobot framework (such as Unitree G1), you can connect them to the platform without any modifications by using the adb-robot-client SDK.
Install the SDK
pip install adb-robot-clientadb-robot-client has not been published to PyPI yet. Contact the development team to obtain the installation package.
Connect to the platform
Use the --mqtt parameter to start the client and connect the device to the platform:
adb-robot-client \
--mqtt \
--mqtt.broker_host <MQTT host> \
--mqtt.broker_port <MQTT port> \
--mqtt.robot_id <Robot ID> \
--mqtt.client_id <MQTT client ID> \
--mqtt.username <MQTT username> \
--mqtt.password <MQTT password>The MQTT connection information can be obtained from the device details page on the platform. After a successful connection, the device status automatically changes to Online.
Two configuration methods are supported:
Set parameters individually:
--mqtt.broker_host <value> --mqtt.client_id <value> ...Pass as a JSON object:
--mqtt='{"broker_host": "<value>", "client_id": "<value>", ...}'
Other parameters of adb-robot-client (such as --teleop and --policy.type) are inherited from LeRobot. Add them as needed.
New robot access
For proprietary robots that are not part of the LeRobot ecosystem, you must complete the following development tasks before they can be connected to the platform:
Implement the LeRobot Robot interface: Implement the robot control interface according to the LeRobot framework specifications, including joint state reading and action execution.
Develop the access agent: Develop a device-side agent program based on the adb-robot-client SDK to handle MQTT commands dispatched by the platform.
New robot access requires code development. For specific interface specifications and sample code, see the LeRobot official documentation.
Remote task dispatch
After a device is online, administrators can remotely dispatch the following tasks through the platform:
Data collection tasks: Create tasks on the data collection page and assign them to devices. The platform sends collection commands to devices through MQTT (establish connection, confirm, start recording, stop recording, and disconnect). For more information, see Collect and manage data.
Inference tasks: After a trained model is deployed as an inference service on the model deployment page, the platform can dispatch inference tasks to devices. After receiving a command, the device calls the inference service for real-time inference.
Manage devices
In the device list, you can perform the following operations on existing devices:
Details: View the MQTT connection information of the device.
Edit: Modify the device name, type, and description.
Delete: Remove the device.