⚠️ Alpha Version / PoC: This tool was created to simplify ROS 2 usage on Windows. Code quality is subject to improvement. Feedback is welcome!
Visual Scripting IDE for ROS 2 (Robot Operating System)
ROS 2 Blueprint Studio is a standalone desktop application that allows you to create, configure, and run ROS 2 nodes using a visual node-based editor similar to Unreal Engine Blueprints.
It runs entirely on Windows (and Linux) without requiring a local ROS 2 installation, thanks to Docker integration.
🔌 Visual Scripting & Custom Node Palette: Design ROS 2 systems intuitively by connecting nodes. Save your own C++ or Python node templates into a customizable Node Library and drag-and-drop them onto the canvas for instant reuse.
📦 Hierarchical Subgraphs (Macros): Group related logic into composite nodes and "dive deep" into subsystems. Enter/exit subgraphs, dissolve groups (Del) or delete them with contents (Ctrl+Del) — with full save/load persistence.
🐳 Deploy Groups → docker-compose: Each subgraph can become its own deployment unit. The studio generates per-group launch files and a ready-to-use docker-compose.yml, so one visual graph maps onto multiple isolated containers.
🐍 & ⚙️ C++ / Python — both alive end-to-end: Full workflow for both languages: graph → generated code → build (colcon for C++) → live nodes in Docker. Standard CMakeLists.txt / package.xml are generated automatically with Smart Dependency Scan.
📝 Real Code Editing with Live Sync: Double-click a node to open its actual source file in your system editor. External edits are watched and synced back into the graph — and manual changes survive regeneration.
🦊 Foxglove Visualization — no X server required: One click installs and starts foxglove_bridge inside the container and opens Foxglove for live 3D visualization (markers, topics, cameras). No more XLaunch pain on Windows. Classic X11/RViz mode is still available as an option.
💾 Robust Project System & UI Persistence: Blueprints and node properties are saved as structured YAML. Node coordinates, dynamic ports, colors, and workspace layout are preserved between sessions.
📤 Portable Docker Export: Export your whole system as a self-contained Docker package (Dockerfile + sources + launch) that builds and runs anywhere — with automatic cleanup of stale files.
🚀 Standalone Cross-Platform GUI: Dark-themed Material Design interface built with Qt, dockable panels, and real-time terminal monitoring. Runs on Windows and Linux.
To run this application, you must have Docker installed and running.
- Windows: Install Docker Desktop.
- Linux: Install Docker Engine
- Go to the Releases page of this repository.
- Download the latest executable (
ROS2Studio.exefor Windows). - Run the file.
Note: The first launch might take a few minutes as it pulls the ROS 2 Docker image (~2GB).
If you want to modify the code or contribute:
-
Clone this repository:
git clone https://github.com/NeiroEvgen/ros2-blueprint-studio.git cd ros2-blueprint-studio -
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
- Launch the App: Ensure Docker is running in the background.
- Add Nodes: On the left "Library" panel, double-click on
PublisherandSubscriber. - Connect: Drag a wire from the out port of the Publisher to the in port of the Subscriber.
- Run: Click the Run button (Play icon) in the toolbar.
- Observe: Watch the "ROS 2 Output" panel at the bottom. You should see messages flowing between nodes.
- Custom Logic: Add a
Custom Codenode, double-click it, and write your own data processing logic!
If you want to build the executable yourself from the source:
Run this command in PowerShell or CMD:
pyinstaller --noconsole --onefile --clean --name="ROS2Studio" --add-data "assets;assets" --collect-all qt_material --hidden-import PySide6.QtSvg --hidden-import PySide6.QtXml --hidden-import NodeGraphQt main.pypyinstaller --noconsole --onefile --clean --name="ROS2Studio" --add-data "assets:assets" --collect-all qt_material --hidden-import PySide6.QtSvg --hidden-import PySide6.QtXml --hidden-import NodeGraphQt main.py