mirror of
https://github.com/chengyangkj/Ros_Qt5_Gui_App.git
synced 2025-09-15 12:58:58 +08:00
157 lines
6.1 KiB
Markdown
157 lines
6.1 KiB
Markdown
## ROS Qt Deskotp GUI App
|
||
***
|
||
简体中文 | [English](./README_en.md)
|
||
|
||
- 使用qt5实现ros机器人人机界面
|
||
|
||
- 注意!未经作者的许可,此代码仅用于学习,不能用于其他用途。
|
||
|
||
|
||
- 本仓库以分支的形式,长期维护各种有趣的ROS Qt项目,持续更新中.....
|
||
|
||
- 欢迎在issues提交bug
|
||
|
||
## 一,安装教程
|
||
|
||
#### 1,首先安装ros对qt pkg的支持(非必须)
|
||
|
||
melodic需要换成自己的ROS版本号
|
||
|
||
```cpp
|
||
sudo apt-get install ros-melodic-qt-create
|
||
```
|
||
|
||
```cpp
|
||
sudo apt-get install ros-melodic-qt-build
|
||
```
|
||
#### 2,安装Qtmultimedia5依赖
|
||
|
||
程序依赖Qtmultimedia实现音频功能,因此需要安装依赖
|
||
|
||
```cpp
|
||
sudo apt-get install qtmultimedia5-dev
|
||
```
|
||
|
||
#### 2,编译
|
||
|
||
将软件包放入ros src软件包目录下:
|
||
|
||
```cpp
|
||
catkin_make
|
||
```
|
||
#### 3,运行
|
||
```cpp
|
||
rosrun cyrobot_monitor cyrobot_monitor
|
||
```
|
||
***
|
||
#### 4,windows编译
|
||
|
||
- 借助 ROS windows版本,编译后可在win10平板使用,安装教程[古月学院 如何实现Windows ROS人机交互软件](https://class.guyuehome.com/detail/p_5fc5ab97e4b04db7c091f475/6)
|
||
|
||
## 二,分支
|
||
|
||
#### 1. Qml版本分支(开发中)
|
||
|
||
- ROS + QML + C++混合编程,使用qml自绘制地图,激光雷达点云等
|
||
- [qml_hmi](https://github.com/chengyangkj/Ros_Qt5_Gui_App/tree/qml_hmi)
|
||
|
||
#### 3. Lite branch
|
||
|
||
- 此版本为《ROS人机交互软件开发》系列课程中实现的版本,实现了master分支的基本功能,代码易懂
|
||
- [simple](https://github.com/chengyangkj/Ros_Qt5_Gui_App/tree/simple)
|
||
|
||
#### 4,rviz菜单树分支
|
||
|
||
- 使用rviz自带的菜单树,去实现添加显示图层。master分支所有的图层及菜单均需要手动去写代码实现(并且目前仅支持部分图层显示),此分支调用librviz现成api,所有图层均可以实现,不用去手动创建图层菜单和display
|
||
|
||
- [rviz_tree](https://github.com/chengyangkj/Ros_Qt5_Gui_App/tree/rviz_tree)
|
||
|
||
- [](https://postimg.cc/2qL9QC71)
|
||
|
||
|
||
#### 5,ROS Qt Demo
|
||
- cakin_create_qt_pkg 创建的原始包,cmakelist.txt已配置好改为qt5,可以直接编译运行
|
||
|
||
- [ros_qt_demo](https://github.com/chengyangkj/ros_qt_demo)
|
||
|
||
#### 6,android版本分支 敬请期待
|
||
|
||
#### 7,web版本分支 敬请期待
|
||
|
||
## 三,功能介绍
|
||
|
||
#### 1,速度仪表盘
|
||
|
||
- 使用前须在菜单->设置->话题设置中设置odom话题:
|
||
|
||

|
||

|
||
|
||
#### 2, 机器人速度控制
|
||

|
||
|
||
#### 3, 电量显示
|
||
|
||
- 使用前须在菜单->设置->话题设置中设置电量话题(Std_msg/Float32)
|
||
|
||

|
||
#### 4, rviz模块
|
||

|
||
##### 4.1 订阅map话题
|
||

|
||
|
||
##### 4.2 激光雷达图层显示
|
||

|
||
|
||
##### 4.3 设置导航初始点
|
||

|
||
|
||
##### 4.4 设置导航目标点
|
||

|
||
|
||
##### 4.5 定点返航
|
||
|
||
- 使用前须在菜单->设置->话题设置中设置amcl话题
|
||

|
||
|
||
##### 4.6 订阅图像话题
|
||
|
||
- 提供四个图像显示窗体,可以同时显示四个图像 解决卡顿问题,在video0订阅(image_raw/compressed)即compressed后的图像即可不卡顿,且video0只能订阅压缩后的图像
|
||
|
||

|
||
|
||
|
||
|
||
##### 4.7 快捷指令
|
||

|
||

|
||
|
||
##### 4.8 显示机器人模型
|
||

|
||
|
||
##### 4.9 提供六种rviz工具
|
||

|
||
|
||
##### 4.10 显示话题列表
|
||
[](https://postimg.cc/svL6bJsK)
|
||
.
|
||
##### 4.11 待完善....
|
||
|
||
|
||
### 开源协议
|
||
**GNU GPL(GNU General Public License,GNU通用公共许可证)**
|
||

|
||
|
||
|
||
- 只要软件中包含了遵循本协议的产品或代码,该软件就必须也遵循 GPL 许可协议,也就是必须开源免费,不能闭源收费,不能作为商用软件。
|
||
|
||
*GPL 开源协议的主要特点*
|
||
|
||
- 复制自由 允许把软件复制到任何人的电脑中,并且不限制复制的数量。
|
||
|
||
- 传播自由 允许软件以各种形式进行传播。
|
||
|
||
- 收费传播 允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得的;因此,一般来讲,开源软件都是通过为用户提供有偿服务的形式来盈利的。
|
||
|
||
- 修改自由 允许开发人员增加或删除软件的功能,但软件修改后必须依然基于GPL许可协议授权。
|