insight_gui
Insight is a minimalist GUI alternative to rqt. It is a GTK4-based tool for exploring ROS2 topics, services, and messages, featuring the GNOME Adwaita style.
README
Insight - a minimalist GUI for ROS2
Insight is a minimalist GUI alternative to rqt. It is a GTK4-based tool for exploring ROS2 topics, services, and messages, featuring the GNOME Adwaita style.
Features
Nodes
Node List Page

Browse all active ROS2 nodes
Group nodes by namespace
Search and filter nodes
View hidden nodes
Node Info Page

View detailed node information
Display node publishers, subscribers
Show service clients and servers and action clients and servers
Show Node parameters and jump to the parameter edit page
Topics
Topic List Page

Browse all available ROS2 topics
Group topics by namespace
Search and filter topics
View topic types and hidden topics
Topic Info Page

View detailed topic information
Display topic interface types and their definition
Show publishers and subscribers
Topic Publisher Page

Publish messages to ROS2 topics
Edit the published message as YAML/JSON/CSV
Publish once or as continuous stream
Topic Subscriber Page

Subscribe to ROS2 topics
Receive messages as YAML/JSON/CSV
Message history and filtering
Get only one message or the continuous stream
Services
Service List Page

Browse all available ROS2 services
Group services by namespace
Search and filter services
View service types and hidden services
Service Info

View detailed service information
Show service providers
Display service request/response interface type and definition
Quickly jump to the service call page
Service Call Page

Call ROS2 services
Edit the service request as YAML/JSON/CSV
View service responses
Actions
Action List Page

Browse all available ROS2 actions
Group actions by namespace
Search and filter actions
View action types
Action Info Page

View detailed action information
Display action interface type and definition
Show action servers and clients
Access goal/result/feedback structure
Action Goal Page

Send goals to ROS2 action servers
Edit the goal message as YAML/JSON/CSV
View feedback and results
Parameters
Parameter List Page

Browse all ROS2 parameters
Group parameters by node
Search and filter parameters
View parameter types and values
Parameter Edit Page

Edit ROS2 parameter values
Support for different parameter types
Real-time parameter updates
Parameter validation
Packages
Package List Page

Browse all ROS2 packages
Search and filter packages
View package information
Package Info Page

View detailed package information
Show package executables
Access package metadata
Display package dependencies
New Package Dialog

Create new ROS2 packages
Configure package settings
Set dependencies and build type
Specify destination directory
Launch Files
Launch List Page

Browse available launch files
Search and filter launch files
View launch file information
Launch Info Page

! STILL EXPERIMENTAL !
View launch file details
Display launch arguments, and started nodes
Launch file execution
Interfaces
Interface Browser Page

Browse ROS2 message/service/action interfaces
Interfaces are grouped by their packages
Switch between all/msgs/srvs/actions interfaces types
Access interface infos
Interface Info Page

View interface constants
Separate message / service (request/response) / action (goal/feedback/result)
Navigate through nested interfaces
Open interface definitions in a separate text editor or show it online
View detailed interface definitions
Display default values for basic data types (like int, string etc)
Interface Definition Page

Show raw interface definition as YAML/JSON/CSV
Copy string representation into clipboard
Misc
TF Page

View TF transformation tree
Display coordinate frames
Show frame relationships
Image Viewer Page

Display ROS2 image topics
Show images as single shot or continuous stream
Image format support
Display image meta data
Teleop

Robot teleoperation interface with Twist (and later Joy)
Control it via direction buttons or via keyboard
Graph Page

! STILL EXPERIMENTAL !
Visualize ROS2 node-topic connections
Interactive graph layout
Quickly jump to respectify info page for further info on the node/topic
Joint States Page

! STILL EXPERIMENTAL !
Monitor robot joint states
Diagnosis
Doctor Page

ROS2 system diagnostics
Network configuration check
Package version information
QoS compatibility analysis
Logger Page

View ROS2 log messages
Filter logs by severity
Regex search for messages and nodes
GUI Features
Preferences Dialog

Change the settings of the application
Set ROS2 environmental variables
Theme and appearance options
Behavior configuration
Multi-Window Support

Multiple windows via detachable pages
Shortcuts
CTRL+R
orF5
triggers a refresh of the pageCTRL+F
triggers the search on every pageCTRL+D
detaches the current page into a new windowCTRL+ENTER
triggers the pages main action (like publish)CTRL+Q
closes the current window
Appearance
DARK THEME! (depending on the current system theme)
Prerequisites
Install the following packages, as some currently cannot be installed by rosdep (I’m working on it).
sudo apt install libgtk-4-dev libgirepository1.0-dev adwaita-icon-theme libadwaita-1-dev libglib2.0-dev python3-gi python3-gi-cairo python3-networkx python3-graphviz
Installation
Binary Install with apt
! THIS IS NOT WORKING YET, but hopefully will in the future (I’m waiting for approval) !
sudo apt install ros-jazzy-insight-gui
Install from Source
Create the workspace and clone this repo:
mkdir -p ros2_ws/src
cd ros2_ws/src
git clone https://github.com/julianmueller/insight_gui
If you want the jazzy-dev
branch, where I’m currently working on the latest features, use:
git clone -b jazzy-dev https://github.com/julianmueller/insight_gui
Install dependencies with rosdep:
rosdep install --from-paths src -y --ignore-src
Build the workspace:
colcon build --symlink-install
source install/setup.bash
Execution
Like every other ros2 node, the GUI is started by:
ros2 run insight_gui main
License
GPLv3. See LICENSE.