Skip to main content
Foxglove lets you see what your robot sees — camera feeds, LiDAR scans, navigation costmaps, TF frames, and /cmd_vel teleop — all from a browser. Works on macOS, Windows, and Linux. Foxglove connected to MARS — camera feed, map, laser scan, and TF frames

How it works

MARS runs a Foxglove Bridge that exposes ROS2 topics over WebSocket. You connect to it from Foxglove Studio on your laptop.
In the simulator the bridge is always on. On a physical robot it is opt-in — you start it with the innate CLI.

Setup

1

Start the bridge on MARS

SSH into the robot (or use a terminal on it) and start the bridge:
innate foxglove start prints the exact ws:// URL to connect to.
2

Open Foxglove in your browser

Go to app.foxglove.dev (or open the desktop app).Click Open connectionFoxglove WebSocket → enter the printed URL:
3

Add panels

Once connected, add visualization panels:
  • Image panel → select a camera topic (see below) for the camera feed
  • 3D panel → see TF frames, LiDAR, point clouds, and navigation paths
  • Plot panel → graph any numeric topic over time
  • Raw Messages panel → inspect any topic’s raw data
Over Wi-Fi, subscribe to the /mars/main_camera/remote/* topics, not the raw ones. The raw camera images (~0.9 MB/frame) and point clouds (/mars/main_camera/points, ~10 MB/s) are far more than a Wi-Fi link can carry, so every panel — including /cmd_vel — falls seconds behind. The remote/ namespace carries the same topics throttled to ~2 Hz (images already compressed), which fits comfortably. Prefer the .../compressed image topics and mono remote/points over remote/points_color. On a wired connection or the simulator, the raw topics are fine.

Useful topics to visualize


RViz alternative (Linux only)

If you’re on a Linux machine with ROS2 Humble installed, you can use RViz directly. It connects to MARS over Zenoh DDS — no bridge needed. Make sure your machine is on the same network and Zenoh discovery can reach the robot. Then:
Add displays for the topics you care about. RViz gives you the most complete visualization experience but requires a native Linux + ROS2 setup.

Troubleshooting

  • Verify MARS and your laptop are on the same network.
  • Check the bridge is running: innate foxglove status, or ros2 node list | grep foxglove.
  • Use the exact ws:// URL that innate foxglove start printed.
  • Try the IP address directly instead of a .local hostname.
  • Make sure port 8765 isn’t blocked by a firewall.
  • The bridge only exposes topics that are actively published. Make sure ROS nodes are running: innate view.
  • Try ros2 topic list on the robot to confirm topics exist.
  • Image topics are bandwidth-heavy. Over Wi-Fi, use the /mars/main_camera/remote/* topics and .../compressed variants (see the note above); for the full-rate raw topics, use a wired connection.
  • In Foxglove, reduce the image panel’s update rate.