vscode编写python不能查看定义_vscode开发ROS1(14)-python实现自定义消息

a81c6ccd894af394b51daecbb72f9757.png

写在最前

此篇为vscode开发系列ros第7篇python实现版本, 请对照进行查看.

穆士凝魂:vscode开发ROS1(7)-自定义消息​zhuanlan.zhihu.com
0c61e699f6cada043e2c4525f1cb3f4e.png

自定义消息

此处是直接采用第7篇中的自定义person.msg消息, 具体过程, 请查看该篇, 此处不再赘述.

新建talker节点

此处只用python实现publisher, 请大家举一反三, 自行实现subscriber节点, 即本工程的personListener节点.
1, 在scripts文件夹中, 新建pyPersonTalker.py文件.
2, 粘贴以下代码

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import rospy
from ros_test.msg import person

def talker():
    pub = rospy.Publisher('personChat', person, queue_size=10) #话题的名称personChat
    rospy.init_node('personTalker', anonymous=True) #初始化节点,节点的名称为personTalker,名字要唯一
    rate = rospy.Rate(10) # 10hz,创建rage对象,与sleep()函数结合使用,控制话题消息发布的频率
    while not rospy.is_shutdown():
        TOM = person() #定义一个person  TOM
        TOM.age = 20   #TOM的年纪, 20岁
        TOM.name = "穆士凝魂" #TOM的名字, "穆士凝魂"
        TOM.sex = TOM.male #TOM是个男的
        pub.publish(TOM) #发布TOM
        rate.sleep()#用于控制发布的频率
 
if __name__ == '__main__':
    try:
        talker()
    except rospy.ROSInterruptException:
        pass

3, 具体介绍请看注释, 同样比较简单.
4, 使用vscode的终端中cd命令,定位到pyPersonTalker.py文件

cd src/ros_test/scripts/

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

chmod 0777 pyPersonTalker.py

运行talker和listener

1, 使用快捷键Ctrl + Shift + T 弹出系统终端,输入roscore,启用整个ROS总节点。
2, 使用快捷键Ctrl + Shift + T 弹出系统终端,输入rosrun ros_test pyPersonTalker.py,启用talker节点。
3, 使用快捷键Ctrl + Shift + T 弹出系统终端,输入rosrun ros_test personListener,启用listener节点, 此处的personListener节点为c++节点。

a8cc47b2fee4dfaa885fe3ab9e1e61dc.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值