Blog Verification

How to Share ROS 2 Simulations with Foxglove in the Cloud (2026)

February 10, 2026 • PrevHQ Team

We have all tried to debug a robot remotely. You SSH into the onboard computer. You try to forward X11 to see Rviz. The latency is terrible. The connection drops. You give up and ask the engineer on-site to send you a 50GB bag file.

This workflow is broken. Robotics development is stuck in the “desktop era” while the rest of software has moved to the cloud.

The “Works on My Machine” Problem for Robots

Robots are physical, but their software is digital. The environment on your developer laptop (Ubuntu 24.04, RTX 4090) is almost certainly different from the robot (Jetson Orin, Ubuntu 22.04). These subtle differences cause the most expensive bugs. A node that runs perfectly in simulation crashes on the hardware because of a minor library mismatch.

We need a better way to simulate. We need environments that are identical to the robot but run in the cloud. And crucially, we need a way to see what is happening without downloading gigabytes of data.

The Cloud-Native Robotics Stack (2026)

The solution is to decouple simulation from visualization. Instead of running Gazebo and Rviz on your laptop, run the simulation in a headless container in the cloud. Then, connect a lightweight web visualizer to it.

This is where Foxglove changes the game. Foxglove allows you to visualize ROS 2 topics (camera feeds, LIDAR point clouds, TF frames) over a WebSocket connection. The heavy lifting (physics simulation) happens on the server. The visualization happens in your browser.

Architecture: Ephemeral Simulation Environments

Here is how you build a “Shareable Simulation” pipeline with PrevHQ:

  1. The Headless Sim: Package your ROS 2 stack and Gazebo simulation into a Docker container.
  2. The WebSocket Bridge: Include rosbridge_suite or the Foxglove Bridge in your launch file.
  3. The Ephemeral URL: When a developer opens a Pull Request, PrevHQ spins up this container.
  4. The Instant Link: PrevHQ exposes the WebSocket port (usually 9090 or 8765) via a public HTTPS URL.

You paste this URL into Foxglove Studio. Boom. You are driving the robot in simulation, from your browser, with zero local setup.

Why This Wins

  • No GPU Required: Your product manager can “drive” the robot from a MacBook Air.
  • Perfect Reproducibility: If the simulation crashes in CI, it crashes for everyone. No more “works on my machine.”
  • Instant Context: Share a specific failure scenario with a URL. “Look at how the planner fails when the obstacle is 2 meters away.”

Conclusion

Stop treating simulation as a local task. Treat it as a collaborative, cloud-native workflow. Move the physics to the cloud and the pixels to the browser. Your robots will crash less, and your team will ship faster.

Frequently Asked Questions

Can I run Gazebo in the cloud without a GPU?

Yes, for physics-only simulations (headless). However, for sensor rendering (cameras, LIDAR), you typically need GPU acceleration. PrevHQ offers GPU-enabled instances for this purpose.

How do I secure the WebSocket connection?

You should never expose a raw ROS bridge to the open internet. PrevHQ handles this by wrapping the WebSocket in an authenticated, encrypted tunnel (WSS) that only your team can access.

Does Foxglove work with ROS 1?

Yes, Foxglove supports both ROS 1 and ROS 2. However, the industry has largely migrated to ROS 2 (Humble/Jazzy) for its improved real-time capabilities and security features.

Is this different from AWS RoboMaker?

Yes. AWS RoboMaker is a heavy, managed service often used for large-scale training. PrevHQ is designed for development loops—instant, ephemeral environments for every PR, similar to Vercel but for backend/robotics.

← Back to Blog