在文件夹创建工作空间ws/first_ws

1.打开一个终端(接下来每一步都需要回车)

cd ws/first_ws

接着到src目录下

cd src/

继续创建一个package

catkin_create_pkg hello_topic rospy rosmsg roscpp

接下来退出到上一级

cd ..

接下来输入

catkin_make

接着(还在first_ws这一级)

source devel/setup.bash

2.下面即将打开IDE(我的IDE为clion,如果用VS code可自行选择方式打开,如果也为clion,注意我的版本是2022.2.2,一样的可以直接复制下列代码,不一样的话要改成自己所用的版本)

cd ~/devtools/clion-2022.2.2/bin/

接下来打开clion

./clion.sh

接着就打开了clion

 注意:打开时选择文件的地址去打开,我的地址为ws/src/hello_topic,选择打开即可

另外,进入设置、CMAKE中的构建目录里面的东西删掉,改为

/tmp/hello_topic/cmake-build-debug

依次点击应用、确定,然后删除cmake-build-debug文件

3.在hello_topic下新建文件夹scripts

4.配置python环境

在python解释器中添加新解释器,选择第一个虚拟环境,存在的环境(现有环境),选择python2,在方框处输入

usr/bin/python2

输入完成后回车即可,点击确定,然后依次应用,确定。

5.创建文件发布者publisher_node.py和subscriber_node.py

新建发布者python文件

#!/usr/bin/env python

# coding:utf-8

import rospy

from std_msgs.msg import String

if __name__ == '__main__':

rospy.init_node("publisher_node")

topic_name='/hello/itcast'

publisher=rospy.Publisher(topic_name, String, queue_size=100)

count=0

rate=rospy.Rate(4)

while not rospy.is_shutdown():

msg=String()

msg.data='hello topic {}'.format(count)

publisher.publish(msg)

rate.sleep()

count+=1

新建订阅者python文件

import rospy

from std_msgs.msg import String

def topic_callback(msg):

print 'msg'

if __name__ =='__main__':

rospy.init_node('subscriber_node')

topic_name='/hello/itcast'

subscriber=rospy.Subscriber(topic_name,String,topic_callback)

rospy.spin()

 

6.发布者开始发布消息

新建一个终端

cd ws/first_ws/

下一步

source devel/setup.bash

下一步

rosrun hello_topic publisher_node.py

 

接着新建一个终端

cd ws/first_ws/

下一步

source devel/setup.bash

最后一步

rosrun hello_topic subscriber_node.py

 

即可看到订阅者在订阅消息

 

相关链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: