在RoboWare Studio下利用python语言实现话题

本文详细介绍了在Roboware环境下使用Python进行话题发布与订阅的步骤,包括工作区与ROS包的创建,话题代码编写,以及构建与运行过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     本人在使用roboware这款软件编写C++文件与python文件有一些不同。下面是我在roboware下实现python话题编写的过程。

     假设你已经安装好roboware studio这款软件,如果没有安装的话可以百度一下如何安装,这是一款非常好用的软件。

    1.  新建工作区。点击新建工作区,选择存放目录,输入工作区名称,点击保存。

    2.建立工作空间后,右击工作空间下的src目录,选择“新建ROS包”,如下图,在命名ROS时顺便添加依赖,rospy和std_msgs(注:此处是依赖是rospy,而建立c++版本时添加roscpp),然后回车。

 

    建立之后目录空间如下:

    3.右击ros包下的的src目录,选择“新建PY源文件”,命名之后回车(此处不像建立C++源文件时需要选择执行文件或者库之类,因为python是一种解释性语言,与c++不同)。

      4.编写话题发布者与订阅者。

topic_pub代码如下:

#!/usr/bin/python2
# coding: utf-8

import rospy #导入ROS Python客户端
from std_msgs.msg import String
from std_msgs.msg import Int16
def topicPublisher():
    rospy.init_node('pub_node', anonymous = False) #初始化ROS节点
    simple_publisher = rospy.Publisher('mytopic', String, queue_size = 10) #定义Publisher对象
    rate = rospy.Rate(10) #设置Topic发布的频率(Hz)

    mytopic_content = "Hello World!" #填充Topic内容
    while not rospy.is_shutdown():
        simple_publisher.publish(mytopic_content) #发布Topic
        rate.sleep() #确保Topic以我们设定的频率发布

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

 topic_sub代码如下:

#!/usr/bin/python
# coding: utf-8

import rospy #导入ROS Python客户端
from std_msgs.msg import String

# 定义Subscriber回调函数,处理收到的信息
def stringSubscriberCallback(data): #data的数据类型与Subscriber接收的Topic对应的消息类型一致
    rospy.loginfo('I heard: %s', data.data)

def stringSubscriber():
    rospy.init_node('sub_node', anonymous = False) #初始化ROS节点
    rospy.Subscriber('mytopic', String, stringSubscriberCallback) #定义Subscriber对象

    rospy.spin()

if __name__ == '__main__':
    stringSubscriber()

注:1.以上代码为python2版本。

       2.下面这两行注释很重要,不加可能会报错。

#!/usr/bin/python
# coding: utf-8

    5.选择ros,点击“构建”

    6.选择ros,点击“运行roscore”

    7.在终端下

         运行  source devel/setup.bash

          进入到ros包的目录下,运行:

          chmod u+x topic_pub.py

          再进入工作区目录下,运行

          rosrun test topic_pub.py

    再打开一个新的终端:

          source devel/setup.bash

          进入到ros包的目录下,运行:

          chmod u+x topic_sub.py

          再进入工作区目录下,运行

          rosrun test topic_sub.py

    8.运行成功!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值