博客
关于我
QtCreator与catkin命令两种方式开发ROS程序(图示加代码)
阅读量:688 次
发布时间:2019-03-17

本文共 2208 字,大约阅读时间需要 7 分钟。

Qt Creator与catkin命令两种方式开发ROS程序

最近在学习无为斋主的《机器人ROS开发实践》中的ROS编程部分时,遇到了编译运行的麻烦。为了便于记录和后续学习,决定详细梳理两种开发ROS程序的方法。


一、Qt Creator安装及开发ROS

1. 安装Qt Creator

在Ubuntu 18.04 LTS或20.04 LTS系统上安装带有ROS插件的Qt Creator。推荐使用18.04版本,因为20.04尚未正式支持ROS插件。

安装方法:

  • 使用Ubuntu的下载工具uGet+aria2下载线下安装文件qtcreator-ros-bionic-latest-offnline-installer.run
  • 运行安装脚本:
  • mkdir /opt/QtCreator && cd /opt/QtCreatorsudo ./qtcreator-ros-bionic-latest-offnline-installer.run

    按照安装界面指引完成安装。

    2. 使用Qt Creator开发ROS

    创建工作空间:

  • 打开Qt Creator,选择“New Project”。
  • 选择“ROS Workspace”模板,项目名为catkin_ws,工作空间路径为~/ros/catkin_ws
  • ROS版本选择Melodic,编译系统选CatkinMake。
  • 创建程序包:

  • 右键点击工作空间的src目录,选择“New File”。
  • 选择ROS->Package模板,设置包名及路径,默认依赖roscpprospystd_msgs
  • 创建节点:

  • 右键点击新建的程序包example_01下的src目录,选择“Add New”。
  • 选择“Basic Node”模板,设置文件路径为hello.cpp
  • 手动编辑hello.cpp文件,发布ROS信息。
  • 编译:

  • 在Qt Creator中点击左侧栏的锤子按钮,编译工作空间。
  • 查看编译输出窗口,确认无误。
  • 运行:

  • 右键点击项目号,选择“Run 外挂步骤”。
  • 在运行窗口中设置包名example_01和目标文件hello
  • 在终端启动roscore,运行rosrun example_01 hello命令。

  • 二、使用catkin命令开发ROS程序

    1. 创建工作空间

  • 在终端中运行命令:
  • mkdir -p ~/ros/catkin_ws/src && cd ~/ros/catkin_ws/srccatkin_init_workspace

    2. 创建程序包

  • 运行命令:
  • cd ~/ros/catkin_ws/srccatkin_create_pkg example_01 rospy roscpp std_msgs

    3. 添加程序文件

  • example_01/src目录下创建hello.cpp文件:
  • #include 
    int main(int argc, char **argv) { ros::init(argc, argv, "hello"); ros::NodeHandle nh; ROS_INFO("Hello world!"); return 0;}

    4. 编译配置

  • 修改example_01/CMakeLists.txt
  • cmake_minimum_required(VERSION 2.8.3)project(example_01)find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs)include_directories(${catkin_INCLUDE_DIRS})add_executable(hello src/hello.cpp)target_link_libraries(hello ${catkin_LIBRARIES})

    5. 程序包配置

  • 修改example_01/package.xml
  • example_01
    0.1.0
    Example package
    simon
    Apache 2.0
    simon
    catkin
    roscpp rospy std_msgs
    roscpp rospy std_msgs

    6. 编译安装

  • 运行命令:
  • cd ~/ros/catkin_ws/export ROS_PARALLEL_JOBS='-j8 -l8' catkin_make
    1. 安装命令:
    2. catkin_make -D CMAKE_INSTALL_PREFIX=/home/simon/melodic install

      7. 运行

      1.启动节点管理器:

      roscore

      2.运行节点:

      cd ~/ros/catkin_ws/devel/setup.sh && rosrun example_01 hello

      总结

      两种方法各有优势,Qt Creator提供了更直观的开发体验,而catkin命令则适合脚本化和大规模项目。选择取决于个人的开发环境和需求。

    转载地址:http://xkvhz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现average absolute deviation平均绝对偏差算法(附完整源码)
    查看>>
    Objective-C实现average mean平均数算法(附完整源码)
    查看>>
    Objective-C实现average median平均中位数算法(附完整源码)
    查看>>
    Objective-C实现average mode平均模式算法(附完整源码)
    查看>>
    Objective-C实现avl 树算法(附完整源码)
    查看>>
    Objective-C实现AvlTree树算法(附完整源码)
    查看>>
    Objective-C实现backtracking Jump Game回溯跳跃游戏算法(附完整源码)
    查看>>
    Objective-C实现BACKTRACKING 方法查找集合的幂集算法(附完整源码)
    查看>>
    Objective-C实现bailey borwein plouffe算法(附完整源码)
    查看>>
    Objective-C实现balanced parentheses平衡括号表达式算法(附完整源码)
    查看>>
    Objective-C实现base64加密和base64解密算法(附完整源码)
    查看>>
    Objective-C实现base64加解密(附完整源码)
    查看>>
    Objective-C实现base64编码 (附完整源码)
    查看>>
    Objective-C实现base85 编码算法(附完整源码)
    查看>>
    Objective-C实现basic graphs基本图算法(附完整源码)
    查看>>
    Objective-C实现BCC校验计算(附完整源码)
    查看>>
    Objective-C实现bead sort珠排序算法(附完整源码)
    查看>>
    Objective-C实现BeadSort珠排序算法(附完整源码)
    查看>>
    Objective-C实现bellman ford贝尔曼福特算法(附完整源码)
    查看>>
    Objective-C实现bellman-ford贝尔曼-福特算法(附完整源码)
    查看>>