ROS中的收发消息框架代码案例(python版)(赵虚左教学视频心得)

搭建框架前的准备

一、打开一个终端,输入以下代码:**

1.mkdir -p 自定义空间名称/src
请添加图片描述

2.cd 自定义空间名称
例如我这个就是cd demo001_ws
3.catkin_make
执行完如上命令后
会出现如下情况
请添加图片描述
4.cd src
进入src下
5.catkin_create_pkg 自定义ROS包名 roscpp rospy std_msgs
创建包名

二、创建工作空间与功能包

工作空间是一个存放工程开发相关文件的文件夹
src:代码空间
build:编译空间
devel:开发空间
install:安装空间

三、搭建话题通讯框架

// An highlighted block
#! /usr/bin/env python

import rospy
from std_msgs.msg import String #发布消息的类型
"""
使用python实现消息发布
    1.导包
    2.初始化ros节点
    3.创建发布者对象
    4. 编写发布逻辑并发布数据
"""

if __name__ == "__main__":

    #2.初始化ros节点:
    rospy.init_node("xionger")#传入节点名称
    # 3.创建发布者对象
    pub = rospy.Publisher("che",String,queue_size=10)
    #pub就是一个变量;publier后的括号内的是发布的名称;类型;
    #queue_size是指消息队列的大小,当消息处理的过慢发生堵塞时,消息队
    # 列用来缓存发出的消息,超过10之后先进入队列里的消息就被
    #舍弃
    # 4. 编写发布逻辑并发布数据
    #创建数据
    #新建一个空的string消息
    msg = String()
    #制定发布频率
    rate = rospy.Rate(1)#发布频率为1赫兹
    #设置计数器
    count = 0
    #使用循环发布数据hr
    while not rospy.is_shutdown():
        count += 1#计数器
        #rospy没有关闭则一直循环
        #给消息赋值
        msg.data = "hello" + str(count)#把count数字转为字符,并连接起来
        pub.publish(msg)
        rospy.loginfo("发布的数据是:%s",msg.data)#r日志文件
        rate.sleep()#休眠,1赫兹休眠一次休眠完继续发布
        #先roscore,再source .devel/setup.bash在工作环境下更新环境
        #rosrun plumbing_pub_sub demo01_pub_p.py
        #再rostopic echo /che
    #发布数据
#导包
先在demo001中运行catkin_make

四、终端需要运行的三个部分

1.打开终端运行roscore代码
2.再打开一个终端进入demo001_ws,运行source ./devel/setup.bash刷新环境变量,运行rosrun 功能包名称 文件名名称,完成发布消息的部分
3.再打开一个终端,进入demo001_ws,运行topic echo /che(发布消息的名称)
请添加图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值