Ros_Qt5_Gui_App/README.md
2021-04-28 17:31:23 +08:00

8.1 KiB
Raw Blame History

ROS Qt Deskotp GUI App


简体中文 | English

  • 使用qt5实现ros机器人人机界面

  • 注意!未经作者的许可,此代码仅用于学习,不能用于其他用途。

  • 本仓库以分支的形式长期维护各种有趣的ROS 可视化项目,持续更新中.....

  • 欢迎在issues提交bug

image.png

一,菜单

二,安装教程

1首先安装ros对qt pkg的支持非必须

melodic需要换成自己的ROS版本号

sudo apt-get install ros-melodic-qt-create
sudo apt-get install ros-melodic-qt-build

2,安装Qtmultimedia5依赖

程序依赖Qtmultimedia实现音频功能因此需要安装依赖

sudo apt-get install qtmultimedia5-dev

3编译

将软件包放入ros src软件包目录下

catkin_make

4,运行

rosrun cyrobot_monitor cyrobot_monitor

5windows编译

三,分支

1. Qml版本demo

  • ROS + QML + C++混合编程使用qml自绘制地图激光雷达点云等
  • qml_hmi

3. Lite branch

  • 此版本为《ROS人机交互软件开发》系列课程中实现的版本CSDN例程版本
  • simple

4,rviz菜单树分支

  • 使用rviz自带的菜单树去实现添加显示图层。master分支所有的图层及菜单均需要手动去写代码实现并且目前仅支持部分图层显示此分支调用librviz现成api所有图层均可以实现,不用去手动创建图层菜单和display

  • rviz_tree

  • image.png

5,ROS Qt Demo

  • cakin_create_qt_pkg 创建的原始包cmakelist.txt已配置好改为qt5可以直接编译运行

  • ros_qt_demo

6android版本分支 敬请期待

7web版本分支 敬请期待

四,使用说明

1连接主节点

  • 使用前需要在连接界面连接rosore主节点

024.png

  • ROS_MASTER_URI: ROS多机通讯主节点地址如果只是单机通讯填127.0.0.1即可
  • ROS_IP: 软件运行的机器的IP 如果是单机通讯填127.0.0.1即可
  • 勾选使用环境变量连接就不使用界面设置的ROS_IP与ROS_MASTER_URI,需要在环境变量文件(~/.bashrc配置好多机通讯环境变量否则会导致连接失败配置多机通讯教程csdn 博客
  • 其他一些话题设置
  • 勾选自动连接会在打开软件时进行自动连接
  • 点击检测IP会自动检测本机IP并填入ros ip与ros master ip

2,设置

点击连接界面右下角,进行相关必要设置

功能介绍

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 显示话题列表

image.png .

4.11 待完善....

开源协议

GNU GPLGNU General Public LicenseGNU通用公共许可证 在这里插入图片描述

  • 只要软件中包含了遵循本协议的产品或代码,该软件就必须也遵循 GPL 许可协议,也就是必须开源免费,不能闭源收费,不能作为商用软件。

GPL 开源协议的主要特点

  • 复制自由 允许把软件复制到任何人的电脑中,并且不限制复制的数量。

  • 传播自由 允许软件以各种形式进行传播。

  • 收费传播 允许在各种媒介上出售该软件,但必须提前让买家知道这个软件是可以免费获得的;因此,一般来讲,开源软件都是通过为用户提供有偿服务的形式来盈利的。

  • 修改自由 允许开发人员增加或删除软件的功能但软件修改后必须依然基于GPL许可协议授权。

相关教程及交流群

本系列教程文章专栏:

ROS机器人GUI程序开发

本系列课程已上线古月学院,欢迎感兴趣的小伙伴订阅:

  1. ROS Qt开发环境搭建以及基础知识介绍
  2. ROS人机交互软件的界面开发
  3. ROS Rviz组件开发方法
  4. 如何实现ROS windows人机交互软件

在这里插入图片描述

开发交流QQ群 797497206