Improving streaming performance for high-rate data and large messages
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.
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.
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:
You should now see your live robotics data loading in your Foxglove layout! Add new panels to start exploring your data.
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.