轻量级ROS1/ROS2移动机器人人机交互软件
Go to file
2025-07-29 11:30:57 +08:00
.github fix release 2025-07-29 11:30:57 +08:00
cmake fix map name edit bug 2025-07-23 11:34:23 +08:00
doc update 2025-03-09 16:37:39 +08:00
src update 2025-07-29 11:25:46 +08:00
.clang-format format 2024-01-26 14:44:32 +08:00
.gitignore 引入SDL 2024-05-21 23:22:08 +08:00
build.sh update readme 2025-03-08 17:40:46 +08:00
CMakeLists.txt fix map name edit bug 2025-07-23 11:34:23 +08:00
format.sh format 2024-01-26 14:49:07 +08:00
LICENSE Create LICENSE 2020-04-08 13:48:23 +08:00
README_en.md update 2025-03-09 17:04:38 +08:00
README.md update readme 2025-07-21 15:06:40 +08:00

ROS Qt5 GUI App

A lightweight ROS1/ROS2 mobile robot human-machine interaction software

简体中文 | English

GitHub last commit GitHub stars GitHub forks GitHub issues QQ Group

humble foxy noetic galactic melodic

📖 Introduction

This project is developed based on Qt5 and built with CMake, enabling the use of a single codebase in both ROS1/ROS2 systems. During compilation, the software automatically detects the ROS1/ROS2 environment variables and builds accordingly, achieving isolation between ROS communication and interface.

All features are self-implemented through custom drawing, making it easy to run on low-performance edge devices. The project has integrated CI to ensure compatibility across multiple ROS versions and system versions.

Features

Feature Status Notes
ROS1/ROS2 Communication
Global/Local Map Display
Real-time Robot Position Display
Robot Speed Dashboard
Manual Robot Control
Robot Relocation
Single/Multi-point Navigation
Global/Local Path Display
Robot Topological Map
Battery Level Display
Map Editing
Navigation Task Chain Has bugs
Map Load/Save
Camera Image Display Ported from rqt_image_view
Robot Footprint Display Supports custom shapes
Rosbridge Communication 🏷️ In development
3D Layer Display 🏷️ In development
Topological Path Planning 🏷️ In development
Robot History Trail Recording 🏷️ In development

🖼️ Interface Preview

Main Interface Running Effect Mapping Effect

🚀 Quick Start

Requirements

  • Ubuntu 18.04+
  • ROS1/ROS2 environment
  • Qt5 basic environment

Install Dependencies

sudo apt-get update
sudo apt-get install qtbase5-private-dev libqt5svg5-dev libsdl-image1.2-dev libsdl1.2-dev -y

Build

mkdir -p ~/qt_ws
cd ~/qt_ws
git clone https://github.com/chengyangkj/Ros_Qt5_Gui_App
cd Ros_Qt5_Gui_App
mkdir build && cd build
cmake ..
make

Run

./ros_qt5_gui_app

📚 Documentation

🤝 Contributing

Issues and Pull Requests are welcome.

If you have any ideas or suggestions, feel free to submit them to 🌟 Wishlist/Requirements. They might be implemented someday!

📊 Star History

Star History Chart

A cross-platform mobile robot HMI software based on Flutter for ROS1/ROS2 is now open source:

Flutter Version

For details, visit ROS_Flutter_Gui_App

Branch Supported Platforms Description
master Win10 Ubuntu ROS + QWidget + QGraphicsview custom visualization interface display
qml_hmi Win10 Ubuntu ROS + QML + C++ hybrid programming, QML self-drawn map, lidar and other visualization demos
simple Win10 Ubuntu ROS + QWidget + Librviz visualization display, CSDN blog "ROS Human-Machine Interaction Software Development" course implementation version
rviz_tree Win10 Ubuntu ROS + QWidget + Librviz native layer API management, no need to manually create layers
ros_qt_demo Win10 Ubuntu Original package created using cakin_create_qt_pkg, cmakelist.txt configured for qt5, can be directly compiled and run
ros2_qt_demo ROS2 Qt demo package running on ROS2 platform, cmakelist.txt configured for qt5, can be built using colcon build
ROS2_Qt5_Gui_App ROS2 Same as this repository/no longer maintained
Flutter App Multi-platform (Flutter) Implemented

💬 Discussion Group

QQ Group: 797497206

📄 License

This project is licensed under the MIT License.