学习ros,掌握了ros编译的整体流程逻辑,所以写了一个简单的demo订阅

本文详细介绍了如何在ROS中建立工作空间,创建C++软件包,编写节点,连接CMakeLists.txt,以及编译和运行节点。还展示了如何使用rqt_graph可视化节点间的通信关系。
摘要由CSDN通过智能技术生成

1、学习ros,掌握了ros编译的整体流程逻辑,所以写了一个简单的demo订阅

构建项目整个过程:

1、创建ROS工作空间

mkdir -p ~/my_ros_project/src

cd ~/my_ros_project/

catkin_make

//第一次运行catkin_make是为了初始化ROS工作空间的构建系统,并生成必要的配置文件和构建规则,以便后续能够正确地编译和运行ROS软件包。

//每当你添加、修改或删除ROS软件包时,都需要重新运行catkin_make来确保构建系统的正确性和更新编译结果。

2、创建ROS软件包

cd ~/my_ros_project/src

catkin_create_pkg my_robot_pkg roscpp std_msgs

//添加了roscpp和std_msgs作为依赖项,因为我们将使用C++编写节点,并在订阅消息时使用标准消息包。

3、在软件包的src下编写c++文件

publisher_node.cpp和subscriber_node.cpp

4、修改CMakeLists.txt

将写的cpp文件连接到项目中

5、编译项目

cd ~/my_ros_project

//回到工作空间根目录 catkin_make

6、运行ROS节点

在一个终端

source devel/setup.bash

rosrun my_robot_pkg publisher_node

在另一个终端

source devel/setup.bash

rosrun my_robot_pkg subscriber_node

在运行rosrun my_robot_pkg publisher_node命令时,publisher_node是一个可执行文件的名称,ROS会在你的工作空间中找到这个可执行文件并运行它。

在ROS中,当你通过catkin_make编译你的工作空间时,所有的可执行文件(比如节点、工具等)会被放在devel/lib/目录下,其中是你的软件包的名称,这取决于CMakeLists.txt中设置的项目名称。

可以使用rqt_graph显示发布者节点和订阅者节点之间的通信图

source devel/setup.bash

rosrun rqt_graph rqt_graph

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值