【ROS教程】编写launch文件
Last updated
Was this helpful?
Last updated
Was this helpful?
@
node
指定 ROS 节点,是最常见的标签
include
用于将另一个 xml 格式的 launch 文件导入到当前文件
remap
话题重命名
param
在参数服务器上设置参数
rosparam
从 YAML 文件导入参数,或将参数导出到 YAML 文件,也可以用来删除参数
group
可以对节点分组,具有 ns 属性,可以让节点归属某个命名空间
arg
用于动态设置参数,可以增强launch文件的灵活性
env
用于设置环境变量
name="node-name"
节点名称(在 ROS 网络拓扑中节点的名称)
pkg="package-name"
节点所属的包
type="node-type"
节点类型(与之相同名称的可执行文件)
args="arg1 arg2 arg3"
将参数传递给节点
machine="machine-name"
在指定机器上启动节点
respawn="true| false"
如果节点退出,是否自动重启
respawn_delay="n"
如果 respawn 为 true, 那么延迟 N 秒后启动节点
required="true| false"
该节点是否必须,如果为 true,那么如果该节点退出,将杀死整个 roslaunch
ns="namespace"
在指定命名空间中启动节点
clear_params="true| false"
在启动前,删除节点的私有空间的所有参数
output="log| screen"
日志发送目标,可以设置为 log 日志文件,或 screen 屏幕,默认是 log
<env>
<remap>
<rosparam>
<param>
file="$(find pkg-name)/path/filename.launch"
要包含的文件路径
ns="namespace"
在指定命名空间导入文件
<env>
<arg>
from="original-name"
原始话题名称
to="new-name"
目标名称
作为\<node>
子级标签时,相当于私有命名空间。
name="namespace/name"
参数名称,可以包含命名空间
value="value"
定义参数值,如果此处省略,必须指定外部文件作为参数源
type="str|int|double|bool|yaml"
指定参数类型,如果未指定,roslaunch 会尝试确定参数类型
roslaunch 确定参数类型的规则如下:
如果包含 '.' 的数字解析未浮点型,否则为整型
"true" 和 "false" 是 bool 值(不区分大小写)
其他是字符串
file="$(find pkg-name)/path/foo.yaml"
加载或导出到的 yaml 文件
param="param-name"
参数名称
command="load| dump | delete"
加载、导出或删除参数,默认为加载
ns="namespace"
将参数指定到命名空间
ns="namespace"
将该组节点分配到指定的命名空间。命名空间可以是全局的,也可以是相对的,但不鼓励使用全局命名空间。
clear_params="true|false"
在启动前删除组的命名空间中的所有参数。这个功能非常危险,应该谨慎使用。
其他所有标签都是其子级标签
name="arg-name"
欲设置的参数名称
default="default value"
设置参数的默认值。不能与value属性结合。
value="value"
设置参数的值。不能与default属性结合。
doc="description for this arg"
加载、导出或删除参数,默认为加载
name="environment-variable-name"
所设置的环境变量的名字
value="environment-variable-value"
参数说明