Skip to main content

Deployment Topologies

The control plane is uniform, so deployments of very different scales differ mainly in where the processes run. The application, the gateway, and the adapters are the same software in every case.

Single Host​

Everything runs on one machine: the application, the gateway, and the adapter. This is the development setup, and it also suits a robot whose onboard computer runs the whole stack.

Local Network​

A gateway on the network serves several robots, each with its own adapter, and presents one aggregated profile to the application.

Across the Internet​

The operator application, the gateway, and each robot may be in three different places, as in teleoperation. WebSocket connections are outbound from the adapters, so robots behind a firewall can join a gateway in the cloud.

Cloud Perception​

Components that need more compute than a robot carries, such as speech recognition or large perception models, run in a separate adapter next to the compute, or as local components of the gateway. The application cannot tell the difference: search returns every component, and bind and execute behave identically wherever the component runs.

Physical Robots and Virtual Agents Together​

The same architecture serves virtual agents. An avatar rendered in a game engine gets its own adapter, and the application addresses it with the same calls it uses for a physical robot.

examples/mixed-paradigm shows it: one script starts a gateway, connects the mock robot adapter and the avatar adapter (a text-based virtual agent with SpeechSynthesis and Reaction), then plays an application that discovers both, queries both positions, and makes both say the same sentence with identical set_parameter and execute calls, waiting for both rois.command.completed. The application's code addresses components by ref only. Both sides are simulated so the demonstration runs on any laptop; the same script runs against real adapters.