官网已经更新了教程说明,在此特别说明:

https://github.com/ros-industrial/ros_qtc_plugin/wiki

This wiki explains the procedure for installing the ROS Qt Creator Plug-in.

Table of Contents

1.1 Installation Procedure for Ubuntu 14.04
1.2 Installation Procedure for Ubuntu 16.04
1.3 Installation Issues and Conflicts
1.4 Testing Plugin
1.5 Proceed to Next Step

1.1 Installation Procedure for Ubuntu 14.04

sudo add-apt-repository ppa:beineri/opt-qt57-trusty
sudo add-apt-repository ppa:levi-armstrong/ppa
sudo apt-get update && sudo apt-get install qt57creator-plugin-ros

1.2 Installation Procedure for Ubuntu 16.04

sudo add-apt-repository ppa:beineri/opt-qt57-xenial
sudo add-apt-repository ppa:levi-armstrong/ppa
sudo apt-get update && sudo apt-get install qt57creator-plugin-ros

1.3 Installation Issues and Conflicts

  • No known issues

1.4 Testing Plugin.

  1. Start Qt Creator

    • Option 1: Launch using the desktop icon.
    • Option 2: Launch from terminal. Before you can launch from the terminal perform one of the action below.
      • Add "source /opt/qt57/bin/qt57-env.sh" to the users .bashrc file.
      • Create a symbolic link file in you /usr/local/bin called qtcreator which points to /opt/qt57/bin/qtcreator-wrapper
  2. To verify that the plugin exist, goto File>New File or Project>Projects>Import Project>Import ROS Workspace. If the Import ROS Workspace is present then everything built correctly and is ready for development and testing.

Table of Contents

1.1 Setup
1.1.1 Download development packages
1.1.1.1 Installation Procedure for Ubuntu 14.04
1.1.1.2 Installation Procedure for Ubuntu 16.04
1.1.2 Configure system
1.1.3 Run ROS Qt Creator setup script.
1.1.4 Testing Plugin
1.1.5 Debug issues with Plugin

1.1 Setup

This section explains how to setup your system for development

1.1.1 Download development packages

1.1.1.1 Installation Procedure for Ubuntu 14.04

sudo add-apt-repository ppa:beineri/opt-qt57-trusty
sudo add-apt-repository ppa:levi-armstrong/ppa
sudo apt-get update && sudo apt-get install qt57creator-plugin-ros libqtermwidget57-0-dev

1.1.1.2 Installation Procedure for Ubuntu 16.04

sudo add-apt-repository ppa:beineri/opt-qt57-xenial
sudo add-apt-repository ppa:levi-armstrong/ppa
sudo apt-get update && sudo apt-get install qt57creator-plugin-ros libqtermwidget57-0-dev

1.1.2 Configure system to use the new version of Qt

After installation you need to tell qtchooser where to find this install. Replace the two lines in the file below with the location to the local version shown below. Make sure to change username and versionin the file path to match your system.

File:

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

File content:

/opt/qt57/bin
/opt/qt57/lib

1.1.3 - Run ROS Qt Creator setup script.

  1. Clone your fork of the repository.
    $ git clone -b master https://github.com/<username>/ros_qtc_plugins.git
  2. Next in a terminal, navigate into the repository directory and execute the command below.
    $ bash setup.sh -d

    Note: Instruction 2 can can be repeated to get the latest updates for Qt Creator source. The developer must manually update there fork to get the latest version of ros_qtc_plugins.

1.1.4 Testing Plugin.

  1. Execute the command below or launch using the desktop launcher.
    $ qtcreator
  2. To verify that the plugin exist, goto File>New File or Project>Projects>Import Project>Import ROS Workspace. If the Import ROS Workspace is present then everything built correctly and is ready for development and testing.

1.1.5 - Debug issues with Plugin

  1. Next in a terminal, navigate to the repository ros_qtc_plugin and execute the command below.
    $ bash setup.sh -di
  2. Now launch qtcreator using gdb as shown below and after the plugin segfaults post the trace back in the active/new issue.

    $ gdb <local>/qt-creator-build/bin/qtcreator
    
    (gdb) run

    After error:

    (gdb) bt

参考链接:1. http://blog.csdn.net/u013453604/article/details/52186375

2.http://blog.csdn.net/zhangrelay/article/details/52068865

之前,帖子写得太过简略,这里学习和参考了张京林的博客

如果使用的是ubuntu 14.04和ROS(indigo),参考他的博客,教程非常详细。

这里测试的是ubuntu 16.04和ROS(kinetic)。但是过程和细节几乎一致。

开启终端,输入:

~$ qtcreator

使用Ctrl+N,可以看到如下界面:

分为项目与文件和类。

新建catkin工作空间,并在其中创建功能包,实现Hi ROS!!!!

1 新建工作空间

单击下图Choose...

Name:catkin_HiROS

Path:/home/xxx/catkin_HiROS

弹出对话框,点击Yes,初始化工作空间如下:

之后,点击Generate Project File,完成后点击下一步(N)

在这个选项卡中,可以配置版本控制系统等,如不需要,点击完成(F)

这样就建好了一个空的工作空间,下面新建功能包,添加节点等。

2 创建功能包

在src上单击右键,添加新文件...

点击Choose...

然后填入一些功能包的细节信息,如下:

点击下一步(N),然后点击完成(F)

到此,功能包创建完成。

3 添加一个节点

在HiROS下的src上单击右键,添加新文件...

