博客
关于我
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/

    你可能感兴趣的文章
    Openlayers实战:绘制带箭头的线
    查看>>
    Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
    查看>>
    Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
    查看>>
    Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
    查看>>
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    Openlayers高级交互(2/20):清除所有图层的有效方法
    查看>>
    Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
    查看>>
    Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
    查看>>
    Openlayers高级交互(4/20):手绘多边形,导出KML文件,可以自定义name和style
    查看>>
    Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
    查看>>
    Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
    查看>>
    Openlayers高级交互(8/20):选取feature,平移feature
    查看>>
    Openlayers:DMS-DD坐标形式互相转换
    查看>>
    openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
    查看>>
    OpenLDAP(2.4.3x)服务器搭建及配置说明
    查看>>
    OpenLDAP编译安装及配置
    查看>>