前言:ROS提供了一个同时启动节点管理器(master)和多个节点的途径,即使用启动文件(launch file)。事实上,在ROS功能包中,启动文件的使用是非常普遍的。任何包含两个或两个以上节点的系统都可以利用启动文件来指定和配置需要使用的节点。通常的命名方案是以.launch作为启动文件的后缀,启动文件是XML文件。一般把启动文件存储在取名为launch的目录中。

启动launch文件可以会自动启动roscore,相对方便一些。

一、launch文件用法

roslaunch package-name launch-file-name

注意:通过apt-get安装的软件包可以直接运行命令,但自己编译的软件包必须在launch文件夹目录下运行。

二、launch文件基本标签

<launch>
    <node pkg="turtlesim" type="turtlesim_node" name="sim"/>
    <node pkg="turtlesim" type="turtle_teleop_key" name="teleop" output="screen"/>
</launch>

---------------------------------------------

其中:

<launch>是launch文件的文件标签,是一定要有的成分

<node>是节点标签

pkg是要启动节点所在的功能包名,type是节点的可执行文件名,就是修改cmakelist文件时的那个名称,这两个属性等同于在终端中使用rosrun命令执行节点时的输入参数,

name是用来定义节点运行时的名称,将覆盖节点中init()赋予节点的名称,可以理解为重命名。有的解析说是cpp文件中的名称,然而我测试过,改成什么都行。name的作用是

为了重复利用节点,比如发布广播t1和发布广播t2都使用发布广播节点,但运行时名称不同。

<node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle1" name="turtle1_tf_broadcaster" />
<node pkg="learning_tf" type="turtle_tf_broadcaster" args="/turtle2" name="turtle2_tf_broadcaster" />

其他:

·  output = "screen":将节点的标准输出打印到终端屏幕,默认输出为日志文档;

·  respawn = "true":复位属性,该节点停止时,会自动重启,默认为false;

·  required = "true":必要节点,当该节点终止时,launch文件中的其他节点也被终止;

·  ns = "namespace":命名空间,为节点内的相对名称添加命名空间前缀;

·  args = "arguments":节点需要的输入参数。

三、launch文件其他常用标签

3.1 <param>标签

launch文件允许设置和修改参数,就是通过param标签设置。这个功能类似于修改变量。

<param name="output_frame" value="odom"/>

其中,

name是参数名,value是参数值。

也可以加载参数文件:

<rosparamfile="$(find 2dnav_pr2)/config/costmap_common_params.yaml" command="load" ns="local_costmap" />

command可以是加载或卸载,ns是命名空间。

3.2  <arg>

只针对launch文件生效,不对cpp文件生效。

-END-

ROS-launch文件标签解读的更多相关文章

  1. ROS-URDF文件标签解读

    前言:URDF文件标签解读.margin: auto; width: 700px; height: 100px; ; width: 700px; text-align: center; 一.连杆(li ...

  2. ROS launch 文件的编写

    ROS提供了一个同时启动节点管理器(master)和多个节点的途径,即使用启动文件(launch file).事实上,在ROS功能包中,启动文件的使用是非常普遍的.任何包含两个或两个以上节点的系统都可 ...

  3. ROS-Gazebo文件标签解读

    前言:Gazebo是一个三维机器人仿真器,它是独立的软件,支持ROS. 标签 功能 <gazebo> 设置Gazebo仿真的参数 <mu1>, <mu2> 设置摩擦 ...

  4. ROS-package.xml文件标签解读

    前言:package.xml是一个XML文件名为package.xml中必须包括与任何兼容包的根文件夹.此文件定义有关包的属性,例如包名称,版本号,作者,维护者以及其他catkin包的依赖关系. 标签 ...

  5. 4.2 ROS节点运行管理launch文件

    4.2 ROS节点运行管理launch文件 关于 launch 文件的使用我们已经不陌生了,在第一章内容中,就曾经介绍到: 一个程序中可能需要启动多个节点,比如:ROS 内置的小乌龟案例,如果要控制乌 ...

  6. ROS的launch文件

    ROS中可以把很多的命令以描述的形式写成launch文件,然后用roslaunch命令执行launch文件.它的使用方法如下: roslaunch [package] [filename.launch ...

  7. Ros学习——launch文件解析

    launch文件的重点是:节点(node)元素的集合. roslaunch 则是让所有的节点共享同一个终端. 1.标签(元素)说明 1. group标签 2. node标签 <group ns= ...

  8. ROS Learning-010 beginner_Tutorials 编写简单的启动脚本文件(.launch 文件)

    ROS Indigo beginner_Tutorials-09 编写简单的启动脚本文件 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.0 ...

  9. ROS学习笔记六:xxx.launch文件详解

    每当我们需要运行一个ROS节点或工具时,都需要打开一个新的终端运行一个命令.当系统中的节点数量不断增加时,每个节点一个终端的模式会变得非常麻烦.那么有没有一种方式可以一次性启动所有节点呢?答案当然是肯 ...

随机推荐

  1. 配置 Sybase数据源

    1.Start-- > All Programs -- > Sybase - -> Connectivity --> click ‘Open Client Directory ...

  2. telerik:RadAsyncUpload 使用 时不执行上传事件的解决办法AsyncUpload1_FileUploaded(object sender, FileUploadedEventArgs e)

    一般是因为web.config没有配置的原因! 只要在<handlers>下加上 <add name="Telerik.Web.UI.WebResource" v ...

  3. python3设置打开文件的编码

    f = open(file_path,'r',encoding='utf8') 用起来很方便,不需要先读取再转码了.

  4. Arduino 控制超声波测距模块

    一.实物图 二.例子代码 用到数字2 和3 引脚,还有两个就是vcc GND两个阴脚,用模块连线比较简单

  5. java操作Excel的poi 遍历一个工作簿

    遍历一个工作簿 package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.h ...

  6. rabbitmq和kafka的区别

    1.吞吐量kafka吞吐量更高: 1)Zero Copy机制,内核copy数据直接copy到网络设备,不必经过内核到用户再到内核的copy,减小了copy次数和上下文切换次数,大大提高了效率. 2)磁 ...

  7. ivew使用星星评分

    这组件好像有问题,不知道是我们项目环境造成的还是什么,初始化半星不能正常显示,显示的全星. 1.template <div style="display:inline-block;ma ...

  8. [MySQL优化案例]系列 — RAND()优化

    众所周知,在MySQL中,如果直接 ORDER BY RAND() 的话,效率非常差,因为会多次执行.事实上,如果等值查询也是用 RAND() 的话也如此,我们先来看看下面这几个SQL的不同执行计划和 ...

  9. php curl选项列表(超详细)

    第一类:对于下面的这些option的可选参数,value应该被设置一个bool类型的值:选项可选value值备注 CURLOPT_AUTOREFERER当根据Location:重定向时,自动设置hea ...

  10. Golang - 爬虫案例实践

    目录 Golang - 爬虫案例实践 1. 爬虫步骤 2. 正则表达式 3. 并发爬取美图 Golang - 爬虫案例实践 1. 爬虫步骤 明确目标(确定在哪个网址搜索) 爬(爬下数据) 取(去掉没用 ...