Studio can inspect data via a running ROS connection (i.e. a live robot, simulation, etc.) or from a recorded ROS
Select a data source from the sidebar's Connection menu.
We currently support ROS 1, but are hoping to add support for ROS 2 and non-ROS data sources. If this is something you'd be interested in, please share what protocols or serialization formats you're using.
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 (Websocket) connection detailed in the next section instead.
The easiest way to start seeing data in Studio is to connect to a running ROS system – this a TCP (Transmission Control Protocol) connection to directly access your ROS master and nodes.
To get a ROS master running, run
roscore in your terminal:
Now in Studio, use the sidebar to add ROS as a data source, 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.
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
Rosbridge (WebSocket) Connection
A rosbridge connection connects to your ROS master over WebSockets. Because a rosbridge connection uses a standard protocol and only requires one port to be open on your ROS host, this is a better option if you have a network firewall between ROS and Studio. On the flip side, it does require running an extra ROS node – rosbridge_server.
Before you start, make sure you’ve installed
rosbridge-suite. On Ubuntu / Debian, the package name is
ros-<version>-rosbridge-suite. For example, to install rosbridge for ROS Noetic, run:
sudo apt install ros-noetic-rosbridge-suite
Next, ensure you do not already have a ROS master running, and start the websocket server:
roslaunch rosbridge_server rosbridge_websocket.launch
In the following example, the server is listening on port
Now in Studio, use the sidebar to add Rosbridge (WebSocket) as a data source, and enter the URL to your websocket server:
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. Check out the
/connected_clients topic to see information
rosbridge is publishing about your connection.
ROS .bag file
Lastly, you can inspect data recorded in ROS
.bag files, whether these files are loaded from your local filesystem or fetched from a remote URL.
To load a local
.bag file, use the sidebar in Studio to add Bag File (local) as a data source. Alternatively, you can double-click the file from your file manager, or drag it directly into Studio.
To load a remote
.bag file, use the sidebar in Studio to add Bag File (HTTP) as a data source, and enter the URL to your remote file.
You are now loading your pre-recorded ROS data!
To test, add a Raw Messages panel to your layout, and see a list of available topics populate the dropdown.