Market and Business News

Inside OLO Robotics: a technical look at browser-based ROS 2 development and hardware integration

OLO Robotics brings ROS 2, Gazebo, Nav2 and MoveIt 2 into one browser-based platform. Discover how its appliance, Cloud Sim, and live data handling accelerate robot development.

Share
Inside OLO Robotics: a technical look at browser-based ROS 2 development and hardware integration
Share

ROS 2 is a powerful, mature framework, but the tooling required to work with it has historically been built for specialists. Before writing meaningful application logic, a developer can spend days or weeks on setup, networking, visualisation, simulation and deployment. This means sourcing a ROS 2 distribution, handling DDS middleware, setting up rosbridge, configuring tools such as MoveIt 2, Nav2, RViz and Gazebo, writing custom launch files, and configuring robot drivers. Much of that setup then needs rebuilding every time a new robot model or environment is introduced.

OLO Platform - Teleoperation panel.png

OLO is a browser-based platform built directly on ROS 2, designed to remove that infrastructure overhead without abstracting away the framework itself. ROS 2, Gazebo, Nav2, MoveIt 2 and RViz all remain in place. OLO packages access to that ecosystem into a single browser-based workflow for robots, simulations, telemetry, video and code.

Here’s how the architecture works, and what it looks like in practice across two hardware integrations, DEEP Robotics’ quadrupeds and Fiction Lab’s Leo Rover.

OLO Architecture.png

The appliance bridges ROS 2 to the browser

The connection between a robot and OLO is handled by what we call the appliance. This is robot-side software, available as a Docker container or pre-configured hardware, that bridges ROS 2 to the OLO portal and executes code locally.

Local execution is important because OLO isn’t simply a remote-control web interface dependent on an open browser tab. Code runs on the appliance, close to the robot and on the same network as the ROS 2 graph, so scripts, scheduled jobs and robot-side behaviours continue operating locally even when cloud connectivity is intermittent or unavailable.

Once the appliance is running on the same network as the robot, any ROS 2 topics it broadcasts appear automatically in the platform, with a full topic and node explorer visualising the data and publish-subscribe relationships, without custom bridging code. The OLO SDK provides a higher-level API over ROS 2 operations covering topic management, robot control, navigation, joint control, planning scene management and vision analysis, while still exposing direct ROS 2 access for developers who need it.

OLO PLatform - Node Explorer.jpg

This reduces the bespoke engineering required for hardware integrations. Because OLO is built on ROS 2 itself rather than a proprietary layer on top of it, any robot or ROS 2 network already broadcasting ROS 2 topics is visible to the platform. Different robots still expose different topic names, services, actions, coordinate frames and command semantics, so discovery doesn’t mean full control without configuration. But where a robot exposes standard ROS 2 interfaces, OLO can discover, visualise and interact with much of that interface immediately, with robot-specific profiles sitting above the discovered ROS 2 graph for richer control.

On ROS 2-compatible DEEP Robotics platforms, for example, the appliance picks up the robot’s existing topics, joint states and sensor feeds, presenting them in the topic explorer. A simple example of subscribing to a quadruped’s joint state topic through the SDK, in JavaScript, looks like this:

await oloClient.core.subscribe('/joint_states', (msg) => {

 console.log('Names:', msg.name);

 console.log('Positions:', msg.position);

 console.log('Velocities:', msg.velocity);

 console.log('Effort:', msg.effort);

});

OLO Platform - Topic Viewer - Raw JSON.png

The same pattern applies regardless of robot type. The SDK call doesn’t change based on whether the underlying hardware is a legged platform or a wheeled rover, because the abstraction sits at the ROS 2 level rather than the robot level. The robot-specific work is then about mapping that robot’s capabilities properly, not rebuilding the development environment from scratch.

Cloud Sim and the sim-to-real workflow

For development before hardware is available or shipped, OLO offers Cloud Sim. The appliance is automatically provisioned, with the platform spinning up a simulated robot environment and connected virtual appliance, so the developer sees the robot’s digital twin in the visualiser immediately, with no installation step.

The simulation runs in the cloud, with Gazebo handling the physics, and OLO presents the live robot state through its browser-based visualiser, with a catalogue of indoor and outdoor environments. Objects can be pulled into the scene from the online Fuel catalogue, with their physical properties adjusted to test how a robot responds to its surroundings.

