launch文件中载入参数

1、param 标签:该标签所设置的参数都是全局参数,保存在参数服务器中,功能节点可以通
过参数服务器的相关函数进行读取,可以把该标签的参数理解为功能节点的配置参数,作用于功能
节点的内部,使用方法如代码6.3所示。

<node pkg="功 能 包 名" name="节 点 名" type="可 执 行 节 点 名">
 <param name="参 数 名" value="参 数 值" />
</node >

2、arg 标签:不同于 param 标签,arg 参数作用于 Launch 文件,类似于以往的命令行参数,
也可以理解为 C 语言中的 define 所定义的变量,在执行时会进行替换。因此这类参数并不保存在参
数服务器上,而是使用“$(arg 参数名)”的方式来应用变量,使用方法如代码6.4所示。

<arg name="speed" default="1" />
 <arg name="distance" default="5" />
 <arg name="is_forward" default="True" />

 <node pkg="功 能 包 名" name="节 点 名" type="可 执 行 节 点 名"
 args="$(arg speed) $(arg distance) $(arg is_forward)"/>

在上面代码中
第 1~3 行:定义个三个参数。
第 5~6 行:定义了一个功能节点,并使用 node 标签的 args 属性载入 arg 参数。
需要注意的是,当执行代码6.4的 Launch 文件时,功能节点接收到的参数并不是三个参数,而是
六个参数,共三部分组成,第一部分是第一个参数表示当前执行中的可执行节点名的完整路径,第
二部分是 arg 定义的参数列表,第三部分是 node 标签中定义的节点名 name 和该节点运行时的 log 文
件存放地址,具体如代码6.5所示。

# 执 行Launch文 件
 roslaunch 功 能 包 名 XXX.launch

 # 等 价 于 如 下 指 令
 rosrun 功 能 包 名    可 执 行 节 点 名 参 数1 ... 参 数N 节 点 名 log文 件 存 放 地 址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我是梦磊OL

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

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

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

打赏作者

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

抵扣说明:

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

余额充值