在文件夹创建工作空间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
即可看到订阅者在订阅消息
相关链接
大家都在找:
ubuntu:ubuntu命令大全
linux:linux一键换源脚本
人工智能:人工智能专业就业方向及前景如何
自动驾驶:自动驾驶概念股一览表
发表评论