话题实现了一种发布/订阅(publish/subscribe)的通讯机制,这是一种在分布式系统中常用的数据交换的方式。下面将进行话题的创建。
一、基础通讯
1.建立工作空间并创建软件包
首先通过下述命令建立工作空间并在其中创建新的软件包。
mkdir -p ws_name/src
cd ws_name
catkin_make
echo 'source ~/ws_name/devel/setup.bash'>>~/.bashrc
cd src
catkin_create_pkg package_name rospy std_msgs #创建包并添加相关依赖项
2.新建发布节点(publisher)
创建完成后在package_name的包下面新建scripts文件夹后通过subl XXX.py(sublime编辑器)或gedit XXX.py创建可执行文件。
#! /usr/bin/env python
import rospy
from std_msgs.msg import Int32 #从std_msgs标准库中导入Int32数据类型
rospy.init_node('rospub') #初始化节点
rate = rospy.Rate(2) #设置发布频率,单位Hz,此处为每秒发送两次
pub = rospy.Publisher('publish',Int32,queue_size = 1) #实例化publisher,向话题‘topic’发布Int32类型的数据
while not rospy.is_shutdown():
count = rospy.ge