ROS与C++入门教程-搭建开发环境(QT+ros_qtc_plugin)

PS : 在“安装ros_qtc_plugin插件”这一步中,原文提到“ Ubuntu 14.04使用apt-get方式安装,会安装5.7版本的Qt Creator”,因此如果对Qt版本没要求可以直接做“安装ros_qtc_plugin插件”这一步,可以同时安装Qt和ros_qtc_plugin

原文出自  http://www.ncnynl.com/archives/201701/1277.html

说明:

  • 介绍如何搭建QT环境来开发ROS包
  • 介绍QT安装
  • 介绍QT编译和调试ROS包

测试环境:

  • 系统版本:Ubuntu14.04
  • ROS版本:indigo
  • QT版本:5.8.0

QtCreator安装

  • 安装前准备,安装相应的GNU开发工具集和OpenGL开发库, 请注意安装软件都需要root权限,并且要联网安装
sudo apt-get install build-essential libgl1-mesa-dev  libevent-pthreads-2.0.5 doxygen xorg-dev
  • 下载64位Linux安装包为 qt-opensource-linux-x64-5.8.0.run。
  • 下载地址:http://download.qt.io/archive/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run
  • 下载的run文件不一定具有可执行权限, 可以执行如下命令开启执行权限(以64位安装包为例)
cd ~/tools/
wget http://download.qt.io/archive/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run
chmod +x ~/tools/qt-opensource-linux-x64-5.8.0.run
  • 桌面下,点击文件,进入tools,双击 .run 安装文件直接图形界面安装

  • PS : 在“安装ros_qtc_plugin插件”这一步中,原文提到“ Ubuntu 14.04使用apt-get方式安装,会安装5.7版本的Qt Creator”,因此如果对Qt版本没要求可以直接做安装ros_qtc_plugin插件”这一步,可以同时安装Qt和ros_qtc_plugin

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

  • 默认安装在 /home//Qt5.8.0下

  • 需要的Qt组件和工具,默认不安装源码

  • 默认Next完整安装,完成后点左上角的 Dash home,输入“qt”如果看到 Qt Creator 图标则安装成功

设置快捷方式

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

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

gedit ~/.local/share/applications/DigiaQtOpenSource-qtcreator.desktop
  • 这条命令将打开DigiaQtOpenSource-qtcreator.desktop快捷方式文件,可以看到文件内容如下:
[Desktop Entry]
Type=Application
Exec=/home/ubu/Qt5.8.0/Tools/QtCreator/bin/qtcreator
Name=Qt Creator (Community)
GenericName=The IDE of choice for Qt development.
Icon=QtProject-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.8.0/Tools/QtCreator/bin/qtcreator ,保存并退出。

  • 添加 bash -i -c 是为了在通过快捷方式启动Qt Creator    (bash -i -c 的目地是便于设置快捷方式)

  • 如果打开的文件是空,则表示没有找到DigiaQtOpenSource-qtcreator.desktop文件

  • 可能是安装路径不在本地用户目录下,或者版本不同导致的文件名不一致。

  • 可以在 ~/.local/share/applications/ 和 /usr/share/applications/ 两个路径下用 ls qt 命令找找看。

  • 如果没有上述快捷方式文件,自己新建一个,只要文件内容类似上面的类容,路径正确即可。

  • 快捷方式可以放在 ~/.local/share/applications/ 和 /usr/share/applications/ 两个位置。

  • 当然也可以放在任意其他位置,功能跟放在上面两个位置一样,但左边的任务栏不会正确显示图标

安装ros_qtc_plugin插件 (若直接执行这一步,则只执行蓝色字体的三行命令即可)

  • Ubuntu 14.04使用apt-get方式安装,会安装5.7版本的Qt Creator
sudo add-apt-repository ppa:levi-armstrong/qt-libraries-trusty
sudo add-apt-repository ppa:levi-armstrong/ppa
sudo apt-get update && sudo apt-get install qt57creator-plugin-ros
  • 安装完成在Dash home出现Qt 5.7.1 Creator, 点击即可启动带插件的QtCreator

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

$ sudo gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
  • 内容为:
/usr/lib/x86_64-linux-gnu/qt4/bin
/usr/lib/x86_64-linux-gnu
  • 修改成:
