zoukankan      html  css  js  c++  java
  • ubuntu18.04 在QT中添加ros环境搭建 亲测可用

    环境 :

        Ubuntu 18.04 LTS

    开始前准备工作

           ubuntu18 安装ROS   参考  http://wiki.ros.org/melodic/Installation/Ubuntu

    1、在ROS环境下安装 QT Creator


    第一步 安装Qt Creator

             Ubuntu系统库自带的qtcreator并没有ROS插件,需要自己通过ppa方式安装,网上多是基于14.04版本的,且较为繁琐,并不推荐。这里要介绍的是带有ROS插件的Qt Creator安装,链接如下:
    ros-qtc-plugin How to Install (Users)

    下载文件名为  qtcreator-ros-bionic-latest-offnline-installer.run,进入文件所在目录,使用如下命令安装:

    chmod +x qtcreator-ros-bionic-latest-offnline-installer.run
    sudo
    ./qtcreator-ros-bionic-latest-offnline-installer.run


    弹出安装界面,按链接中的步骤一步步走即可。

    第二步 安装 ROS 的 QT 相关功能包

    sudo apt-get update 
    
    sudo apt-get install ros-kinetic-qt-create ros-kinetic-qt-build

     

    第三步 测试 QT 功能包


    3.1 新建工作空间,并新建一个名为 hello 的  qt功能包

    mkdir -p qt_ws/src 
    cd qt_ws/src
    catkin_create_qt_pkg hello roscpp rospy std_msgs //注意这里是 catkin_create_qt_pkg,不是 catkin_create_pkg
    cd ..
    catkin_make


    3.2 运行节点

    source devel/setup.bash
    
    rosrun hello hello


    出现以下软件弹窗证明 Q T 功能包测试成功

    2.使用Qt Creator开发ROS

       为了开发ROS,首先需要创建工作空间,然后创建程序包,接下来根据需要编写消息文件、服务文件,动作文件等资源文件,然后利用catkin_make编译生成相应的编程语言目标文件,最后创建节点、launch文件、机器人模型等。
    Qt Creator为开发ROS程序提供了良好的代码编辑、编译、调试工具,在本小节中,我们将介绍如何利用Qt Creator开发一个名为“Hello ROS”的基本节点。
    1.创建工作空间

    首先,打开QtCreator的“New Project”,并选择“Other Project”,选择“ROS Workspace”模板,如图1所示:

                         图1

    选择ROS Workspace创建项目
    然后,设置项目名为catkin_ws,设置工作空间路径为~/ros/catkin_ws,其中~代表当前用户目录。ROS版本默认选择Melodic,编译系统选择CatkinMake,设置完成后点击“下一步”。设置工程名和位置如图2所示:

     
    最后,设置GIT、SVN、CVS等版本控制系统,默认无。点击“完成”按钮即可完成工作空间的创建,如图3所示:

     
    ROS会创建catkin_ws.workspace文件设定ROS版本和编译系统,并创建src目录和工作空间的CMakelists.txt文件,CMakelists.txt文件对catkin编译系统进行了配置,如图4:


    2.创建程序包

    工程创建完之后,就可以创建程序包了。右键点击图4的src目录,选择“New File”创建程序包,在弹出的界面选择ROS–>Package,然后点击“Choose”,如图5所示:

     
    在弹出的窗口中,设置包名及路径,默认为src目录,在所示的Catkin中添加依赖roscpp、rospy、std_msgs,依赖之间用逗号隔开,这意味着该程序包支持C++和Python两种开发语言,并支持ROS标准消息输出,最后点击“Next”,如图6所示:


    最后弹出工作空间和版本控制界面,程序包“example_01”就会被添加到工作空间catkin_ws中,界面如图7所示:


    点击“完成”按钮即可完成程序包的创建。创建完成后,ROS会自动地在相应的目录下初始化生成CMakeLists.txt、Package.xml等文件和include、src等目录。
    然而,在QtCreator左侧栏看不到新添加的包,但系统中已经存在相应的文件。猜测应该是QtCreator的bug。此时关闭工程,重新导入可解决。


    3.创建节点

    接下来创建节点,右键点击程序包example_01下的目录src,选择“Add New”,QtCreator支持基本节点、发布者节点、订阅者节点、服务端节点、客户端节点、launch文件、URDF文件等的创建,并提供了基本的模板。在此我们选择“Basic Node”,点击“Choose”(为节省篇幅,不再重复截图)。
    在弹出的新建基本节点界面中,设置文件名为hello.cpp,文件路径默认为/home/simon/ros/catkin_ws/src/example_01/src,如图8所示:

     
    点击“下一步”按钮作进一步配置,然后点击“完成”将hello.cpp文件添加到程序包example_01中。
    自动生成的hello.cpp文件仅对ROS进行初始化并创建了一个节点句柄,内容如下:

    #include <ros/ros.h>
    
    int main(int argc, char **argv)
    {
      ros::init(argc, argv, "hello");
      ros::NodeHandle nh;
    
      ROS_INFO("Hello world!");
    }


    接下来需要编辑文件example_01/CMakeLists.txt(注意不要搞错哦,不要和catkin_ws/src目录下的CMakeLists.txt混淆),配置可执行文件和目标链接库,可链接到ros/ros.h,可执行文件名为hello,内容如下:

    //添加可执行文件
    add_executable(hello src/hello.cpp)
    //将可执行文件和库文件链接
    target_link_libraries(hello
        ${catkin_LIBRARIES}
    )



    4.编译

    网上的资料都是点击左下角的三角型进行build,但是我在编译的时候出现以下的错误

    16:12:51: 无法启动进程"catkin" build --cmake-args -G 'CodeBlocks - Unix Makefiles' -DCMAKE_BUILD_TYPE=Debug

    Error while building/deploying project catkin_ws (kit: 桌面)

    When executing step "CatkinTools Step"

    找了很多资料,按照步骤去做都没有解决,

    索性 我直接在终端里输入命令去编译,运行

    catkin_make
    source devel/setup.bash rosrun example_01 hello
    Talk is cheap, show me the code
  • 相关阅读:
    2.3 节的练习
    2.2 节的练习--Compiler principles, technologys, &tools
    web测试点整理(二) -- 输入框
    web测试点整理 -- 注册/登录
    产品测试的思路
    C语言学习--静态链接库和动态链接库
    C语言学习(四)--操作符
    C语言学习(三)--语句
    C语言学习(二)--数据类型
    C语言学习(一)--基本概念
  • 原文地址:https://www.cnblogs.com/birdBull/p/14914185.html
Copyright © 2011-2022 走看看