Skip to main content
Foxglove lets you see what your robot sees — camera feeds, LiDAR scans, navigation costmaps, TF frames — all from a browser. Works on macOS, Windows, and Linux.

How it works

MARS runs a Foxglove Bridge node that exposes ROS2 topics over WebSocket. You connect to it from Foxglove on your laptop.
MARS (ROS2 topics) → Foxglove Bridge (WebSocket :8765) → Your browser

Setup

1

SSH into MARS

ssh jetson1@<YOUR-ROBOT-IP>
2

Install Foxglove Bridge (if not already installed)

sudo apt install ros-humble-foxglove-bridge
3

Start the bridge

ros2 launch foxglove_bridge foxglove_bridge_launch.xml
The bridge listens on port 8765 by default.
4

Open Foxglove in your browser

Go to app.foxglove.dev.Click Open connectionFoxglove WebSocket → enter:
ws://<YOUR-ROBOT-IP>:8765
5

Add panels

Once connected, add visualization panels:
  • Image panel → select /oak/rgb/image_raw for the camera feed
  • 3D panel → see TF frames, LiDAR, and navigation paths
  • Plot panel → graph any numeric topic over time
  • Raw Messages panel → inspect any topic’s raw data

Useful topics to visualize

TopicTypeWhat you see
/oak/rgb/image_rawImageMain camera feed
/scanLaserScanLiDAR sweep
/odomOdometryRobot position and velocity
/cmd_velTwistVelocity commands being sent
/mapOccupancyGridSLAM map
/battery_stateBatteryStateBattery voltage and percentage
/tfTFAll coordinate frames

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:
source /opt/ros/humble/setup.bash
rviz2
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: ros2 node list | grep foxglove.
  • Try the IP address directly instead of .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. Use a wired Ethernet connection for the best experience.
  • In Foxglove, reduce the image panel’s update rate or use compressed image topics if available.