ros的基本用法一ROS的节点通信

第一节:ROS的节点通信

摘要:

介绍ROS的节点基础通信,也即发布端到订阅端的单向通信。

1. *理论介绍*

节点是ROS中最小的进程单位,每一个节点都是一个可执行的单位,负责实现具体的功能,如数据获取,坐标变换图像信息获取等功能。

编程语言可以是Python或者CPP

2. *功能实现*

创建一个发布端,发布内容是:hello,wpf

创建一个订阅端,接收发布的内容并在终端显示

3. *步骤实现*

3.1在ROS的工作空间中,创建一个功能包,并且进行编译:

wpf@wpfpc:$ cd ~/catkin_fs/src
wpf@wpfpc:~/catkin_fs/src$ catkin_create_pkg test_pkg std_msgs roscpp rospy
wpf@wpfpc:~/catkin_fs/src$ cd ..
wpf@wpfpc:~/catkin_fs$ catkin_make

文件功能包的文件目录如下

wpf@wpfpc:~/catkin_fs/src/test_pkg$ tree
.
├── CMakeLists.txt
├── include
│  └── test_pkg
├── package.xml
└── src  
	├── pubForBeginner.cpp  
	└── subForBeginner.cpp 

3.2在创建的功能包的src目录下创建两个文件

pubForBeginner.cpp

subForBeginner.cpp

3.3 修改功能包中CMakeList.txt的内容

3.4 代码修改之后,编译成功之后即可运行

3.5 打开四个终端分别执行,一个roscore;两个节点,以及运行rqt查看节点之间的通信关系。

wpf@wpfpc:~/catkin_fs$ roscore
wpf@wpfpc:~/catkin_fs$ rosrun test_pkg pubForBeginner
wpf@wpfpc:~/catkin_fs$ rosrun test_pkg subForBeginner
wpf@wpfpc:~/catkin_fs$ rosrun rqt_graph  rqt_graph

代码运行结果如下:

wpf@wpf:~$ rosrun test_pkg subForBeginner 
[ INFO] [1654669671.867138051]: The message subscribed is hello,wpf:
[ INFO] [1654669671.966282122]: The message subscribed is hello,wpf:
[ INFO] [1654669672.066592904]: The message subscribed is hello,wpf:
[ INFO] [1654669672.167693223]: The message subscribed is hello,wpf:
....

节点之间的通信框图如下:

1.
在这里插入图片描述

*实验分析:*

本实验,实现了节点之间的通信功能,发布端发送信息,订阅端口能接收到信息。通过通信的结构框图也可以看出效果。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值