Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)

为什么要用QT?因为总用gedit去写ros代码实在效率太低!(vs code听说也能用ros)……且使用QT可做将ros节点加入UI界面,做交互很方便。

之前有看过别人写的加ppa去下载,修改环境变量什么什么,发现复杂不说,对我的情况并不适用,甚至有些目录都找不到。以下是我自己安装并使用的过程:
(我的运行环境:新装不久的 ubuntu18.04 LST

参考:

官方安装教程
Levi-Armstrong github 教程

1. 安装

Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第1张图片
两种方式我都试过,一个在线安装,一个离线安装。差不多,可自行选择
安装过程傻瓜式操作,该选的都选,基本不会出错
安装完后,在菜单处可进入,选第一个Qt Creator
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第2张图片
至此,安装完成。

2.使用

1)创建工作空间

文件->新建文件或项目
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第3张图片
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第4张图片

  • name——工程名字可自定
  • Distribution—— 是ros的安装位置,如果已经装好ros,这里会自动显示出来
  • Build System——一定要选 CatkinMake
  • Workspace——工作空间我一般是在提前建好文件夹,比如是在主目录,创建文件夹取名为qt_ws

Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第5张图片
完成后,左边工程文件就创好了
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第6张图片
若看不到这样的文件系统,可能是在下图打红圈的地方隐藏掉了
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第7张图片
对qt_ws工程右键->编译,或者点击左下方锤子完成编译
在这里插入图片描述
编译输出:
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第8张图片
下方的显示窗口,主要用到

  • 4.编译输出,查看编译的情况,若有报错,则会显示在这里(就像终端一样
  • 8.ROS Terminals,和外部终端打开界面一样

完成编译后,发现左边的项目栏并没有变化,进入到文件目录中,发现那些文件系统已经生成了(第一次编译效果等同于catkin_init_workspace)这是一个小bug
我遇到这种情况后,右键工程 关闭项目“qt_ws”,再点到欢迎界面重新打开该工程,即可出现:
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第9张图片
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第10张图片

2)新建功能包

在项目栏中,右键src -> Add_new
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第11张图片
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第12张图片
这里重要只有两个,其他可填可不填-

  1. name 功能包名字
  2. catkin 添加的依赖,这里我添加了两个常用依赖:std_msgs roscpp

这里的作用和catkin_create_pkg [功能包名字] [依赖包] 命令一样
依赖后续可以在功能包的CMakeLists.txt和package.xml中进行更改添加。
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第13张图片
完成后,我的左边项目栏还是没有更新出来,同理,关闭再开
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第14张图片
至此,功能包新建完毕。

3)新建节点

在项目栏,右键qt_pkg -> Add new
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第15张图片
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第16张图片
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第17张图片
完成后,可以看见:
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第18张图片
basic_node.cpp文件已经添加进去了
但是,按照规范,这里的源代码cpp文件应该放进src文件夹下,因此,打开该目录(可右键cpp文件->打开包含的目录),新建一个src文件夹,将cpp文件放入。
文件系统如图:
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第19张图片
点进cpp文件,现在还是报错的状态,什么什么undeclared
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第20张图片
这是因为还没有编译完成,需要先修改CMakeLists文件,和我们平时建立节点一样(QT不会自动给你添加可执行,以及targe_link)
修改qt_pkg功能包下的CMakeLists文件,在末尾添加这两句:
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第21张图片
保存后,右键项目栏中的qt_ws—>编译
若没有报错则 编译输出一栏显示(若只显示了一排,试试滚轮。。。):
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第22张图片
再点回cpp文件,已没有报错(若还是红色,可能是没刷新过来)
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第23张图片
至此,节点就创建完成。建其他节点也是一样的道理。

4)运行节点

可在外面打开个终端进行,也可在Qt terminal完成
这里介绍在Qt terminal中运行打方式:
在Qt界面的下方,点击下面一排的第8个选项:ROS Terminal
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第24张图片
这里界面做的不是很明显(是暗的,还以为不能用),这里是有几个按键可以点的,你把鼠标放在按键上不同,一会儿就会显示说明。第4个按键,Add new terminal
又是熟悉的味道
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第25张图片
输入 roscore, 回车运行
再按一次按键Add new terminal输入命令:
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第26张图片
Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告)_第27张图片
大功告成!


总结:

  1. 应该是刷新的问题,导致这里完成了操作,左边的文件栏却没变化。
  2. 出现大片的undeclared 是由于未编译或配置文件CMakeList.txt的问题。
  3. 之后我还遇到了,若一切都没问题,还是出现编译报错。使用右键工程->重新编译解决(是由于之前的编译生成了些错误的文件。
  4. 安装完后不能使用中文输入法 见:https://blog.csdn.net/u011736771/article/details/84861084

展望

后续看情况,还会出几节关于Qt的使用,包括断点仿真,ui中加入ros节点等内容,记录自己使用的过程。

你可能感兴趣的:(Ubuntu18.04下 Qt+rqt_ros_plugin的使用 (多图警告))