• ros使用QT插件开发


    使用qt插件开发ros

    一 安装

    1.0 安装qt5.7

    1.1 UBuntu14.04

    
    
    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

     1.2 Ubuntu16.04

    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

    安装完毕,替换

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

    把下面的路径改为文件内容成为自己的路径

    /opt/qt57/bin
    /opt/qt57/lib
    改为:
    /home/你的用户名/Qt5.7.0/5.7/gcc_64/bin
    /home/你的用户名/Qt5.7.0/5.7/gcc_64/lib

    三 测试插件

    qtcreator

    确认文件-》新文件或工程》工程》导入工程》导入ROS工作空间,存在导入ROS工作空间,则成功

    四 注意问题:

    1 这里我测试了采用源码安装的ros,插件不能知道ros的发布版本,也不能显示ros的头文件,这里没有深入研究,采用的都是默认的值,所以还是采用非源码安装的方式。

    2 我的程序在新创建一个工作空间的时候并没有初始化工作空间,所以

    echo $ROS_PACKAGE_PATH

    并没有新创建的工作空间的路径,如果需要在终端运行,还需要把新创建的工作空间路径加入到~/.bashrc中

    3 使用ros_qt插件时,要注意

    1 CMakeLists.txt编写正确

    2 运行设置中,ROS step如果target中没有内容,很可能是因为你的可执行文件生成到工作空间的build目录中,只有生成在devel目录中才可以找到。

    3 运行程序时,输出是在

    ROS Terminals中,如果没有,点击

    ,这里可以选择显示ROS Terminals

    4 .workspace中需要添加

    <IncludePaths>
       <Directory>/opt/ros/indigo/include</Directory>
    </IncludePaths>

    添加后的形式可能是这样

    <?xml version="1.0"?>
    <Workspace>
        <Distribution name="indigo"/>
        <DefaultBuildSystem value="0"/>
        <WatchDirectories>
            <Directory>src</Directory>
        </WatchDirectories>
        <IncludePaths>
                 <Directory>/opt/ros/indigo/include</Directory>
        </IncludePaths>
    </Workspace>

    我的电脑即使添加,或者重启qt都不能包含ros头文件,只有编译一次之后才可以找到ros头文件。

  • 相关阅读:
    c语言面试基础题
    fwrite(&stud[i],sizeof(struct student_type),1,fp)的基本含义
    对于文件操作函数的记录
    将字符串s1复制到字符串s2。
    将键盘输入的几个数据存储到文件里的程序
    利用指针对二维数组进行遍历查找程序
    常见的C语言错误及程序的调试
    文件的基本操作函数及说明
    一个磁盘信息向另一个磁盘信息的复制
    常用流程图符号和基本流程图
  • 原文地址:https://www.cnblogs.com/qixianyu/p/6592922.html
Copyright © 2020-2023  润新知