insight_gui repository

insight_gui repository

insight_gui

Repository Summary

Description 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.
Checkout URI https://github.com/julianmueller/insight_gui.git
VCS Type git
VCS Version jazzy
Last Updated 2025-06-27
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
insight_gui 0.1.1

README

Insight
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 Node List - Browse all active ROS2 nodes - Group nodes by namespace - Search and filter nodes - View hidden nodes ### Node Info Page Node Info - 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 Topic List - Browse all available ROS2 topics - Group topics by namespace - Search and filter topics - View topic types and hidden topics ### Topic Info Page Topic Info - View detailed topic information - Display topic interface types and their definition - Show publishers and subscribers ### Topic Publisher Page Topic Publisher - Publish messages to ROS2 topics - Edit the published message as YAML/JSON/CSV - Publish once or as continuous stream ### Topic Subscriber Page Topic Subscriber - 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 Service List - Browse all available ROS2 services - Group services by namespace - Search and filter services - View service types and hidden services ### Service Info 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 Service Call - Call ROS2 services - Edit the service request as YAML/JSON/CSV - View service responses
Actions ### Action List Page Action List - Browse all available ROS2 actions - Group actions by namespace - Search and filter actions - View action types ### Action Info Page Action Info - View detailed action information - Display action interface type and definition - Show action servers and clients - Access goal/result/feedback structure ### Action Goal Page Action Goal - Send goals to ROS2 action servers - Edit the goal message as YAML/JSON/CSV - View feedback and results
Parameters ### Parameter List Page Parameter List - Browse all ROS2 parameters - Group parameters by node - Search and filter parameters - View parameter types and values ### Parameter Edit Page Parameter Edit - Edit ROS2 parameter values - Support for different parameter types - Real-time parameter updates - Parameter validation
Packages ### Package List Page Package List - Browse all ROS2 packages - Search and filter packages - View package information ### Package Info Page Package Info - View detailed package information - Show package executables - Access package metadata - Display package dependencies ### New Package Dialog New Package Dialog - Create new ROS2 packages - Configure package settings - Set dependencies and build type - Specify destination directory
Launch Files ### Launch List Page Launch List - Browse available launch files - Search and filter launch files - View launch file information ### Launch Info Page Launch Info - ! STILL EXPERIMENTAL ! - View launch file details - Display launch arguments, and started nodes - Launch file execution
Interfaces ### Interface Browser Page Interface Browser - 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 Interface Info - 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 Interface Definition - Show raw interface definition as YAML/JSON/CSV - Copy string representation into clipboard
Misc ### TF Page TF Page - View TF transformation tree - Display coordinate frames - Show frame relationships ### Image Viewer Page Image Viewer - Display ROS2 image topics - Show images as single shot or continuous stream - Image format support - Display image meta data ### Teleop Teleop Page - Robot teleoperation interface with Twist (and later Joy) - Control it via direction buttons or via keyboard ### Graph Page Graph View - ! 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 Joint States - ! STILL EXPERIMENTAL ! - Monitor robot joint states
Diagnosis ### Doctor Page Doctor Page - ROS2 system diagnostics - Network configuration check - Package version information - QoS compatibility analysis ### Logger Page Logger Page - View ROS2 log messages - Filter logs by severity - Regex search for messages and nodes
GUI Features ### Preferences Dialog Preferences - Change the settings of the application - Set ROS2 environmental variables - Theme and appearance options - Behavior configuration ### Multi-Window Support Multi-Window - Multiple windows via detachable pages ### Shortcuts - `CTRL+R` or `F5` triggers a refresh of the page - `CTRL+F` triggers the search on every page - `CTRL+D` detaches the current page into a new window - `CTRL+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

  1. 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

  1. Install dependencies with rosdep:
rosdep install --from-paths src -y --ignore-src

  1. 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.

CONTRIBUTING

No CONTRIBUTING.md found.

insight_gui repository

insight_gui repository

insight_gui repository

insight_gui repository

insight_gui repository

insight_gui repository

insight_gui repository