ros实验一fibonacci发布和订阅操作

步骤一:创建一个ROS工作空间

打开终端并输入以下命令以创建一个新的ROS工作空间(如果已有工作空间可以跳过此步骤):

mkdir -p ~/ros_workspace/src
cd ~/ros_workspace/
catkin_make
source devel/setup.bash

步骤二:创建发布者节点

  1. 在src目录下创建一个ROS包,假设包名为fibonacci_publisher:
    cd src
    catkin_create_pkg fibonacci_publisher rospy
  2. 在fibonacci_publisher包内创建一个Python脚本作为发布者节点,比如fibonacci_publisher_node.py:

代码如下:

#!/usr/bin/env python

import rospy
from std_msgs.msg import Int32

def fibonacci_publisher():
    pub = rospy.Publisher('/fibonacci', Int32, queue_size=10)
    rospy.init_node('fibonacci_publisher', anonymous=True)
    rate = rospy.Rate(10)  # 10Hz

    a, b = 0, 1
    while not rospy.is_shutdown():
        pub.publish(a)
        a, b = b, a + b
        rate.sleep()

if __name__ == '__main__':
    try:
        fibonacci_publisher()
    except rospy.ROSInterruptException:
        pass

3 .记得赋予fibonacci_publisher_node.py执行权限:

cd src
catkin_create_pkg fibonacci_subscriber rospy

步骤三:创建订阅者节点  

1.在src目录下创建另一个ROS包,假设包名为fibonacci_subscriber:

cd src
catkin_create_pkg fibonacci_subscriber rospy

2. 在fibonacci_subscriber包内创建一个Python脚本作为订阅者节点,比如fibonacci_subscriber_node.py:

#!/usr/bin/env python

import rospy
from std_msgs.msg import Int32

def callback(data):
    rospy.loginfo("Received: %d", data.data)

def fibonacci_subscriber():
    rospy.init_node('fibonacci_subscriber', anonymous=True)
    rospy.Subscriber('/fibonacci', Int32, callback)
    rospy.spin()

if __name__ == '__main__':
    fibonacci_subscriber()

3. 同样要给fibonacci_subscriber_node.py赋予执行权限:

chmod +x fibonacci_subscriber_node.py

步骤四:编译并运行节点

1.回到ROS工作空间根目录,编译所有的包:

catkin_make

2.在一个终端中输入以下命令来启动ROS主节点:roscore

3.设置每个节点的环境变量:source devel/setup.bash

4.运行发布者节点:

rosrun fibonacci_publisher fibonacci_publisher_node.py

5.在另一个终端中运行订阅者节点:

rosrun fibonacci_subscriber fibonacci_subscriber_node.py

结果如下:

需要用到的一些小知识:

要使用文本编辑器(比如vim、nano等)创建一个Python脚本文件,可以按照以下步骤进行操作:

使用vim创建Python脚本文件:

打开终端,并进入到你想要创建Python脚本文件的目录。

输入以下命令以使用vim创建一个Python脚本文件(比如my_script.py):

vim my_script.py

按下 i 键进入编辑模式,然后粘贴或手动输入Python代码。

按下 Esc 键退出编辑模式,然后输入 :wq 并按下 Enter 保存并退出vim。

使用nano创建Python脚本文件:

打开终端,并进入到你想要创建Python脚本文件的目录。

输入以下命令以使用nano创建一个Python脚本文件(比如my_script.py):

nano my_script.py

在nano编辑器中粘贴或手动输入Python代码。

按下 Ctrl + O 来保存文件,然后按下 Enter 确认保存。最后按下 Ctrl + X 退出nano。

1.如果你确定要强制保存并退出只读文件,在vim中输入以下命令:

:w!

:q

这将强制保存文件并退出vim编辑器。

2.如果你想在保存只读文件时避免出现这个错误,可以在打开文件时添加 ! 参数来打开文件,并且确保你有修改权限。在终端中使用以下命令:

vim -R filename

或者

sudo vim filename

这样你就能以读写模式打开文件,从而避免只读错误。

此外,运行python代码时,需要安装有关python的依赖包:sudo pip install(用这个指令来安装即可)

  • 40
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值