Architecture

Understanding where your code and the OLO SDK execute is important for latency, reliability, and offline operation. The SDK Playground and standalone clients have fundamentally different execution architectures, though the SDK itself and the code you write against it is identical in both cases - your code is portable between the two environments.

 SDK PLAYGROUND                                      STANDALONE CLIENT
 ══════════════                                      ═════════════════

                        ROBOT SIDE
                   ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐
 ┌──────────┐      │ ┌───────────────┐ │             ┌──────────────────┐
 │  Browser │      │ │   APPLIANCE   │ │             │    YOUR APP      │
 │   IDE    │ ───> │ │ ┌───────────┐ │ │             │  ┌────────────┐  │
 └──────────┘      │ │ │ Your Code │ │ │             │  │  OLO SDK   │  │
      :            │ │ │ + OLO SDK │ │ │             │  │ +your code │  │
   view output     │ │ └─────┬─────┘ │ │             │  └─────┬──────┘  │
      :            │ └───────┼───────┘ │             └────────┼─────────┘
      :            │    local calls    │                      │
      :            │         ▼         │                      │ internet
      :            │   ┌───────────┐   │                      ▼
      :            │   │    ROS    │   │             ┌──────────────────┐
      :<─ ─ ─ ─ ─ ─│ ─ │ Services  │<──┼── ─ ─ ─ ─ ─ │      PORTAL      │
                   │   └─────┬─────┘   │             │     (cloud)      │
                   │         │         │             └──────────────────┘
                   │         ▼         │
                   │   ┌───────────┐   │
                   │   │   Robot   │   │
                   │   │ Hardware  │   │
                   │   └───────────┘   │
                   └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘

 OLO SDK runs ON the appliance.           OLO SDK runs EXTERNALLY.
 API calls stay local.                    API calls route via cloud.

SDK Playground: On-Robot Execution

When you run code in the SDK Playground, your script and the OLO SDK are deployed to and execute on the appliance. All API calls happen locally:

  • Low latency: API calls don't leave the device - no network round-trip to the cloud
  • Offline capable: Scripts continue running even if internet connectivity drops
  • Reliable: Critical robot operations don't depend on cloud availability
  • Full API access: Navigation, motion control, vision, and all other features work identically

This is why the SDK Playground is recommended for production robot behaviors - your code runs next to the robot hardware with minimal latency and maximum reliability.

Standalone Clients: Remote Execution

With standalone clients, the OLO SDK runs on your own machine, server, or cloud infrastructure. It connects to the appliance through the OLO portal:

  • Flexible deployment: Run from anywhere with internet access
  • Custom environments: Use your preferred frameworks, tools, and infrastructure
  • Integration-friendly: Embed robot control in existing applications
  • Network dependent: All API calls travel through the cloud to reach the appliance

This architecture is ideal for custom UIs, enterprise integrations, and external system triggers - but adds network latency since every command travels through the portal.

Hybrid Approach: Best of Both Worlds

For production systems, combine both approaches:

  1. Develop robot behaviors in SDK Playground - Low-latency, reliable execution on the appliance
  2. Save scripts for reuse - Scripts persist on the appliance and can be triggered externally
  3. Trigger from standalone clients - Use executeScript('scriptName') to invoke on-robot logic
  4. Build custom interfaces externally - Standalone clients for dashboards and integrations

This way, time-critical robot logic runs locally on the appliance while your external systems orchestrate when behaviors execute.