Remote Access
Remote access lets members of your organization visualize and teleoperate devices through the Foxglove platform. A gateway running on the device authenticates with a device token and connects out to Foxglove, so the device is reachable even when it's behind a firewall or on cellular.
Built on WebRTC, remote access is designed for real-world networks:
- NAT traversal. The Foxglove platform provides STUN and TURN relays, so the device doesn't need inbound ports or a public IP.
- Efficient fan-out. The gateway uploads each stream at most once to a Foxglove-managed SFU (Selective Forwarding Unit), which multicasts to every connected client.
- Low-latency delivery. Messages flow over lossy data channels by default to minimize latency on unreliable networks. Topics that need guaranteed delivery (like static transforms) can opt into reliable delivery.
- Adaptive-bitrate video. Image data is transcoded into a video track whose quality adapts to available bandwidth on both legs of the connection (device to SFU, SFU to client).
Setting up a gateway
There are two ways to run a remote access gateway on a device.
Use the Foxglove SDK when you want full control over which data is published, or when working with a custom (non-ROS) robotics stack.
Use the Foxglove Bridge for a quick setup with an existing ROS 2 stack. See the bridge's remote access configuration for setup instructions.
Connecting to a device
On the Devices page, open the detail page for a device with an active gateway and click Connect to open it for live visualization and teleoperation.