4 调试编译

需要修改CMakeList.txt,在Build中,进行如下修改:

###########
## Build ##
########### ## Specify additional locations of header files
## Your package locations should be listed before other locations
# include_directories(include)
include_directories(
${catkin_INCLUDE_DIRS}
) ## Declare a C++ library
# add_library(HiROS
# src/${PROJECT_NAME}/HiROS.cpp
# ) ## Add cmake target dependencies of the library
## as an example, code may need to be generated before libraries
## either from message generation or dynamic reconfigure
# add_dependencies(HiROS ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) ## Declare a C++ executable
add_executable(HiROS_node src/HiROS.cpp) ## Add cmake target dependencies of the executable
## same as for the library above
# add_dependencies(HiROS_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) ## Specify libraries to link a library or executable target against
target_link_libraries(HiROS_node
${catkin_LIBRARIES}
)

注意:

add_executable(HiROS_node src/HiROS.cpp)
target_link_libraries(HiROS_node
${catkin_LIBRARIES}
)

这样编译成功,就会生成可执行文件。

点击构建,进行编译。这里出现警告。功能包命名不规范,应当使用小写字母。

5 运行节点

点击右侧项目,配置桌面->运行:

点击运行,可以在底栏8 ROS Terminals,查看输入结果:

-End-

ROS_Kinetic_22 使用ROS的qt插件即ros_qtc_plugin实现Hi ROS!!!!的更多相关文章

  1. QT插件+ROS 1 安装配置

    测试环境: 系统版本:Ubuntu14.04 ROS版本:indigo QT版本:5.8.0 QtCreator安装 1 安装前准备,安装相应的GNU开发工具集和OpenGL开发库, 请注意安装软件都 ...

  2. VS2010,Qt插件安装使用

    用了几次的QtCreateor,不习惯. 果断换回VS 基本步骤: 1.安装VS2010 2.安装Qt Creator5 3.安装Qt插件 qt-vs-addin-1.2.2-opensource 就 ...

  3. ROS_Kinetic_15 ROS使用Qt

    ROS_Kinetic_15 ROS使用Qt 在网页http://www.qt.io/download-open-source/#section-2 下载并安装Qt ~/下载$ chmod +x qt ...

  4. VS2017上在线和离线安装Qt插件(在线安装)

    版权声明:如需转载,请告知博主并声明出处 https://blog.csdn.net/CLinuxF/article/details/88816436文章目录前言在线安装离线安装(推荐)前言很多朋友喜 ...

  5. VS2013平台安装Qt插件过程

    1.下载所需安装包: Qt5.3.Qt插件下载地址:http://qt-project.org/downloads. qt-vs-addin-1.1.11-opensource.exe 下载地址:ht ...

  6. 【Win10+eclipse+MinGW+QT安装教程】已有eclipse环境下配置QT插件出错详解

    (纪念一下装了一整天濒临绝望的自己[/doge]) (以下所有下载项一律使用32位) step1:下载安装eclipse.适配的jdk.MinGW和QT 1.下载32位eclipse for c++以 ...

  7. Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器client(1)-墨卡托投影与坐标控制

    (相关的代码能够从https://github.com/goldenhawking/mercator.qtviewer.git直接克隆) 我们如今是准备做一个C/S架构的地图显示控件.就必定牵扯到坐标 ...

  8. Qt5的插件机制(6)--开发Qt插件时几个重要的宏

    怎样开发Qt插件,能够在Qt Assistant 中搜索"Qt Plugins"或"How to Create Qt Plugins",看看那篇manual中的 ...

  9. Eclipse添加Qt插件

    此文件仅为步骤操作作一个记录,以便以后方便查阅. 1.操作大体参考这个网站:http://blog.csdn.net/defonds/article/details/5013412 2.我的运行环境: ...

随机推荐

  1. [bzoj5016][Snoi2017]一个简单的询问

    来自FallDream的博客,未经允许,请勿转载,谢谢. 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出   get(l,r,x)表示计算区间[l,r]中 ...

  2. bzoj 3930: [CQOI2015]选数

    Description 我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案.小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选出的N个整数都求一次最大公 ...

  3. linux退出状态码及exit命令

    Linux提供了一个专门的变量$?来保存上个已执行命令的退出状态码.对于需要进行检查的命令,必须在其运行完毕后立刻查看或使用$?变量.它的值会变成由shell所执行的最后一条命令的退出状态码: [ro ...

  4. 自然语言处理工具:中文 word2vec 开源项目,教程,数据集

    word2vec word2vec/glove/swivel binary file on chinese corpus word2vec: https://code.google.com/p/wor ...

  5. python2.7练习小例子(一)

        1)题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少?     程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件的 ...

  6. SpringBoot 中 get/post 请求处理方式,以及requestboy为Json时的处理

    GET.POST方式提时, 根据request header Content-Type的值来判断: application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的 ...

  7. HTTP 协议详解(超级经典)-转

    什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端 ...

  8. ajax中基本参数应用

    $(function () { $("#verificationCodeBtn").click(function () { $("#verificationCodeIma ...

  9. HashMap和ConcurrentHashMap实现原理及源码分析

    HashMap实现原理及源码分析 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表, ...

  10. 深入理解Oracle中的随机函数

    --Oracle中取随机值的函数 .dbms_random包 dbms_random包提供了一系列的随机值获取函数以及相关存储过程.下面详细讲解常用的函数和过程. ()dbms_random.rand ...