launch文件概述---1

摘要: 原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/

资源链接:http://wenku.baidu.com/link?url=PhyN3C6ghqovJ0qtg8dnTEPEku6WFDnB2dOeMqfErVLx8hB4MksBUULiNLlvjwWtsgDRTcizA2jCFhCjdgu0rRTfsq2mUtiRr5GKUtfYtMi

pdf转world:http://www.convertpdftoword.net/

1.计算次序
roslaunch与XML文件单一传递。include是按照深度优先遍历的顺序处理。标签tag进行串行处理并且最后的设置有效。因此,若一个参数被多次设置,最后指定的值将被使用。
依靠重写覆盖的行为是不可取的。因为没有谁能保证重写是正确的(如,include文件中参数名改变了)。相反,比较推荐的是使用$(arg)/<arg>设置来进行重写行为。
2.替代参数(substitutionargs:置换符)
Roslaunchtag属性可使用置换符,这要在启动节点之前解决。目前支持的置换参数如下:

$(env NVIRONMENT_VARIABLE)

替代当前的环境变量的值。如果环境变量没有设置,启动将失败。该值不能由<env>标签重写。

2).$(optenv ENVIRONMENT_VARIABLE) $(optenv ENVIRONMENT_VARIABLE default_value) 

如果设置了,则替代一个环境变量值。如果默认值default_value提供了,环境变量没有设置时将使用默认值。如果没有默认值,将使用空字符串。default_value可以是用空格分开的多个单词。例子:

<paramname="foo"value="$(optenv NUM_CPUS 1)"/>
<paramname="foo"value="$(optenv CONFIG_PATH /home/wsh/ros_workspace)"/><paramname="foo"value="$(optenv VARIABLE ros rocks)"/>3).$(findpkg)
3).$(find pkg) 

$(findrospy)/manifest.xml.指定包的相对路径。文件系统到包目录的路径将被内联的替换。由于硬件编码抑制了启动配置的可移植性,我们鼓励使用包相对路径。本地文件系统公约的前后削减问题得到解决

4).$(anon name)

$(anonrviz-1)产生基于名称的匿名ID。名字本身是一个独特的标识符:不同的$(anonfoo)用法将创建相同的“匿名”的名字。主要用于“节点名称”属性中以创建匿名节点。ROS要求每个节点都有唯一的名字

例如:

<nodename="$(anonfoo)" pkg="rospy_tutorials" type="talker.py"/><nodename="$(anonfoo)" pkg="rospy_tutorials" type="talker.py"/>

如果两个节点有一样的名字将会发生错误。

5).$(argfoo)

$(argfoo)计算由<arg>标签指定的值。在声明arg的同一启动文件中必须有对应的<arg>标签。例如:

<paramname="foo" value="$(argmy_foo)"/>

将指定my_foo到foo参数.另一个例子:

<nodename="add_two_ints_server" pkg="beginner_tutorials" type="add_two_ints_server"/>
<nodename="add_two_ints_client" pkg="beginner_tutorials" type="add_two_ints_client" args="$(arga)$(argb)"/>

将会从<add_two_ints>例子中启动server和client,作为参数值a和传递。产生的启动项目能用如下语句调用:

roslaunch beginner_tutorials launch_file.launch a:=1 b:=5 

置换参数目前在本地机器上已经解决。换句话说,环境变量和ROS包的路径能在当前的环境中设置,甚至远程启动的过程也可以。

3.if和unless属性
所有标签tags都支持if和unless属性(基于计算的值包含或者排除一个tag)。”1”和“true”是值。”0”和“false”假值。其它值是错的。

if=value(optional) 如果value值为true,包括标签和内容。unless=value(optional) 除非value为真,包含标签和内容.

例子:

<groupif="$(argfoo)">
<!--stuff that will only be evaluated if foo is true--></group>
<paramname="foo"value="bar"unless="$(argfoo)"/>

4.相关标签

<launch><node>
<machine><include>
<remap>
<env>
<param>
<rosparam>
<group><test>
<arg>

5.例子.launchXML配置文件
注:按照惯例,roslaunchXML文件的扩展名为.launch,
如example.launch。
5.1最小例子(MinimalExample)
下面的示例是一个最小的启动配置脚本。它启动了一个节点‘talker‘,位“rospy_tutorials”包中。这个节点在本地机使用当前配置的ROS环境启动(如ros_root)。

