/cmd_vel teleop — all from a browser. Works on macOS, Windows, and Linux.

How it works
MARS runs a Foxglove Bridge that exposes ROS2 topics over WebSocket. You connect to it from Foxglove Studio on your laptop.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 connection → Foxglove 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:Troubleshooting
Can't connect to WebSocket
Can't connect to WebSocket
- Verify MARS and your laptop are on the same network.
- Check the bridge is running:
innate foxglove status, orros2 node list | grep foxglove. - Use the exact
ws://URL thatinnate foxglove startprinted. - Try the IP address directly instead of a
.localhostname. - Make sure port
8765isn’t blocked by a firewall.
No topics showing up
No topics showing up
- The bridge only exposes topics that are actively published. Make sure ROS nodes are running:
innate view. - Try
ros2 topic liston the robot to confirm topics exist.
High latency on camera feed
High latency on camera feed
- Image topics are bandwidth-heavy. Over Wi-Fi, use the
/mars/main_camera/remote/*topics and.../compressedvariants (see the note above); for the full-rate raw topics, use a wired connection. - In Foxglove, reduce the image panel’s update rate.

