[ros基础] --- roslaunch使用详解

1 为什么需要launch文件

在节点少,程序小的情况下可以一个一个节点来启动,测试运行效果;但是当工程规模大,需要的节点多时就显得比较费劲,用.launch文件来启动可以将需要的节点同时启动,不用再一个一个进行。为工程搭建提高了效率,里面还有很多参数灵活使用会带来非常高效的调试。
roslaunch的概念:
launch 文件是一个 XML 格式的文件,可以启动本地和远程的多个节点,还可以在参数服务器中设置参数。
NOTE:
roslaunch 命令执行launch文件时,首先会判断是否启动了 roscore,如果启动了,则不再启动,否则,会自动调用 roscore

2 launch文件常用标签介绍

在节点标签末尾的斜杠“/”是必须的,但很容易忘。

<node pkg=”package-name” type=”executable-name” name=”node-name”/>

你也可以这样显式地给出结束标签:

<node pkg=”…”type=”…” name=”…”></node>

2.1 launch标签

launch文件中的根元素采用launch标签定义

2.2 include标签

include标签用于将另一个 xml 格式的 launch 文件导入到当前文件。类似C语言头文件包含。

<include file="$(dirname)/other.launch"/>		//file:包含其他launch文件的路径

2.3 node标签

node标签用于指定 ROS 节点,是最常见的标签,需要注意的是: roslaunch 命令不能保证按照 node 的声明顺序来启动节点(节点的启动是多进程的)
node节点包含很多属性:

<node pkg="package-name" type="executable-name" name="node-name" />
  • pkg: 节点所在的功能包名称
  • type: 节点的可执行文件名称
  • name: 节点运行时的名称
  • output=“log | screen” (可选),日志发送目标,可以设置为 log 日志文件,或 screen 屏幕,默认是 log
  • respawn=“true | false” (可选),如果节点退出,是否自动重启
  • required=“true | false” (可选),该节点是否必须,如果为 true,那么如果该节点退出,将杀死整个 roslaunch
  • ns=“xxx” (可选),在指定命名空间 xxx 中启动节点
  • machine=“机器名”,在指定机器上启动节点
  • args=“xxx xxx xxx” (可选),将参数传递给节点

2.4 arg标签

launch内部的局部变量,仅限于launch文件使用

2.5 param 与 rosparam标签

param和rosparam标签主要用于在参数服务器上设置参数

2.6 group标签

标签可以对节点分组,具有 ns 属性,可以让节点归属某个命名空间

2.7 remap标签

重映射ROS计算图资源的命名

<remap from="/turtelbot/cmd_vel" to "cmd_vel"/>
  • from:源命名
  • to: 映射之后的名字

3 roslaunch 运行

roslaunch 包名 xxx.launch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Overboom

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

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

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

打赏作者

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

抵扣说明:

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

余额充值