/home/ubu/Qt5.8.0/5.8/gcc_64/bin
/home/ubu/Qt5.8.0/5.8/gcc_64/lib
  • /home/ubu是我的主文件夹绝对路径,请对应修改为自己的。
  • 如果有多个QT版本,可以有不同的默认设置,查找并同样修改
/usr/lib/x86_64-linux-gnu/qtchooser/default.conf

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

ros_qtc_plugin插件新建项目

  • 利用插件不仅可以新建工作空间还可以导入现有的工作空间,而“新建文件”中的“ROS”下面的“Package”、“Basic Node”等选项可以创建package和和节点、launch文件、urdf文件等

(1)新建项目:

  • “文件”——“新建文件或项目”,选择”Import ROS Workspace”——“choose”

  • 然后填写catkin工作空间的名字和位置

  • 选择“浏览”——“创建文件夹”,创建一个名为catkin_new的文件夹,如下图,按回车,再选择“打开”

  • 在“项目管理”步骤可以配置版本控制系统,我们选择“完成”,如下图

  • 建好的工作空间,如果没出现src目录,可以关闭,重开即可。

(2)创建package

  • 在catkin_new下面的src上右键单击,选择“添加新文件”,如下图

  • 然后选择“ROS”——“package”——“choose”

  • 填写package的名字,如test1

  • 填写作者(Authors)和维护者(Maintainers),如果你的Qt环境部没有配置中文支持请不要用中文,否则无法新建package

  • 或者新建的package里面的package.xml会是空文件

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

  • 如下图

  • 下一步,再点击完成

(3)添加新的节点

  • test1的src文件夹上右键单击,选择“添加新文件”

  • 选择“ROS”——“Basic Node”——“choose”,创建一个节点,也就是新建一个.cpp文件

  • 节点名称写为“node1”,则生成一个名为node1.cpp的源文件

  • 用ROS模板新建的node1.cpp的源文件如下图,是自动生成的一个Hello World程序

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

  • 再后面include_directories,添加

add_executable(node1 src/node1.cpp)
target_link_libraries(node1
${catkin_LIBRARIES}
)
  • 如图:

  • 修改完CMakeLists.txt之后点击Qt左下角的锤子图标“构建项目catkin_new”

  • 点击底边栏的“4 编译输出”可以看到编译结果,如下图

(4)运行节点

  • 新终端,运行roscore
$roscore
  • 点击左侧兰的“项目”,在“Build&Run”页

  • 测试时候无法选择Packge和Target,不过可以手工填写Arguments。也可以直接写入执行的命令和参数。
  • 点击左下角的“三角”运行

参考:

  • http://download.qt.io/archive/qt/5.8/5.8.0/
  • http://www.aicrobo.com/blog/2013-12-ros_ide_qtcreator.html
  • https://wizardforcel.gitbooks.io/qt-beginning/content/4.html
  • https://lug.ustc.edu.cn/sites/qtguide/
  • https://github.com/ros-industrial/ros_qtc_plugin
  • https://github.com/ros-industrial/ros_qtc_plugin/wiki/1.-How-to-Install-(Users)
  • http://blog.csdn.net/u013453604/article/details/52186375
  • http://blog.csdn.net/u013453604/article/details/52167213
  • http://wiki.ros.org/qt_create/Tutorials/Qt%20App%20Templates
  • http://myzharbot.robot-home.it/blog/software/myzharbot-ros/qtcreator-ros/
  • http://www.ciencia-explicada.com/2014/12/ros-how-to-develop-catkin-packages-from-an-ide.html
  • https://github.com/ros-industrial/ros_qtc_plugin/issues?q=is%3Aissue+is%3Aclosed

