Skip to content

About

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.

Resources

Stars

72 stars

Watchers

3 watching

Forks

Repository files navigation

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.

About

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.

Resources

Stars

72 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages