当先锋百科网

首页 1 2 3 4 5 6 7

ROS创建工作空间及通信

创建工作空间及功能包

发布者Publisher的编程实现

  • 话题模型[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gx2PGIRF-1604898384599)(img\1.png)]

  • 创建功能包

    • 上一个功能包可以直接删除,因为当时只是练习,并且一个工作空间下可以有很多功能包

    • cd ~/catkin_ws/src  //到src文件下
      catkin_create_pkg learning_topic roscpp rospy std_msgs geometry_msgs turtlesim //创建功能包
      
    • 在生成的learning_topic文件夹下的src文件夹中创建发布者代码(C++)(可以直接使用教程代码)

    • 在CMakeLists.txt文件中加入编译指令和设置链接库

      • add_executable(velocity_publisher src/velocity_publisher.cpp)  # 添加编译选项
        target_link_libraries(velocity_publisher ${catkin_LIBRARIES}) # 设置动态链接库
        
    • cd ~/catkin_ws // 到catkin_ws文件夹下
      catkin_make // 编译工作空间
      
    • 运行小海龟

      • roscore  //运行Rosmaster
        rosrun turtlesim turtlesim_node  //运行小海龟节点
        rosrun learning_topic velocity_publisher //运行发布者
        
  • 代码的实现过程

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VusAkZMA-1604898384601)(img\3.png)]

订阅者Subscriber编程实现

  • 话题模型[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DyxThGvG-1604898384602)(img\2.png)]

  • 在上个功能包中粘贴pose_subscriber.cpp文件

  • 编译的操作方法和上面一样

  • 代码实现过程:

    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ODTYBhED-1604898384603)(img\4.png)]

criber.cpp文件

  • 编译的操作方法和上面一样

  • 代码实现过程:

    • [外链图片转存中…(img-ODTYBhED-1604898384603)]

  1. package_name是自定义包名,depend1是依赖项 ↩︎