zoukankan      html  css  js  c++  java
  • [转]Ubuntu下ROS开发环境搭建(QT+ros_qtc_plugin)

    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

  • 相关阅读:
    LeetCode 275. H-Index II
    LeetCode 274. H-Index
    LeetCode Gray Code
    LeetCode 260. Single Number III
    LeetCode Word Pattern
    LeetCode Nim Game
    LeetCode 128. Longest Consecutive Sequence
    LeetCode 208. Implement Trie (Prefix Tree)
    LeetCode 130. Surrounded Regions
    LeetCode 200. Number of Islands
  • 原文地址:https://www.cnblogs.com/wlzy/p/6802444.html
Copyright © 2011-2022 走看看