Foxglove Studio - visualization and debugging for ROS

Hi everyone,

I’m excited to share Foxglove Studio (foxglove.dev), a new open source tool that we have been working on for robotics visualization and debugging. It’s similar in some ways to existing ROS tools (rviz, rqt, etc), but in one integrated tool, with some extra features thrown in.

We would love feedback - feel free to download it (foxglove.dev/download) and give it a try. Feature requests and PRs are welcome! You can reach us here, or on Slack or GitHub.

We have builds for Linux (Ubuntu/Debian), macOS, and Windows, so it’s easy to get started. You can open ROS bag files, or connect to a running ROS master (either directly or via a rosbridge websocket). We currently support ROS 1, and ROS 2 support is planned very soon.

Foxglove began as a fork of Webviz, developed at Cruise and originally introduced in this post. Our team all previously worked at Cruise and worked on + used Webviz. However, Webviz is first and foremost an internal Cruise tool, and we intend to take Foxglove in a different direction (for example, we are focusing on a desktop app rather than browser-based, which allows us to connect directly to TCP sockets and do many other interesting things). I’m happy to share more about our roadmap if people are interested.

18 Likes

Very nice! Thanks for sharing

It seems a wonderful tool, I will try soon !
Thanks for sharing !

Very cool! We will absolutely be trying this tool out in our new project.

I would love to hear what roadmap you have planned beyond ROS2 support.

1 Like

For those following along, we just released v0.3. The major new feature in this version is the ability to connect directly to a live running rosmaster, without needing to run a rosbridge_server node.

We also improved bz2 bag decoding performance, made some improvements to time stamp formatting, and added support for rendering nav_msgs/Path.

Try it out, we’re eager to improve based on your feedback!

https://foxglove.dev/download

@rgov on our roadmap, besides lots of small feature requests that we are getting, some of the major things are ROS 2 support, ability to more easily share layouts among team members, and an extension API so that folks can develop and share plugins.

1 Like

Very nice :smiley: visualizations are cool :sunglasses: Is there a possibility to add grid in 3D view like in RViz?

@Luka_Pevec good idea, we will try to add that in the next version!

1 Like

@amacneil Car in 3D is nice, can the software handle some other renders on top of the pose? Spaceship, Formula, custom URDF? :grin:

@Luka_Pevec yes, another thing on our near term roadmap is custom URDF visualizations… stay tuned :slightly_smiling_face:

@amacneil Wonderful :star_struck: :star_struck:

This looks very good.

We just shipped v0.4, with a stack of new features:

  • Support for rendering raw velodyne_msgs/VelodyneScan messages (without needing to publish them as sensor_msgs/PointCloud2)
  • Support for bags with unpublished transforms referenced in PointCloud2, and transforms with missing parents
  • Many Plot and State Transition panel improvements
  • Many internal updates & refactoring

Full release notes and downloads available on GitHub:

We also have some new packages in our repo, which may be helpful for those working with ROS in JavaScript/TypeScript:

  • @foxglove/ros1 for interfacing directly with ROS1 (similar to rosnodejs, but written in TypeScript, and with a pluggable transport layer).
  • @foxglove/velodyne-cloud for decoding raw Velodyne messages

We haven’t published these packages to npm yet, but intend to soon. If this is something that would help you, please let us know.

3 Likes

Hi friends,

Announcing v0.5 with bunch more features ready for you to test out:

  • We added a grid view in the 3D panel (@Luka_Pevec thanks for the idea!)
  • New Topic Graph panel (replaces rqt_graph)
  • New Map panel (similar to rviz_satellite although it’s just our first version of this panel, feedback welcome)
  • Lots of improvements to how we handle TFs and bags without TFs
  • A whole stack of smaller tweaks, bug fixes, and performance improvements

We’re starting to look into URDF support since several people have asked for that. Let me know if you have any other feedback, or feel free to file GitHub issues or drop by our Slack channel (Community - Foxglove Studio). We’re happy to build any features to make your robotics development workflow easier/faster/better.

3 Likes

A few new things we added last week (v0.6):

  • New URDF panel, that can view URDFs and sliders to adjust joints
  • New ROS Parameters panel (view and edit rosparams)
  • New foxglove:// URL handler

Plus a bunch of other improvements - full release notes here:

As always, feedback welcome!

3 Likes

Thanks for sharing :slight_smile: I would love to try that with ROS2 :slight_smile:

1 Like

We have ROS 2 bag support now!

ROS 2 live connections will be coming very soon.

5 Likes