Skip to main content

Device Management

The Device Management page registers compute devices on the robot side, installs the Agent monitoring program, shows device resources and video streams, and opens remote takeover. Models are registered on the Robots page, and each device links to a model through the Associated robot field.

Device list

Prerequisites​

ItemContent
Menu entryManage → Device
Route/devices
Required permissionView Devices (device list and device details)
Related permissionsManage Devices (edit devices), View Teleoperation (read device registration and activation records), Manage Teleoperation (register and delete devices)
Visible rolesAdministrator, Project Manager, Collector
Effective rulesAdministrators are not limited by module permissions and have read & write on everything; other roles follow the role default template, user-level overrides take precedence over role defaults, and modules without configuration are denied
DependenciesRobot-side devices need the Agent installed and network access; remote takeover needs the connection password enabled during installation

See Module Permissions for how module permissions are configured.

Device Onboarding​

A device registers, then installs the Agent to establish the connection. Batch actions run registration, deletion, or collection task dispatch on the selected devices.

Device Registration​

Submit the Robot device registration dialog with the fields below.

FieldTypeRequiredValues and description
Robot device unique IDTextYesDevice identifier; letters, digits, underscores, and hyphens only; 3–128 characters; must be unique
RemarksTextNoDevice purpose, location, and similar information
Associated robotSelectNoLinks to a model registered on the Robots page
ProjectSelectNoPlaces the device in a project; non-administrators need edit permission on the project

After a successful registration, the system generates a unique Agent ID for Agent installation and identification. If a device name was deleted earlier and created by the same account, registration restores the original record and keeps the original Agent ID.

Register robot device

Agent Installation​

The installation dialog shows one installation command, and the install script downloads and deploys the matching binary on the device.

PlatformArchitectureBinary file name
Linux ROS2 Foxyx64embodiflow-agent-foxy-amd64
Linux ROS2 FoxyARM64embodiflow-agent-foxy-arm64
Linux ROS2 Humblex64embodiflow-agent-humble-amd64
Linux ROS2 HumbleARM64embodiflow-agent-humble-arm64
Linux ROS2 Ironx64embodiflow-agent-iron-amd64
Linux ROS2 IronARM64embodiflow-agent-iron-arm64
Linux ROS2 Jazzyx64embodiflow-agent-jazzy-amd64
Linux ROS2 JazzyARM64embodiflow-agent-jazzy-arm64
Linux ROS1 Noeticx64embodiflow-agent-noetic-amd64
Linux ROS1 NoeticARM64embodiflow-agent-noetic-arm64
Linux (no ROS detected)x64embodiflow-agent-lite-amd64
Linux (no ROS detected)ARM64embodiflow-agent-lite-arm64

The Agent supports Linux only. The install script downloads the binary for the distribution and architecture, and uses the lite build when no ROS is detected (status monitoring reports only, without ROS or WebRTC). The custom settings are listed below.

ParameterDefaultRangeDescription
Polling interval (seconds)300≥ 1Interval at which the Agent reports monitoring data
Video frame rate (FPS)10≥ 1WebRTC streaming frame rate
ROS_DOMAIN_IDEmpty0–232Isolates different ROS 2 networks
ROS image topicEmptyTopic nameThe Agent picks an image topic automatically when left empty
Maximum video widthEmpty> 0, in pixelsLimits the video stream width to control bandwidth
Enable remote controlOffOn, OffRequires a connection password when enabled
Connection passwordEmptyAt least 8 charactersPassword entered for remote takeover
Verbose loggingOffOn, OffOutputs more detailed logs

The dialog polls the reporting status every 3 seconds. It shows Installed and stops polling once a report within the last 10 minutes is found, and marks the device as Not installed when nothing is detected for 5 minutes.

Install Agent

Batch Actions​

ActionEffectConstraint
Delete selected robot devicesSoft deletes the selected devicesRequires Manage Teleoperation; runs one by one and reports the success and failure counts
Dispatch collection taskAssigns a collection task to the selected devicesDevices must be registered; a collection task must be selected
Robot device registrationOpens the registration dialogRequires Manage Teleoperation

Device Monitoring and Remote Control​

Device List​

ColumnDescription
Device NameOpens device details; devices without a token show Not activated after the name
ProjectShown in the All projects view; select to filter by project
System InformationHost name, operating system, and platform
Device IPIP address of each network interface
CPU UsagePercentage, shown as a progress bar
Memory UsagePercentage, shown as a progress bar
Online TimeTime of the latest report
ActionsDevices with no reports show Install Agent

