Robotair Agent⿻
Estimated time to read: 3 minutes
Concept Overview⿻
The Robotair Agent is a runtime process that resides on each robot in your fleet. It acts as the robot’s gateway to the Robotair platform and is responsible for executing remote instructions issued by users through the Robotair web interface or API.
The agent maintains a persistent and secure connection with the Robotair control plane, listens for deployment triggers, applies configuration updates, manages containerized services, and reports runtime status, metrics, and logs. It does all of this while consuming minimal CPU, memory, and I/O resources making it suitable for production deployment even on resource-constrained systems.
Role of the Agent⿻
The agent is an active control point that:
- Operates securely using mutual TLS authentication and token-based identity.
- Receives deployment artifacts and software update instructions from the Robotair.
- Launches, stops, and supervises Docker or Podman containers based on incoming requests.
- Handles mounting of configuration files, environmental variables, and secrets.
- Monitors running services and reports health metrics (CPU, memory, network, container status).
System Topology and Communication Model⿻
A robot is often composed of more than one compute unit each dedicated to specific functions such as perception, control, or planning. Robotair supports this architectural model by running one Robotair Agent per compute unit. These agents work independently on their respective hosts to manage container lifecycles, apply configuration, and collect telemetry data.
While each agent operates in isolation at the system level, all agents belonging to a robot synchronize through a shared logical identity within the Robotair platform. This allows Robotair to treat multi-computer configurations as a unified operational unit, simplifying software rollout and monitoring.
The following diagram shows a detailed interaction model between the Robotair Orchestrator and a robot with multiple agents:
flowchart TD
subgraph Robotair[Robotair Platform]
RCP[Robotair Orchestrator]
end
subgraph Robot1["Robot: AGV-001"]
R1A1["Agent on Jetson (Perception Unit)"]
R1A2["Agent on NUC (Control Unit)"]
end
R1A1 -->|Sync status| RCP
R1A2 -->|Sync status| RCP
RCP -->|Deployments & Config| R1A1
RCP -->|Deployments & Config| R1A2
Robotair scales this model to manage multiple robots across your fleet. Each robot regardless of its internal complexity connects to the Robotair backend using its agents. The following diagram illustrated the the communication pattern between Robotair and multiple agents distributed across different robots:
flowchart TD
subgraph Robotair Platform
R[Robotair Orchestrator]
end
subgraph Robot_1 [Robot 1]
A1[robotair-agent]
end
subgraph Robot_2 [Robot 2]
A2[robotair-agent]
end
subgraph Robot_3 [Robot 3]
A3[robotair-agent]
end
subgraph Robot_4 [Robot 4]
A4[robotair-agent]
end
A1 <-->| bi-directional sync | R
A2 <-->| bi-directional sync | R
A3 <-->| bi-directional sync | R
A4 <-->| bi-directional sync | R