OLO Platform dual-panel view with the browser-based ROS 2 visualiser on the left showing a DEEP Robotics Lite3 quadruped with LiDAR point cloud overlay and overhead map, alongside the Ignition Gazebo 3D simulation on the right rendering the same quadruped in a furnished office environment with wooden floors and bar-height seating   |   Caption: OLO Platform — Office Environment Simulation: browser-based ROS 2 visualiser alongside Ignition Gazebo 3D render of DEEP Robotics Lite3 in a simulated office

This is purpose-built for testing, kinematics, navigation and application development rather than large-scale reinforcement learning, and isn’t a substitute for AI training environments such as Isaac Sim, though that’s an area we’re investigating. What matters for the sim-to-real workflow is that the same SDK and code run in both the simulated and real environments. A developer working against a Leo Rover’s digital twin in Cloud Sim writes against the same topics, services and SDK calls they’ll use once the physical rover arrives, with no reconfiguration step between simulation and deployment, because the underlying interface remains ROS 2.

In practice, a customer ordering a Leo Rover bundled with OLO can begin development the day they place the order, testing navigation and manipulation logic in simulation before moving directly into deployment when the hardware arrives. We test every supported robot extensively from simulation through to real hardware, though the usual caveats of moving from simulated to physical environments still apply, and simulation remains a development accelerator rather than a guarantee every real-world variable has been captured. Several OEM and distributor partners are now using the simulation as a try-before-you-buy environment for prospective customers ahead of any hardware purchase.

Recording, replay and debugging

Robotics problems are often hard to reproduce. A robot behaves unexpectedly, a sensor stream drops, a navigation command fails, or a camera feed doesn’t line up with the robot’s state, and if the only record is what an operator saw in the moment, debugging becomes guesswork.

OLO Platform - Topic Viewer - Raw JSON.png

OLO makes recording and replay part of the normal workflow. Topic data, telemetry, video and robot events can be captured so teams can review what happened after the fact, both during development and once robots are operational. A failed test, an edge-case behaviour or a support issue can be investigated using the same browser-based environment used to build and control the robot. This also strengthens the sim-to-real workflow, since developers can compare simulated behaviour with real-world runs, inspect differences in sensor data, and replay sessions when tuning control logic or diagnosing faults, bringing simulation, operation and debugging into a continuous loop.

AI-assisted coding, with full transparency

On top of the SDK sits AI-assisted coding. A developer can describe what they want in natural language and receive working Python or JavaScript, generated by an assistant grounded in OLO’s documentation and SDK examples. None of this is a black box. Any code the assistant writes is reviewable, with changes, omissions and additions clearly highlighted, and developers can test the code before applying it.

That transparency matters when robotics code interacts with physical systems. The aim is to accelerate the repetitive parts of working with ROS 2 while leaving the developer in control, able to inspect generated code, understand which topics, services or actions are being used, and modify it directly when needed. OLO provides a higher-level interface where that helps, without removing access to the underlying ROS 2 system.

 

Handling live robot data from the browser

A browser-based platform raises an obvious question around responsiveness, particularly for teleoperation, video and live sensor data. OLO treats different types of robot data differently rather than forcing everything through a single channel. Commands, telemetry, topic data, sensor streams and video each have different requirements around reliability, latency, compression and adaptability to network conditions, and OLO manages those differences behind the scenes so developers and operators can work from a browser without designing the networking layer themselves.

The appliance plays an important role, sitting close to the robot. It communicates locally with the ROS 2 environment, manages the flow of data back to the portal, and avoids exposing the robot’s ROS 2 network directly to the public internet. Where connectivity is limited, data can be filtered, reduced or prioritised so the operator still sees what matters. In practice, a user can open a browser tab, inspect live robot state, view video, send commands and monitor telemetry without needing to understand the underlying transport mechanisms, while the platform still respects the realities of bandwidth, latency and network security.

Taken together, the appliance, the cloud simulation environment, recording and replay, live data handling, and AI-assisted coding function as a single continuous pipeline rather than separate tools bolted onto ROS 2. A developer can move from a digital twin to physical hardware, and from a natural language description to reviewable production code, without changing the underlying interface at any stage. For OEMs and distributors, that translates into a practical route to adoption. Customers can try a robot in simulation before buying it, developers can begin writing code before the hardware arrives, and support teams can inspect telemetry and replay sessions without recreating a customer’s environment. That continuity, rather than any single feature, is what determines how quickly a robotics integration reaches deployment.

RobotToday Initiative

Robotics needs a service framework.

RSF defines a common language for robot service capability, lifecycle operations, certification pathways, and service-provider networks.

Share
Written by
Nick Thompson - Co-founder & CEO

Co-founder & CEO, OLO Robotics