The list polls monitoring data every 5 seconds to refresh the online status. The search box matches by device name, and the view switches between the table and the video view.

Device Details​

Device details have three tabs, and the left sidebar always shows the video player and system information.

TabRouteContent
Device status monitoring/devices/{AgentID}Resource metric cards, trend charts, system information
Joint real-time status/devices/{AgentID}/statesReal-time joint status
Remote control device/devices/{AgentID}/controlSSH terminal
Sidebar itemContent
Video playerReal-time device video stream
System InformationOperating system, host name, kernel version, uptime

The top of the page provides two entries: edit and install Agent.

Device details and monitoring

Resource Monitoring​

Metric cardContent
CPU usageUsage, temperature
Memory usageUsage, used amount
Disk usageUsage, available amount
Network connectionsActive TCP connection count
ViewChart contentTime range
Resource trendsCPU, memory, and disk usage4 hours, 1 day, 7 days
Temperature and loadCPU temperature and load4 hours, 1 day, 7 days

The Agent reports data at the polling interval and writes it to a Redis stream; device details refresh every 10 seconds. History is retained by record count, and the retention period is controlled by the system parameter Device monitoring data retention (hours). When it is not configured, the code retains data for 168 hours.

Video Stream​

ItemDescription
LocationLeft sidebar of device details
ChannelsConnected at the same time, up to 3
TransportWebRTC; the frame rate comes from the video frame rate parameter set during installation
Full screenSupported
StatusThe player shows a prompt when not connected, and can be refreshed manually

Remote Takeover​

ItemDescription
EntryDevice details → Remote control device
PrerequisiteRemote control enabled and a connection password set during installation; the WebRTC connection is ready
AuthenticationEnter the connection password set during installation, at least 8 characters
Connection statusNot connected, Connecting, Authenticating, Encrypted connection, Closed, Locked, Connection Failed
Authentication failureShows the remaining attempts; locks the session after excessive failures and displays an unlock countdown
DisconnectManual disconnect is available once the connection is ready

Constraints and Limits​

ItemValueDescription
Device ID character setLetters, digits, underscores, hyphens3–128 characters, globally unique
Agent IDUUIDGenerated by the system, globally unique
Agent supported platformsLinux ROS2 Foxy, Humble, Iron, Jazzy and ROS1 Noetic, x64 and ARM64; the lite build is used when no ROS is detectedOther operating systems are not supported
Installation status polling3 secondsDetection inside the installation dialog
Report detection window10 minutesReports older than this window do not count as installed
Installation status timeout5 minutesA timeout is treated as not installed
Device list refresh5 secondsOnline status polling
Device details refresh10 secondsResources and system information
Connection password lengthAt least 8 charactersRequired when remote control is enabled
Video channels3Left sidebar of device details

Troubleshooting​

SymptomPossible causeActionOwner
Device registration is rejectedThe ID contains invalid characters, exceeds the length limits, or is registered by another accountChange the ID to follow the character set and length rulesAdministrator
The device still shows as not installed after installationThe Agent is not started, the server address is wrong, the network is unreachable, or the 5-minute detection window has passedConfirm the Agent process and server address on the device, restart it, and reopen the installation dialogOperations, Collector
The list shows the device as offlineThe device is powered off or disconnected, the Agent stopped reporting, or the reporting interval is too longCheck the device and Agent status, restore the network, and wait for the next reportOperations
Trend charts have no dataThe page is opened before the first report, or history exceeds the retention periodWait for the Agent to report, or raise the retention parameterAdministrator
The video stream cannot connectThe WebRTC service is faulty, the device image topic has no data, or the network is unreachableConfirm the WebRTC service and the device image topic, then refresh the playerOperations
Remote takeover cannot connectRemote control was not enabled during installation, the password is shorter than 8 characters, or WebRTC is not readyReinstall the Agent with remote control enabled and wait for WebRTC to become readyAdministrator, Operations
Remote takeover reports that the session is lockedConsecutive authentication failures are excessiveRetry after the lock countdown endsAdministrator
PagePurpose
RobotsModel registration and dataset association
Collection taskAssign collection tasks to devices
Data ManagementView data collected by devices
Module PermissionsConfigure module permissions for roles and users
Operations MonitoringWebRTC rooms and device session status