ROS QT开发环境搭建

本文最后更新于:2022年5月29日 上午

开发环境

  • 系统版本:Ubuntu16.04
  • ROS版本:Kinetic
  • QT版本:5.9.3

软件安装

QT5.9.3安装

依赖安装

前期准备,安装GNU开发工具集和OpenGL开发库。

1
sudo apt-get install build-essential libgl1-mesa-dev  libevent-pthreads-2.0.5 doxygen xorg-de

下载安装包

  1. 安装前准备,安装相应的GNU开发工具集和OpenGL开发库, 请注意安装软件都需要root权限,并且要联网安装

    1
    sudo apt-get install build-essential libgl1-mesa-dev  libevent-pthreads-2.0.5 doxygen xorg-dev
  2. 下载64位Linux安装包: qt-opensource-linux-x64-5.9.3.run

  3. 下载的run文件不一定具有可执行权限, 可以执行如下命令开启执行权限(以64位安装包为例)

    1
    2
    3
    cd ~/Downloads/
    wget https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.9/5.9.3/qt-opensource-linux-x64-5.9.3.run
    chmod +x ~/Downloads/qt-opensource-linux-x64-5.9.3.run

开始安装

  • 进入下载目录,双击 .run 安装文件直接图形界面安装

    0RZrDA.png

    0RZ6Et.png

  • 注册帐号,需要邮箱和密码。可以先进入qt网站注册帐号,https://login.qt.io/register.

    0RZsHI.png

  • 默认安装在 /home/用户名/Qt5.9.3下

    0RZDud.png

  • 选择需要的Qt组件和工具,空间充足也可以勾选全部组件,方便后续扩展开发。

    0RZcUP.png

  • 后面默认Next完成安装。

设置快捷方式

这里将要修改Qt Creator快捷方式,使从快捷方式启动Qt Creator的同时加载ROS环境变量。

  • 打开终端,输入下面的命令:

    1
    gedit ~/.local/share/applications/DigiaQt-qtcreator-community.desktop
  • 可以看到文件内容如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [Desktop Entry]
    Type=Application
    Exec=/home/yun/Qt5.9.3/Tools/QtCreator/bin/qtcreator
    Name=Qt Creator (Community)
    GenericName=The IDE of choice for Qt development.
    Icon=QtProject-qtcreator
    StartupWMClass=qtcreator
    Terminal=false
    Categories=Development;IDE;Qt;
    MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.qt.qmakeprofile;application/vnd.qt.xml.resource;text/x-qml;text/x-qt.qml;text/x-qt.qbs;
  • 修改 Exec 变量一行,中间添加 bash -i -c 即改为:

    Exec=bash -i -c /home/ubu/Qt5.9.3/Tools/QtCreator/bin/qtcreator ,保存并退出。

    添加bash -i -c是为了在通过快捷方式启动Qt Creator的同时加载ROS环境变量。

注意:

  • 如果打开的文件是空,则表示没有找到DigiaQt-qtcreator-community.desktop文件。可能是版本不同导致文件名不一致。可以进入 ~/.local/share/applications/ 目录查看具体的文件名。
  • 如果没有上述快捷方式文件,自己新建一个,只要文件内容类似上面的类容,路径正确即可。

安装ros_qtc_plugin插件

1
2
3
sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial  
sudo add-apt-repository ppa:levi-armstrong/ppa
sudo apt-get update && sudo apt-get install qt57creator-plugin-ros

修改系统配置文件让Qt启动器选择新版的Qt

打开配置文件:

1
sudo gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

内容为:

1
2
/usr/lib/x86_64-linux-gnu/qt4/bin
/usr/lib/x86_64-linux-gnu

修改成:

1
2
/home/用户名(自行修改)/Qt5.9.3/5.9.3/gcc_64/bin
/home/用户名(自行修改)/Qt5.9.3/5.9.3/gcc_64/lib

安装完成。

开始使用

双击QtCreater的快捷方式或者打开终端,输入qtcreator-ros启动QT。

新建项目

  1. 直接点击“New Project”,选择”Other Project→ROS Workspace→Choose”

    0f9Ztg.png

  2. 填写catkin工作空间的名字

    0f9ehQ.png

  3. 选择“Browse”——“Create New Folder”,创建一个名为catkin_test的文件夹,如下图。

    0f9npj.png

  4. 在“Project Management”步骤可以配置版本控制系统,默认选择”Finish“即可。

创建package

  1. 在catkin_test下面的src上右键单击,选择“Add New…”,如下图

    0f9TUS.png

  2. 然后选择“ROS”——“package”——“choose”

    0f9bCQ.png

  3. 填写package的名字,如test,

    填写作者(Authors)和维护者(Maintainers)

    在“Dependencies”下的“Catkin”一栏填写依赖,通常用C++写节点需要添加对roscpp的依赖,如下图。

    0fFpUf.png

  4. 下一步,再点击Finish。

添加新的节点

  • 注意:添加包后无法显示src文件夹的解决方法

    点击筛选图标,打勾全去掉即可。

    0fPQoT.png

  1. 在test的src文件夹上右键单击,选择“Add New…”

    0fFSVP.png

  2. 选择“ROS”——“Basic Node”——“choose”,创建一个节点,也就是新建一个.cpp文件。节点名称写为“node1”,则生成一个名为node1.cpp的源文件

    0fixbt.png

  3. 用ROS模板新建的node1.cpp的源文件是自动生成的一个Hello World程序。

    0fVc6g.png

  4. 编译节点,在test1的CMakeLists.txt加上下面几行,意思是把node1.cpp编译成名为node1的节点。

    1
    2
    add_executable(node1 src/node1.cpp)
    target_link_libraries(node1 ${catkin_LIBRARIES})

0fVgXQ.png

运行节点

  1. 打开新终端,运行roscore

  2. 点击左侧兰的“项目”,在“Build&Run”页,点击“ROS Step”配置项,可以通过下拉菜单选择package和target(就是该package下的节点),下拉菜单可以通过键入首字母初步定位到你要找的package和节点位置 。

    0fVRmj.png

  3. 运行结果可以点开底边栏的“ROS Terminals”查看。

    0fVW0s.png

附:添加插件

点击QT上方工具栏:帮助->关于插件,勾选下面两个插件,关闭软件重新打开插件生效。

1、格式化代码——beautifier插件

wkGiB4.png

配置Beautifier插件

参考文章:Ubuntu下QTCreator配置Uncrustify代码格式化插件

2、Todo插件

QtCreator提供了Todo插件,可以自动检索项目的所有标记符,默认支持TODO、NOTE、FIXEME、BUG、WARNING,同时也支持自定义添加关键词。

wkGPuF.png

参考链接:

【1】https://www.ncnynl.com/archives/201701/1277.html

【2】https://blog.csdn.net/weixin_41995979/article/details/88182082

【3】https://blog.csdn.net/u013453604/article/details/52186375


ROS QT开发环境搭建
https://kevinloongc.github.io/posts/135ebaa2.html
作者
Kevin Loongc
发布于
2020年10月13日
许可协议