ros发布节点信息python_vscode开发ROS1(13)-python实现话题通信(msg)

27ab9f54b92d64017e2dbea0c6c0ed0d.png

写在最前面

1, ros也是可以使用python进行编程的, 而且相比c++来说, ros更加简单.

使用python创建第一个ROS程序

1, 在ros_test目录下, 新建一个scripts文件夹.

62df64dcad5ba53f7f7a9977f9366c2c.png


2, 修改CMakeLists.txt文件, 在find_package中添加rospy

find_package(catkin REQUIRED COMPONENTS roscpp ... #其他的包 rospy )

3, 在vscode的终端中执行catkin_make.
4, 在scripts文件夹中, 新建pyTalker.py文件.
5, 粘贴以下代码

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import rospy #导入rospy客户端
from std_msgs.msg import String #导入std_msg/string这个数据类型def talker():pub = rospy.Publisher('chatter', String, queue_size=10) #话题的名称chatterrospy.init_node('talker', anonymous=True) #初始化节点,节点的名称为talker,名字要唯一rate = rospy.Rate(10) # 10hz,创建rate对象,与sleep()函数结合使用,控制话题消息发布的频率while not rospy.is_shutdown():msg = "hello world "rospy.loginfo(msg)#函数在屏幕输出信息,这个信息存储在hello_str当中pub.publish(msg)rate.sleep()#用于控制发布的频率if __name__ == '__main__':try:talker()except rospy.ROSInterruptException:pass

6, 具体介绍请看注释, 这个比较简单.
7, 使用vscode的终端中cd命令,定位到pyTalker.py文件

cd src/ros_test/scripts/

8, 执行指令, 这一步是为了让pyTalker.py文件具有可执行权限, 不可缺少

chmod 0777 pyTalker.py

运行talker和listener

1, 使用快捷键Ctrl + Shift + T 弹出系统终端,输入roscore,启用整个ROS总节点。
2, 使用快捷键Ctrl + Shift + T 弹出系统终端,输入rosrun ros_test pyTalker.py,启用talker节点。
3, 使用快捷键Ctrl + Shift + T 弹出系统终端,输入rosrun ros_test listener,启用listener节点, 此处的listener节点为c++节点。参照vscode开发ROS(3)-创建第一个ROS项目.

87cd188c1c9deb5456599648a53d49db.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303671.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BeetleX 之 WebApi网关1.5.8发布

这一版本的主要升级了BeetleX的基础网络库,主要解决在某些情况导致解释http协议cpu暴增长的问题,同时使用BeetleX新版本针对的IndexOf的优化,使http协议解释上有着一定程度的性能提升。新版本同样也是支持win64和linux64两个版本,…

egg前面加什么_国威说阀:阀门前面为什么加国标美标日标之类的?

原标题:国威说阀:阀门前面为什么加国标美标日标之类的?美标阀门就是美国标准的意思,通常称呼的美标球阀,美标闸阀和其它什么阀门都是按照美国标准制造出来的阀门其中一类。标准的编制说明是一个非常重要的文件。它阐明…

读《有效需求分析》

最近在一个技术群里看到张逸大佬强力推荐一本关于需求分析的书《有效需求分析》,于是在 Kindle 上下单了,读完后有一种相见恨晚的感觉。本书特点从书中的一些案例可以看出,作者擅长 ToB 软件的需求分析,如果您是从事的 ToB 软件的…

超时锁定计算机,就会发现多了一个控制台锁定显示关闭超时选项

小技巧:锁定屏幕方法多在临时要离开电脑时,可用CtrlAltDel组合键、WinL组合键或在开始菜单中单击用户头像选择“锁定”手动锁屏;或借用“屏幕保护设置”设定自动定时锁屏。1. 探寻自动锁屏时间修改离开电脑一段时间后Windows 10会自动锁屏,但…

android数据存放map_ES6 的新鲜玩意儿——集合set、map、WeekSet、WeekMap

es6新增了Set、Map、WeekSet、WeekMap 四种数据结构。C#中有HashSet和Dictionary,HashSet和Dictionary都是范式集合,但是es6不支持接口开发,所以也就不存在范式。Set 是存唯一值的集合,Map是存键值对的集合。WeakSet、WeakMap分别…

大牛领导单独找我聊了两句:搞框架的同时别忘了算法

前言程序数据结构算法,好的算法能让程序更高效的运行;在当今数据信息时代,数据分析和数据处理肯定是避免不了,而算法便成为了很多公司门槛级的要求,特别是大厂;赶紧搞起来,说不定离进大厂就只差…

C#使用iTextSharp操作PDF文件

概述html文件怎么转成PDF文件?有的招聘网上的简历导成DOC文件,不能直接使用,这样造成很大的困扰,那么它还有一个格式,那就是html格式。将文件导出成html格式,然后再转成PDF文件,这样便可以直接使…

springboot 历史版本文档_Springboot看视频学太慢?来看看这份阿里深入实践Springboot文档...

前言:之前 Spring Boot 2.2没能按时发布,是由于 Spring Framework 5.2 的发布受阻而推迟。这次随着 Spring Framework 5.2.0 成功发布之后,Spring Boot 2.2 也紧跟其后,发布了第一个版本:2.2.0。关于Spring Boot的性能…

51CTO技术沙龙4月23日第四期:如何快速定位******

人 在江湖飘,哪能不挨刀?没有跟***打过交道的运维人员能有多少?恐怕工作时间长的朋友大多都遇到过。我们除了做好防御之外,也可以尝试着像“盗梦空间”那 样了解******的动向。也可以从追踪***到挖掘***隐藏技术。当然&#xff0c…

计算机软件损坏基本维修,学习修电脑基础没有用?客户电脑开机不显示,维修差点被坑!...

原标题:学习修电脑基础没有用?客户电脑开机不显示,维修差点被坑!电脑故障分为硬件故障与软件故障,硬件故障指的是硬件损坏,软件故障指的是系统损坏,硬件故障还可以分为真坏与假坏,真…

cass小插件集合_插件|如何精准提取CASS方格网高程点?

CASS的方格网土方计算时,在格网上会内插很多高程点,下图所示的黄色、蓝色和洋红色的高程点。怎么能批量提取这些点呢?CASS方格网截图CASS升级到10.1之后,增加了一个菜单:工程应用-注记生成数据文件。这个功能可以将文字…

使用.NET开发的数据库小工具 DbTool

数据库小工具 DbToolIntroDbTool 一个支持 DbFirst、ModelFirst 和 CodeFirst 的数据库小工具。DbFirst 是根据数据库中的表信息生成代码中的 Model,以及生成数据表结构文档ModelFirst 是根据数据表信息或者数据表结构文档生成创建数据库的脚本CodeFirst 是指根据 m…

古登堡是垂直搜索引擎吗_网站排名,提高内容输出频率,就一定要对排名好吗?-SEO...

如果你在长期做百度SEO一定会有这样一个明显的感觉,通过每天大量的输出相关性的内容,实际上是有利于提高网站的抓取频率与整站的权重。 而对于百度搜索引擎而言,对方也确实有这么一个考量,用于衡量一个网站的活跃度与覆盖搜索需求…

Windows环境下Dapr入门

Dapr是Distributed Application Runtime(分布式应用运行时)的缩写。它是一个可移植的、事件驱动的运行时。下面介绍如何在Windows平台安装Dapr:安装Dapr CLIDapr CLI是使用Dapr相关功能的主要工具,您可以使用它来以Dapr Sidecar的…

linq查询不包含某个值的记录_【翻译】C#表达式中的动态查询

当您使用LINQ来处理数据库时,这种体验是一种神奇的体验,对吗?你把数据库实体像一个普通的收集,使用Linq中像Where,Select或者 Take,这些简单的使用就能让代码可用了。但是,让我们考虑一下这里是…

计算机二级ppt为客户制作演示文稿,计算机二级ppt真题:制作介绍北京ppt

1.演示文稿题1具体如图示。2.【打开】文件夹,选择【PPT素材.docx】,点击【选择】选定所有格式类似的文本(无数据),点击【段落】,调整【大纲级别】1级。选择【蓝色文本】,点击【选择】选定所有格式相似的文本(无数据)&a…

牛气!.NET5电商平台轻松承接10亿GMV,只因做对了这个!

自从京东和唯品会转了Java..NET就一直缺乏高并发电商案例,.NET5能做高并发电商吗?必须的!这里为大家分享一家上市电商公司项目案例:纯.NET5电商平台,轻松承接双11当天近10亿GMV!系统架构为.NET5微服务Docke…

项目进度计划甘特图_项目管理进度计划表制作及甘特图绘制方法

全文总计1995字,需阅读5分钟,以下为正文:甘特图(Gantt Chart)又称横道图,它通过图示形象地表示特定项目的活动顺序与持续时间。Excel 2007/2010中, 通过堆积条形图实现。下面以Excel 2010为例来说明绘制步骤上图A列为某…

Android添加单元测试的方法与步骤

一、修改配置文件AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?><manifest xmlns:android"http://schemas.android.com/apk/res/android"package"cn.ycmoon.test.activity"android:versionCode"1"an…

这套前端可视化框架,让数据栩栩如生!

AntV&#xff0c;蚂蚁出品&#xff0c;前端数据可视化&#xff0c;有这一套就够了&#xff01;随着大数据的发展&#xff0c;人们越来越多地使用数据分析来解决问题。为了提高数据分析的效率&#xff0c;各种先进的数据可视化工具应需而生&#xff0c;可以直接根据指定的数据源…