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.
Nodes
- Browse all active ROS2 nodes
- Group nodes by namespace
- Search and filter nodes
- View hidden nodes
- 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
- Browse all available ROS2 topics
- Group topics by namespace
- Search and filter topics
- View topic types and hidden topics
- View detailed topic information
- Display topic interface types and their definition
- Show publishers and subscribers
- Publish messages to ROS2 topics
- Edit the published message as YAML/JSON/CSV
- Publish once or as continuous stream
- Subscribe to ROS2 topics
- Receive messages as YAML/JSON/CSV
- Message history and filtering
- Get only one message or the continuous stream
Services
- Browse all available ROS2 services
- Group services by namespace
- Search and filter services
- View service types and hidden services
- View detailed service information
- Show service providers
- Display service request/response interface type and definition
- Quickly jump to the service call page
- Call ROS2 services
- Edit the service request as YAML/JSON/CSV
- View service responses
Actions
- Browse all available ROS2 actions
- Group actions by namespace
- Search and filter actions
- View action types
- View detailed action information
- Display action interface type and definition
- Show action servers and clients
- Access goal/result/feedback structure
- Send goals to ROS2 action servers
- Edit the goal message as YAML/JSON/CSV
- View feedback and results
Parameters
- Browse all ROS2 parameters
- Group parameters by node
- Search and filter parameters
- View parameter types and values
- Edit ROS2 parameter values
- Support for different parameter types
- Real-time parameter updates
- Parameter validation
Packages
- Browse all ROS2 packages
- Search and filter packages
- View package information
- View detailed package information
- Show package executables
- Access package metadata
- Display package dependencies
- Create new ROS2 packages
- Configure package settings
- Set dependencies and build type
- Specify destination directory
Launch Files
- Browse available launch files
- Search and filter launch files
- View launch file information
- ! STILL EXPERIMENTAL !
- View launch file details
- Display launch arguments, and started nodes
- Launch file execution
Interfaces
- Browse ROS2 message/service/action interfaces
- Interfaces are grouped by their packages
- Switch between all/msgs/srvs/actions interfaces types
- Access interface infos
- 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)
- Show raw interface definition as YAML/JSON/CSV
- Copy string representation into clipboard
Misc
- View TF transformation tree
- Display coordinate frames
- Show frame relationships
- Display ROS2 image topics
- Show images as single shot or continuous stream
- Image format support
- Display image meta data
- Robot teleoperation interface with Twist (and later Joy)
- Control it via direction buttons or via keyboard
- ! STILL EXPERIMENTAL !
- Visualize ROS2 node-topic connections
- Interactive graph layout
- Quickly jump to respectify info page for further info on the node/topic
- ! STILL EXPERIMENTAL !
- Monitor robot joint states
Diagnosis
- ROS2 system diagnostics
- Network configuration check
- Package version information
- QoS compatibility analysis
- View ROS2 log messages
- Filter logs by severity
- Regex search for messages and nodes
GUI Features
- Change the settings of the application
- Set ROS2 environmental variables
- Theme and appearance options
- Behavior configuration
- Multiple windows via detachable pages
CTRL+RorF5triggers a refresh of the pageCTRL+Ftriggers the search on every pageCTRL+Ddetaches the current page into a new windowCTRL+ENTERtriggers the pages main action (like publish)CTRL+Qcloses the current window
- DARK THEME! (depending on the current system theme)
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! THIS IS NOT WORKING YET, but hopefully will in the future (I'm waiting for approval) !
sudo apt install ros-jazzy-insight-gui- Create the workspace and clone this repo:
mkdir -p ros2_ws/src
cd ros2_ws/src
git clone https://github.com/julianmueller/insight_guiIf 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.bashLike every other ros2 node, the GUI is started by:
ros2 run insight_gui mainGPLv3. See LICENSE.