foxglove/foxglove-sdk

Log and visualize multimodal data for robotics and physical AI

What it solves

Foxglove SDK provides a standardized way to log and visualize multimodal data from robotics and other sensor-heavy systems. It eliminates the need to build custom visualization tools for every project by providing a set of built-in message types and a compatible format for streaming or recording data.

How it works

The SDK is written in Rust but provides bindings for Python and C++. It allows developers to:

  • Stream live data: Send data to the Foxglove Studio visualization platform over a local WebSocket.
  • Log data: Save data to MCAP files for later analysis and visualization.
  • Define messages: Use built-in Foxglove message types for common visualizations or create custom messages using supported serialization formats (such as Protobuf, Flatbuffer, JSON, and OMG IDL).
  • Integrate with ROS: Use dedicated ROS packages (bridge and message types) for seamless integration with the Robot Operating System.

Who it’s for

Robotics developers and engineers who need to visualize sensor data, system logs, and multimodal data in real-time or from recorded files.

Highlights

  • Multimodal support: Handles a wide variety of data types across different sensors.
  • Multi-language support: Native libraries for Rust, Python, and C++.
  • Cross-platform compatibility: Integration with ROS distributions (Humble, Jazzy, Kilted, Rolling).
  • Standardized logging: Support for the MCAP file format for high-performance logging.

Related

  • Project
  • Project
  • Project
  • Project
  • Project