<launch>
<nodename="talker"pkg="rospy_tutorials"type="talker"/></launch>

5.2一个稍微复杂的例子

时间: 2024-08-25 19:46:30

launch文件概述---1的相关文章

Java类编译后Class文件概述(上)

一.Class文件 注意:每一个Class 文件都对应着唯一一个类或接口的定义信息,但是相对地,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过类加载器直接生成). 二.class文件的文件结构 class文件格式采用一种类似于C语言结构体的伪结构来存储数据,这种伪结构只有两种数据类型:无符号数和表. class文件的结构描述 ClassFile { u4 magic; <span style="white-space:pre"> </span>//4位

第三课3、ROS的launch文件

1.launch 参数说明: pkg为节点的功能包,type为需要运行的那个节点,name为节点的名字,后面的参数可选 举个例子: 在工作空间中新建一个包: 然后再回到工作空间中去编译: 再在包目录下创建一个launch文件: 把type=turtlesim_teleop_key改成type=turtle_teleop_key 运行结果:

计算机程序的思维逻辑 (56) - 文件概述

我们在日常电脑操作中,接触和处理最多的,除了上网,大概就是各种各样的文件了,从本节开始,我们就来探讨文件处理,本节主要介绍文件有关的一些基本概念和常识,Java中处理文件的基本思路和类结构,以及接来下章节的安排思路. 基本概念和常识 二进制思维 为了透彻理解文件,我们首先要有一个二进制思维.所有文件,不论是可执行文件.图片文件.视频文件.Word文件.压缩文件.txt文件,都没什么可神秘的,它们都是以0和1的二进制形式保存的.我们所看到的图片.视频.文本,都是应用程序对这些二进制的解析结果. 作

VMware vsphere vcenter 服务器日志文件概述

此文档概述了vcenter server 和vcenter appliance服务器日志文件简要概述 访问访问: 1.可以通过vsphere client 和 web client来查看 2.可以再vcenter服务器日志目录查看 日志位置: VMware vCenter Server 6.0:%ALLUSERSPROFILE%\VMWare\vCenterServer\logs folder. VMware vCenter Server Appliance 6.0 : /var/log/vmw

《PNG文件格式》(一)PNG文件概述

欢迎查看系列博客: <PNG文件格式>(一)PNG文件概述(本篇) <PNG文件格式>(二)PNG文件格式分析 <PNG文件格式>(三)PNG文件实例剖析 摘自: 中文PNG格式说明:dev.gameres.com PNG文件格式白皮书:www.w3.org LZ77算法的JAVA实现:jazzlib.sourceforge.net LZ77算法的JAVA实现,包括J2ME版本:www.jcraft.com ===============================

ros之launch文件

ros之launch文件 <launch> <arg name="model" default="model_name" doc="this is a model name"/> <arg name="param_path" default="$(find package_name)/data/" doc="this is a param path" /&g

python ros 使用launch文件启动脚本

目录结构 在包里面新建scripts文件夹,里面放运行的脚本文件,记得设置执行权限 然后新建launch文件夹,新建launch文件按照如下格式写: <node pkg="initialpos" name="initial_pos" type="initial_pos.py" output="screen"></node> 然后source 项目的setup.bash,就可以使用 roslaunch i

【JAVA 文件概述】

一.概述 使用此类的原因: 该类将文件或者文件夹封装成对象.方便对文件与文件夹的属性信息进行操作.File对象作为参数传递给流的构造函数.要求:使用File类的常用方法. windows平台下,目录分隔符是\,而linux下是/,在字符串中,\符号需要使用\\,第一个\起转义作用.该分隔符可以使用System.getProperty("file.separator");得到. 二.常用方法. 1.构造方法. 构造方法摘要 File(File parent, String child)

VMware vsphere esxi 服务器日志文件概述

此文档概述esxi 及 vcenter服务器相关的log日志文件清单及每个日志文件内容 访问日志文件: 1.可以通过直接登录控制台用户界面(DCUI)查看 2.可以使用ssh 连接esxi服务器查看(需要在esxi服务器上启动ssh服务) 3.可以通过https://esxi主机ip 来查看 日志文件路径:     /var/log SXi 5.1主机的日志文件 日志ESXi 5.1主机分组根据源组件: /var/log/auth.log :ESXi壳身份验证成功和失败. /var/log/dh