ROS基础 launch文件启动

launch文件:通过xml文件实现多节点的配置和启动(ROS Master也可通过它启动)

使用launch文件来启动多节点就可以省去开启多终端的麻烦,操作也更精准

语法

launch文件中的根元素定义

<launch> 	
		...
</launch> 			

node 启动节点

<node pkg="package-name" type="executable-name" name="node-name" />
#需要配置节点参数时
<node pkg="package-name" type="executable-name" name="node-name" >  
	<param name="output_frame" value="odom"/>
	<rosparam file="params.yaml" command="load" ns=“params"/>
</node>

pkg:节点所在的功能包名称
type:节点的可执行文件名称
name:节点运行时的名称
区分运行时名称则可使一个文件同时以不同身份运行
output :在终端输出日志信息
respawn :启动失败重启
required :是否要求该节点必须启动
ns :命名空间,避免冲突
args:用指令给节点输入参数

参数设置

param/rosparam 设置ROS系统运行中的参数,存储在参数服务器中
param:保存某个参数
rosparam:载入参数文件的所有参数

<param name="output_frame" value="odom"/>  #name:参数名,value:参数值
<rosparam file="params.yaml" command="load" ns=“params"/>  #加载参数文件中的多个参数

file可通过$(find package-name)/config/param.yaml来得到文件地址
find为搜索功能包指令

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

<arg name="arg-name" default="arg-value" />  #name:参数名,value:参数值

调用方式

<param name="foo" value="$(arg arg-name)" />
<node name="node" pkg="package" type="type " args="$(arg arg-name)" />

注:param的参数存在参数服务器,arg是launch文件内部的

remap 重映射ROS计算图资源的命名
可理解为重命名

<remap from="/turtlebot/cmd_vel" to="/cmd_vel"/>
#from:原命名,to:映射之后的命名

include 嵌套,包含其他launch文件,类似C语言中的头文件包含

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

更多标签用法可见

http://wiki.ros.org/roslaunch/XML

应用

  • 在工作空间的src目录下新建launch功能包,不需要编程依赖
  • 在功能包下创建launch(可自定义)文件夹,用于管理功能包各种资源
  • 将需要的launch文件放入launch文件夹
  • 编译工作空间和运行
$ catkin_make
$ roslaunch package-name file-name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jason 20

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

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

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

打赏作者

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

抵扣说明:

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

余额充值