[转]Ubuntu下ROS开发环境搭建(QT+ros_qtc_plugin)的更多相关文章

  1. ubuntu下Nodic开发环境搭建

    ubuntu下Nodic开发环境搭建 1.编译环境 ubuntu可直接装gcc编译环境 sudo apt install gcc-arm-none-eabi 也可以下载可执行文件download 2. ...

  2. Ubuntu下Java开发环境搭建(eclipse)

    最近把工作环境转移到了Ubuntu Kylin下,发现在这下面Java环境还是很方便的.然而也经历了一些摸索的过程,故作文以记之. 一/开发前准备 安装系统/配置软件源,这部分内容没什么需要注意的.O ...

  3. ubuntu下php开发环境搭建,nginx+(cgi)php5fpm+memcached+xdebug

    由于只是开发环境,所以都是选择比较简单的apt-get安装方式 ,但中间也遇到一点问题. 首先安装nginx nginx的安装和配置其实很简单,nginx本身非常轻量级, 直接 sudo apt-ge ...

  4. Ubuntu下python开发环境搭建

    配置语言 1) 依次点击设置--Region & Language--Manage Installed Languages --install/remove language--chinese ...

  5. ubuntu下nodejs开发环境搭建

    1.安装nodejs sudo apt install -y nodejs 2.更新npm到最新版本 sudo npm i -g npm 3.npm配置为淘宝镜像 sudo npm config se ...

  6. [转载]ROS开发环境之Qt Creator

    ROS开发环境之Qt Creator(http://my.phirobot.com/blog/2013-12-ros_ide_qtcreator.html) Created at: 2013-12-2 ...

  7. ubuntu下mysql的环境搭建及使用

    ubuntu下mysql的环境搭建及使用 环境安装 使用如下命令分别安装服务端程序,客户端程序,及客户端依赖库 sudo apt-get install mysql-server sudo apt-g ...

  8. Windows 7 下 PHP 开发环境搭建(手动)

    Windows 7 下 PHP 开发环境搭建 1.说明 做开发的都知道一句话,就是“站在巨人的肩膀上”.确实现在打开浏览器随便一搜很多一键安装PHP环境的软件,比如wamp.xampp.AppServ ...

  9. ubuntu下python flask环境搭建

    ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...

随机推荐

  1. get mobile http request in PC & fiddler4

    get mobile http request in PC 如何在 pc 上抓取 手机的 http 请求 Fiddler 提琴手 https://www.telerik.com/download/fi ...

  2. Codechef_JULY14

    感觉这套比赛题目比较容易,没有以前做过的某次codechef那么凶残.题目还是很有意思的,最好的是有中文翻译. CSUB:签到题,直接从左往右扫一遍即可,维护前面出现过多少个1. #include & ...

  3. shell的sort命令

    sort命令以行为单位对文本进行排序. 命令语法: sort [-b/d/f/g/i/M/n/r] [InFile] 参数解释: -b: ignore-leading-blanks,忽略前面空格符部分 ...

  4. A New Function LightOJ - 1098()

    题意 求 1 - n的的所有数的因子(不包括自身和1)和 对于一个数 i  ,以i为因子的数的个数为 n/i  因为不能包括自身 所以 减一 即  n/i-1  这样遍历每一个数 累加即可 但复杂度较 ...

  5. 【刷题】BZOJ 3262 陌上花开

    Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),用三个整数表示. 现在要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量. 定义一朵花A比另一朵花B要美 ...

  6. [BJOI2017]树的难题 点分治 线段树

    题面 [BJOI2017]树的难题 题解 考虑点分治. 对于每个点,将所有边按照颜色排序. 那么只需要考虑如何合并2条链. 有2种情况. 合并路径的接口处2条路径颜色不同 合并路径的接口处2条路径颜色 ...

  7. Android指纹识别API讲解,让你有更好的用户体验

    我发现了一个比较怪的现象.在iPhone上使用十分普遍的指纹认证功能,在Android手机上却鲜有APP使用,我简单观察了一下,发现Android手机上基本上只有支付宝.微信和极少APP支持指纹认证功 ...

  8. 【BZOJ1853】幸运数字(搜索,容斥)

    [BZOJ1853]幸运数字(搜索,容斥) 题面 BZOJ 洛谷 题解 成功轰下洛谷rk1,甚至超越了一个打表选手 这题思路很明显吧,先搞出来所有范围内的合法数字,然后直接容斥, 容斥的话显然没有别的 ...

  9. listview android:cacheColorHint,android:listSelector属性作用(转)

    ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉, 原因是,滚动时,列表里面的view重绘时,用的依 ...

  10. 解题:POI 2009 Fire Extinguishers

    题面 洛谷数据非常水,建议去bzoj 我第一眼一看这不是那个POI2011的升级版吗(明明这个是2009年的,应该说那个是这个的弱化版,果然思想差不多. 因为$k$很小,可以考虑每个间隔距离来转移.我 ...