关闭

ROS学习(七):ROS launch 文件

标签: ROSlaunch
2082人阅读 评论(0) 收藏 举报
分类:

ROS launch 文件:
为了方便、高效地操作多个节点,可以编写 .launch 文件,然后用 roslaunch 命令运行。

launch文件的格式是:


<launch>
...
<\launch>

文件一般包含以下几部分:

1)< node >
要启动的节点,包含以下参数:

pkg="mypackage"
type="nodetype"
name="nodeneme"
args="arg1 arg2 arg3"
respawn="true"
ns="foo"
output="log | screen"

2) < rosparam>
可以使用 .yaml 文件 load/dump/delete 参数。dump/delete 命令运行的 load 之前,load 命令可以覆盖以前设置的参数。 也可以添加到 中使用。 包含以下参数:

command="load | dump | delete"
file="$(find pkg-name)/path/foo.yaml"
param="param-name"

3)< param>
用来定义一个设置在“参数服务器”的参数,可以添加到 中。 包含以下参数:

name="namespace/name"
value="value"
type="str|int|double|boot"
textfile="$(find pkg-name)/path/file"
binflie="$(find pkg-name)/path/file"
command="(find pkg-name)/exe' $(find pkg-name)/arg.txt"

4)< include>
在当前 launch 文件中调用另一个 launch 文件,方便代码的复用

5)< env>
设置节点的环境变量。可以用在 等。参数如下:

name="environment-variable-name"
value="environment-variable-value"

6)< remap>
将一个参数名映射为另一个参数名。参数如下:

from="original-name'
to="nem=neme"

7)< arg>
定义局部参数。

<arg neme="name" />
<arg neme="name" default="1" />
<arg neme="name" value="value" />

8)< machine>、< test>、< group>

属性:if、unless

if=value (optional)
如果value值为真,包含标签及其内容
unless=value (optional)
除非value为假,包含标签及其内容

<group if="$(arg foo)">
  <!-- stuff that will only be evaluated if foo is true -->
</group>

<param name="foo" value="bar" unless="$(arg foo)" />  <!-- This param won't be set when "unless" condition is met -->

unless = if not

参考:

1、陈金宝、韩冬、聂宏、陈萌,ROS开源机器人控制基础,上海交通大学出版社,2016.01

2、(西班牙) Aaron Martinez, Enrique Fern A Ndez著 刘品杰译,ROS机器人程序设计,机械工业出版社,2014.09

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

0
0
查看评论

ROS launch整理

Launch 文件   1 使用Launch文件   2 创建Launch文件   3 在namespace中启动nodes   4 remapping names   5 其他的launc...
  • fengmengdan
  • fengmengdan
  • 2015-01-21 22:37
  • 8512

.launch文件分析

.launch文件分析   在我们的功能包中可以看到launch文件夹下有很多的.launch文件,这些文件​写入了我们想要同时运行的节点,当我们需要有很多节点同时启动时,一个个启动它们会费时费力,这时我们可以写一个.launch文件把这些节点都包括进去,这样可以通过rosla...
  • rosjjfdfd
  • rosjjfdfd
  • 2015-11-11 14:32
  • 5178

ROS中launch文件编写随笔

launch文件编写随笔
  • wxz3wxz
  • wxz3wxz
  • 2017-05-04 16:35
  • 129

【ROS】launch启动文件

ROS采用rosrun命令可以启动一个节点,如果需要同时启动节点管理器(master)和多个节点,就需要采用launch文件来配置。launch文件是一种特殊的XML格式文件,通常以.launch作为文件后缀。每个launch文件都必须要包含一个根元素。roslaunch的使用方法为: $ ros...
  • wangchao7281
  • wangchao7281
  • 2016-12-06 22:50
  • 2224

ROS中launch file基本介绍

在运行ros程序时我们往往需要在不同终端启动多个不同的节点,这会让人有些沮丧。幸运的是,ROS 提供了一个同时启动节点管理器(master)和多个节点的途径,即使用启动文件(launch file)。事实上,在 ROS 功能包中,启动文件的使用是非常普遍的。任何包含两个或两个以上节点的系统都可以利用...
  • u013832707
  • u013832707
  • 2017-01-02 16:48
  • 2278

ROS launch文档介绍

本文章转自:https://charlyhuangrostutorial.wordpress.com/2015/08/12/20/ 前面已经提过关于launch 档的角色,很类似bash 档,基本上就是把所有为了执行某个特定功能所需要的指令都写在一张纸上,交给ROS 一次执行开来。举例来说,今天我...
  • zqxf123456789
  • zqxf123456789
  • 2016-09-10 23:13
  • 2444

ROS launch文件编写说明

  • 2016-10-19 10:00
  • 3.70MB
  • 下载

ROS学习(三) 使用参数以及相应的 .launch 文件编写

使用参数以及相应的 .launch 文件编写
  • u014303046
  • u014303046
  • 2016-03-30 22:18
  • 1271

ros launch文件编写和节点启动顺序控制

ROS可以通过launch文件进行节点的管理、初始参数的设置,但是launch文件不能指定节点的启动顺序,因此本文简单介绍下通过launch进行节点启动管理,通过shell来控制节点启动顺序。 1,我将读取参数的代码片段放在了ros::init(argc,argv,"node_name&q...
  • hookie1990
  • hookie1990
  • 2016-12-28 16:32
  • 1903

Turtlebot学习指导第五篇_搭建自己的ROS机器人的核心,配置navigation包并创建基本的启动文件

搭建ros机器人的核心_在机器人上运行并配置navigation包 原文地址:http://wiki.ros.org/navigation/Tutorials/RobotSetup#Robot_Setup 描述:在机器人身上运行navagation,基本配置有用tf发送坐标转换信息,发布o...
  • u010918541
  • u010918541
  • 2016-01-26 17:51
  • 3439
    个人简介

    本人机器人系统控制工程师。

    专注机器人学、机器人系统设计、控制算法研究、系统仿真等。

    Email: siaxzf@sina.com

    QQ    : 3387331925

    个人资料
    • 访问:241002次
    • 积分:3588
    • 等级:
    • 排名:第10904名
    • 原创:115篇
    • 转载:2篇
    • 译文:3篇
    • 评论:208条
    博客专栏
    最新评论