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两个版本,…

html css 重复,CSS重复定义的问题请教_html/css_WEB-ITnose

,是不是就无效了?回复讨论(解决方案)外部css样式和内部css样式同时存在,以内部css样式为准。内部css样式与标签的style属性同时存在,以style属性的样式为准。你说的这种情况应该是两者都会有效,但CSS类的优先级更高&am…

入门 | 机器学习第一课:决策树学习概述与实现

基于树的学习算法在数据科学竞赛中相当常见。这些算法给预测模型赋予了准确性、稳定性以及易解释性。其中,决策树算法也是引人关注的「随机森林」算法的基础构造模块。本文介绍了决策树的概念和简单实现,使用生动的示例帮助理解,希望能够对你…

LoadPostData 的一些注意事项

LoadPostData是接口IPostBackDataHandler的方法 方法一般长这样 public bool LoadPostData(string postDataKey, System.Collections.Specialized.NameValueCollection postCollection) { string strOldValue Text; string strNewValue postCol…

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

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

读《有效需求分析》

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

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

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

忽略NVRAM的config,修改cisco密码

修改configuration-egister(配置寄存器)的位值,忽略NVRAM里的start-running,修改enable密码 默认位置为0x2102,可以通过route#show version 最后行查看 Cisco2600 reload......CtrlBreak rommon> confreg 0x2142 remmon> re…

超好用的27个谷歌Chrome浏览器使用技巧

编者按:Chrome堪称浏览器的业界良心,但是你真的完全懂得它的正确打开方式吗?这27条tips能帮助你实现一些你从未想到的功能,提升工作效率、节省大量时间。赶紧get起来吧!本文编译自 fastcompany 原题为 27 Incredibly U…

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

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

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

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

HTML第八章ppt,第八章 web基础教程之HTML篇v1.0.ppt

HTML表格 总结:表格在页面上最主要的作用其实不是绘制实际中使用的表格,更多情况下是为了使用页面看起来更规整,而将页面各部分放置到表格中 发展情况:表格已经逐渐被淘汰 divcss已经成为主流。 HTML列表 无序列表: 无…

10个例子带你了解机器学习中的线性代数

本文介绍了 10 个常见机器学习案例,这些案例需要用线性代数才能得到最好的理解。线性代数是数学的分支学科,涉及矢量、矩阵和线性变换。它是机器学习的重要基础,从描述算法操作的符号到代码中算法的实现,都属于该学科的研究范围。…

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的性能…

广东省计算机应用(2010),2010年广东省高等教育自学考试计算机基础及应用(N)试卷(课程代码.doc...

2010年广东省高等教育自学考试计算机基础及应用(N)试卷(课程代码.doc2010年1月计算机基础及应用试题及答案 第 PAGE 5页 共 NUMPAGES 5页2010年广东省高等教育自学考试计算机基础及应用(N) 试卷(课程代码 08425)单项选择题(本大题共30小题,每小题1分,共3…

为什么 IEnumerable 没有提供 ForEach ?

咨询区 Cameron MacFarland&#xff1a;为什么 IEnumerable 接口没有 ForEach 扩展方法&#xff1f;我观察到能获取 ForEach 方法的类是 List<>&#xff0c;有谁知道这么设计的原因吗&#xff0c;是为了性能&#xff1f;回答区 aku&#xff1a;ForEach 方法其实在 Linq 之…

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

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

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

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

姑娘,你为什么要编程?

本来你一个姑娘&#xff0c;可以去做一双贴满水晶的blingbling美甲更显十指纤纤&#xff0c;不用担心敲键盘不方便&#xff1b;可以不时到健身房练练瑜珈来磨练心性&#xff0c;而不是通过看着满屏代码调bug&#xff1b;可以洗完泡泡浴早早躺下睡个美容觉&#xff0c;而不是深夜…