Native ROS 1 and ROS 2

The easiest way to start seeing data in Studio is to connect to a running ROS system – this is a native TCP (Transmission Control Protocol) connection that accesses your ROS master and nodes directly.

Docker for Mac unfortunately does not expose all container ports to the macOS host, and so does not support bridge or host networking. Use the Rosbridge connection instead.

To get a ROS master running, run roscore in your terminal:

running ros

Now in Studio, use the sidebar to add ROS 1 or ROS 2 as a data source (depending on the ROS version you are running), and enter your ROS master's IP and port. If you're experiencing any issues, ensure you have unrestricted network connectivity between your ROS stack and Studio, as ROS uses multiple ports to communicate.

ros dialog

You are now connected to ROS!

To test your connection, add a Raw Messages panel to your layout, and see a list of available topics populate the dropdown. If you are not yet running any ROS nodes, you should only see the /rosout_agg topic.

Current limitations

Native ROS 1 connections can decode custom message definitions and allow you to publish back to your ROS stack.

Native ROS 2 connections, however, currently have the following limitations:

Both native ROS 1 and ROS 2 connections do not yet support reading or setting ROS parameters.