ROS QT开发环境搭建
本文最后更新于:2022年5月29日 上午
开发环境
- 系统版本:Ubuntu16.04
- ROS版本:Kinetic
- QT版本:5.9.3
软件安装
QT5.9.3安装
依赖安装
前期准备,安装GNU开发工具集和OpenGL开发库。
1 |
|
下载安装包
安装前准备,安装相应的GNU开发工具集和OpenGL开发库, 请注意安装软件都需要root权限,并且要联网安装
1
sudo apt-get install build-essential libgl1-mesa-dev libevent-pthreads-2.0.5 doxygen xorg-dev
下载64位Linux安装包: qt-opensource-linux-x64-5.9.3.run。
下载的run文件不一定具有可执行权限, 可以执行如下命令开启执行权限(以64位安装包为例)
1
2
3cd ~/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 安装文件直接图形界面安装
注册帐号,需要邮箱和密码。可以先进入qt网站注册帐号,https://login.qt.io/register.
默认安装在 /home/用户名/Qt5.9.3下
选择需要的Qt组件和工具,空间充足也可以勾选全部组件,方便后续扩展开发。
后面默认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 |
|
修改系统配置文件让Qt启动器选择新版的Qt
打开配置文件:
1 |
|
内容为:
1 |
|
修改成:
1 |
|
安装完成。
开始使用
双击QtCreater的快捷方式或者打开终端,输入qtcreator-ros
启动QT。
新建项目
直接点击“New Project”,选择”Other Project→ROS Workspace→Choose”
填写catkin工作空间的名字
选择“Browse”——“Create New Folder”,创建一个名为catkin_test的文件夹,如下图。
在“Project Management”步骤可以配置版本控制系统,默认选择”Finish“即可。
创建package
在catkin_test下面的src上右键单击,选择“Add New…”,如下图
然后选择“ROS”——“package”——“choose”
填写package的名字,如test,
填写作者(Authors)和维护者(Maintainers)
在“Dependencies”下的“Catkin”一栏填写依赖,通常用C++写节点需要添加对roscpp的依赖,如下图。
下一步,再点击Finish。
添加新的节点
注意:添加包后无法显示src文件夹的解决方法
点击筛选图标,打勾全去掉即可。
在test的src文件夹上右键单击,选择“Add New…”
选择“ROS”——“Basic Node”——“choose”,创建一个节点,也就是新建一个.cpp文件。节点名称写为“node1”,则生成一个名为node1.cpp的源文件
用ROS模板新建的node1.cpp的源文件是自动生成的一个Hello World程序。
编译节点,在test1的CMakeLists.txt加上下面几行,意思是把node1.cpp编译成名为node1的节点。
1
2add_executable(node1 src/node1.cpp)
target_link_libraries(node1 ${catkin_LIBRARIES})
运行节点
打开新终端,运行roscore
点击左侧兰的“项目”,在“Build&Run”页,点击“ROS Step”配置项,可以通过下拉菜单选择package和target(就是该package下的节点),下拉菜单可以通过键入首字母初步定位到你要找的package和节点位置 。
运行结果可以点开底边栏的“ROS Terminals”查看。
附:添加插件
点击QT上方工具栏:帮助->关于插件,勾选下面两个插件,关闭软件重新打开插件生效。
1、格式化代码——beautifier插件
配置Beautifier插件
参考文章:Ubuntu下QTCreator配置Uncrustify代码格式化插件
2、Todo插件
QtCreator提供了Todo插件,可以自动检索项目的所有标记符,默认支持TODO、NOTE、FIXEME、BUG、WARNING,同时也支持自定义添加关键词。
参考链接:
【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