Launch文件 中的根元素采用<launch>标签定义
<launch> | <node> | <machine> | <include> |
<remap> |
<env> | <param> | <rosparam> |
<group> | <test> | <arg> |
<node>
启动节点
<node pkg="package-name" type="executable-name" name="node-name" />
pkg:节点所在的功能包名称
type:节点的可执行文件名称
name:节点运行时的名称
output="screen/log" 用于将话题信息打印到屏幕/日志文件
respawn="true" 如果此节点退出,则自动重新启动
required="ture" 此节点为必要节点,这个节点出错,整个launch结束;不可与respawn="true"同时描述一个节点。
ns="foo" 在"foo"名称空间中启动节点
<machine>
声明了可以运行ROS节点的计算机。本地计算用不到此标记
<include>
导入其他XML文件,类似C语言中的头文件包含
<include file="$(dirname)/other.launch" />
#引入即可直接运行
<remap>
重映射:用于改变节点订阅或发布的话题
把此标签放到 node标签的前面,这样后面所有使用这个话题的节点都可以更新
<remap from="/different_topic" to="/needed_topic"/>
将different_topic变为needed_topic
也可以将<remap>作为节点的子类包含在节点中,只更新该节点的订阅消息。
<node pkg="package-name" type="executable-name" name="node-name" />
<remap from="/different_topic" to="/needed_topic"/> </node>
<env>
该标签允许你启动的节点上设置环境变量
属性有
name="environment-variable-name" 设置环境变量的名称
value="environment-variable-value" 设置环境变量的值
<param>
该标签定义要在参数服务器上设置的参数。
标签属性有
name="namespace/name" 参数名称,命名空间可以包含在参数名称中,但应避免使用全局指定的名称。
value="value"(可选),定义参数的值,如果忽略此属性,则必须指定binfile,textfille或command。
type="str|int|double|bool|yaml"(可选),指定参数类型,如果未指定,roslaunch将尝试自动确定类型
textfile="$(find pkg-name)/path/file.txt"。文件的内容将被读取并存储为字符串。
binfile="$(find pkg-name)/path/file"。文件的内容将作为一个base64编码的XML-RPC二进制对象读取和存储。
command="$(find pkg-name)/exe '$(find pkg-name)/arg.txt'"命令的输出将被读取并存储为字符串。
<rosparam>
用来加载配置文件.yaml,可以用来修改成千上万的参数。
属性有
command="load|dump|delete",默认为load
file="$(find pkg-name)/path/foo.yaml" 文件名称
eg:<rosparam command="load" file="$(find ros_tutorials_service)/config/service.yaml">
<group>
具有ns属性 可以将节点放入单独的名称空间
<test>
该标签运行要测试的节点
<arg>
该标签允许在命令行、多个文件中传递参数
用法
<arg name="foo"/> 声明foo变量。foo必须作为命令行参数
<arg name="foo" default="1" /> 用默认值声明foo,可以通过命令行参数覆盖foo
<arg name="foo" value="bar" /> 声明具有恒定值的foo,foo的值不能被覆盖
标签:ROS,name,记录,标签,launch,参数,pkg,foo,节点 From: https://www.cnblogs.com/YuMing-MH/p/16860563.html