article
ROS
visualization

Announcing the New Foxglove Bridge for Live ROS Data

Improving streaming performance for high-rate data and large messages

article
ROS
visualization

The new Foxglove bridge connection dramatically improves streaming performance, provides custom message and publishing support, and offers reliable live connections to your ROS 1 and ROS 2 stacks. Install the foxglove_bridge ROS package to start connecting live to your robots in Foxglove.

The next generation of live ROS debugging

With foxglove_bridge, Foxglove users now have a stable, performant, and out-of-the-box solution for connecting live to their ROS 1 and ROS 2 systems. Foxglove bridge is a ROS node implemented in C++ for high performance and low overhead, and is designed to minimize impact when running on your robot or developer workbench.

With this new bridge, there’s no need to make tradeoffs. It maintains the low overhead and high performance of native connections, while supporting ROS 2 custom messages like Rosbridge connections. Connecting to your robot from outside the ROS stack also becomes easier than ever, as the Foxglove bridge reduces the networking complexity between Foxglove and your robot.

Since we've learned that Rosbridge can struggle with streaming high-frequency topics and large messages like images and point clouds – both from Foxglove users and our own testing – we designed Foxglove bridge to tackle these performances issues and to provide a dramatically streamlined experience for Foxglove users debugging their robot.

Rosbridge vs. Foxglove Bridge performance

Streaming Intel RealSense images (1280x720 raw rgb8 images) from a NVIDIA Jetson TX2 robot. We found that Rosbridge was unable to keep up with reading, serializing, and sending all streamed data, dropping ~36% of messages.

Once you’ve installed and added the foxglove_bridge node to your ROS stack, open Foxglove to open a Foxglove WebSocket connection:

Foxglove welcome dialog

You should now see your live robotics data loading in your Foxglove layout! Add new panels to start exploring your data.

Stay tuned

Robotics teams shouldn’t have to jump through hoops to view their live data. With the foxglove_bridge, we hope Foxglove users can more reliably connect to their systems – regardless of framework or data format – and spend more of their precious development time taking full advantage of our visualization and debugging features.

To learn more about our new foxglove_bridge, check out the Foxglove data connection docs and the package’s GitHub repo.

As always, join our Discord community to ask questions, or reach out to us directly with any feedback.

Read more

Start building with Foxglove.

Get started for free