使用roslaunch启动多个文件(python)

后期写的文件写多了在一个个的手动启动就比较麻烦,ros有一个launch的启动方案可以一下把哪些文件全部启动了,通过我们编写一个后缀名为launch的文件写法类似于html,记起来也十分简单,使用双标签 <launch> </launch>  包裹着要启动的文件,编写node单标签,标签属性有name(结点名字)、pkg(包名)、type(结点类型)output(打印至命令行)等,编写完之后使用source 重新编译一下然后使用roslaunch 保命 launch文件去启动多个ros文件如

<launch>
<!-- name是节点名字 pkg是ros包名(自己创建的) type 是启动的文件  output用于输出/打印 至命令行-->
    <node name="pub_message" pkg="one_project" type="pub_message.py" />
    <node name="sub_message" pkg="one_project" type="sub_message.py" output="screen"/>
</launch>

 目录结构

 消息发送和接受消息的代码

        发消息

#! /usr/bin/env python
# coding=utf8

import rospy
from std_msgs.msg import  String

if __name__ == "__main__":
    rospy.init_node("pub_message")
    pub = rospy.Publisher("ros_message",String,queue_size=10)
    message = String()
    rate = rospy.Rate(1)
    count = 0
    while not rospy.is_shutdown():
        message.data = "pub message to sub " +str(count)
        pub.publish(message)
        rospy.loginfo("pub message it is : %s",message.data)
        count+=1
        rate.sleep()

接受消息

#! /usr/bin/env python
# coding=utf8

import rospy
from std_msgs.msg import  String

def Do_message(msg):
    
    # print(msg.data,type(msg.data))
    rospy.loginfo("sub message it is :%s",msg.data)
    
if __name__ == "__main__":
    rospy.init_node("sub_message")
    sub = rospy.Subscriber("ros_message",String,Do_message,queue_size=10)
    rospy.spin()
    

roslaunch 启动 launch文件

命令  roslaunch one_project  start_money_node.launch 

效果

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清夢懮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值