Skip to content

ROS human computer interface based on Qt5(基于Qt5的ROS人机交互界面)

License

Notifications You must be signed in to change notification settings

chengyangkj/Ros_Qt5_Gui_App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROS Qt5 GUI App

一个轻量级的 ROS1/ROS2 移动机器人人机交互软件

简体中文 | English

GitHub last commit GitHub stars GitHub forks GitHub issues QQ Group

humble foxy noetic galactic melodic

📖 简介

本项目基于 Qt5 开发,使用 CMake 构建,可以实现一套代码同时在 ROS1/ROS2 系统中使用。软件在编译时会自动识别环境变量中的 ROS1/ROS2 环境并进行构建,实现 ROS 通信与界面隔离。

所有功能均为自行绘制实现,因此可以轻松运行在性能较低的边缘设备上。项目已接入 CI,保证多 ROS 版本/系统版本的可用性。

✨ 功能特性

功能 状态 备注
ROS1/ROS2 通信
全局/局部地图显示
机器人实时位置显示
机器人速度仪表盘
机器人手动控制
机器人重定位
机器人单点/多点导航
机器人全局/局部规划轨迹显示
机器人拓扑地图功能
电池电量显示
地图编辑功能
机器人导航任务链 尚存 bug
地图加载/保存
相机图像显示 移植自 rqt_image_view
机器人车身轮廓显示 支持配置异形车身

🖼️ 界面预览

主界面 运行效果 建图效果

🚀 快速开始

环境要求

  • Ubuntu 18.04+
  • ROS1/ROS2 环境
  • Qt5 基础环境
  • CMake 3.16+

安装依赖

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

CMake 升级

ubuntu 18.04 默认安装的是 3.10.2 版本,需要升级到 3.16+ 版本, Ubuntu20.04及以上可跳过此步骤

wget https://cmake.org/files/v3.16/cmake-3.16.4-Linux-x86_64.sh -O cmake-install.sh
chmod +x cmake-install.sh
sudo ./cmake-install.sh --prefix=/usr/local --skip-license

编译构建

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

运行

./ros_qt5_gui_app

📚 文档

🤝 贡献

欢迎提交 IssuesPull Requests

如果有什么想法或者建议,欢迎提交 🌟心愿/需求单 说不定哪天就实现了呢

📊 Star 历史

Star History Chart

📱 相关项目

基于 Flutter 的 ROS1/ROS2 跨平台移动机器人人机交互软件已正式开源:

Flutter 版本

详情请访问 ROS_Flutter_Gui_App

🔗 相关链接

分支 支持平台 功能说明
master Win10 Ubuntu ROS + QWidget + QGraphicsview 自定义可视化界面显示
qml_hmi Win10 Ubuntu ROS + QML + C++ 混合编程,QML 自绘制地图、激光雷达等可视化 demo
simple Win10 Ubuntu ROS + QWidget + Librviz 可视化显示,CSDN 博客《ROS 人机交互软件开发》课程实现版本
rviz_tree Win10 Ubuntu ROS + QWidget + Librviz 原生图层 API 管理图层,无需手动创建图层
ros_qt_demo Win10 Ubuntu 使用 cakin_create_qt_pkg 创建的原始包,cmakelist.txt 配置到 qt5,可直接编译运行
ros2_qt_demo ROS2 运行在 ROS2 平台的 Qt demo 包,cmakelist.txt 配置到 qt5,可使用 colcon build 编译使用
ROS2_Qt5_Gui_App ROS2 与本仓库相同/不再维护
Flutter App 多平台 (Flutter) 已实现

💬 交流群

QQ 群: 797497206

📄 开源协议

本项目采用 MIT 开源协议。

About

ROS human computer interface based on Qt5(基于Qt5的ROS人机交互界面)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages