Skip to content

chetan-parihar/ros2_debugging_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROS 2 Debug Desktop App 🚀

A unified, GUI-based dashboard for monitoring, debugging, and managing ROS 2 systems. It visualizes topics, nodes, TF trees, performance metrics, and provides utilities like bag recording and service calls — all in one app.

Author: Chetan Parihar License: MIT (Open Source)


🌟 Features

1. 📡 Topic Monitor

  • Live list of all active ROS 2 topics with types, pub/sub count, and frequency.
  • Echo Tool: Double-click a topic to echo its message (single-shot or continuous).
  • Copy topic names and Frame IDs via right-click menu.


Notes:

  • Double-click topic name → echo once.
  • Double-click frame ID → print frame information.

2. 🌐 Nodes & Graph View

  • Visual graph of ROS 2 network topology.
  • Detailed tree view showing publishers, subscribers, and services per node.
  • Topic filtering for isolating specific connections.


3. 🌳 TF Tree Visualizer

  • Auto-generates TF tree as a PDF and loads it inside the GUI.
  • Static TF Publisher: Publish static transforms (x, y, z, roll, pitch, yaw).
  • Auto-refresh to follow dynamic frame changes.


4. 📊 Performance & Power

  • Real-time CPU, RAM, Disk I/O, and Network monitoring.
  • Per-node breakdown of ROS CPU/memory usage.
  • Estimated power usage based on system load.
  • Searchable ROS and system log viewer.


5. 🔧 Utilities

  • Bag Recorder: Record any selection of topics (.mcap / .db3).

  • Bag Player: Playback recorded data with speed control.

  • Service Caller: GUI interface for calling services using JSON/YAML request bodies.


🛠️ Prerequisites

  1. ROS 2: Tested on Humble; should work on Iron/Jazzy.

  2. Python 3.8+

  3. Required Packages

    sudo apt install ros-humble-desktop ros-humble-tf2-tools ros-humble-rmw-cyclonedds-cpp

    Replace humble with your ROS 2 distro if different.


📦 Installation

Clone and install:

git clone https://github.com/chetan-parihar/ros2_debugging_app.git
cd ros2_debugging_app
sudo apt install python3.10-venv
sudo chmod +x setup.sh
bash setup.sh

Then open a new terminal and simply run:

bug

If PyQt5 gives issues on Linux, install system packages:

sudo apt install python3-pyqt5 python3-pyqt5.qtwebengine

🚀 Usage

Source ROS:

source /opt/ros/humble/setup.bash
# source ~/ros2_ws/install/setup.bash  # optional for local packages

Run the app:

python3 main.py

Or use the global alias:

bug

🐛 Troubleshooting

ModuleNotFoundError: rclpy You forgot to source ROS. Run:

source /opt/ros/humble/setup.bash

TF tree not visible Install TF tools:

sudo apt install ros-humble-tf2-tools

Graph view empty Install Qt WebEngine:

sudo apt install python3-pyqt5.qtwebengine

🤝 Contributing

Pull requests are welcome. Add features, improve tools, or enhance the UI.


📄 License (MIT)

MIT License

Copyright (c) 2024-2025 Chetan Parihar

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights  
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell      
copies of the Software, and to permit persons to whom the Software is         
furnished to do so, subject to the following conditions:                       

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.                                

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR    
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,       
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE    
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER         
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING        
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER            
DEALINGS IN THE SOFTWARE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors