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

ROS学习(七):ROS launch 文件相关推荐

  1. ROS 学习笔记3. launch文件的使用

    launch文件的使用 一.launch文件启动小海龟demo 二.launch文件的各个标签的属性 1.launch标签属性 2.node标签属性 3.include标签属性 4.remap标签属性 ...

  2. ROS学习-理解ROS Services 和 Parameters

    假设上一篇博客:ROS学习-理解ROS话题中所启动的小乌龟turtlesim节点仍然还在运行. Services服务是节点之间进行相互联系的另外一种方式,允许节点之间进行发送请求和接收响应. 使用 r ...

  3. ROS学习记录9——urdf文件的创建与使用

    零.前言 在学习这一节之前,至少得明白如何创建一个工作空间,如何编译工作空间,如何运行工作空间里的文件(把工作空间的环境目录添加到环境里).如果有不会的,请看鄙人的ROS学习记录3. 本节默认工作空间 ...

  4. 古月居ROS入门21讲-launch文件

    视频链接:bilibili 搜 古月居 源代码:关注古月居公众号,回复ROS入门21讲 文章目录 1 launch文件语法 2 launch 示例 launch文集:通过XML文件实现多个节点的配置和 ...

  5. ROS学习----依据ROS入门教程,整理的ROS命令

    文章目录 ROS命令学习 文件系统介绍 ROS文件系统工具命令:rospack,rosstack roscd,rosls 创建ROS程序包命令:roscreate,catkin程序包结构,catkin ...

  6. ROS学习笔记------ROS机器人系统设计-----基础编程 day 7 2019/3/2 帅某(URDF机器人建模,urdf功能包的建立,urdf相关模型建立代码已经上传)

    URDF机器人建模 相关urdf代码链接: https://download.csdn.net/download/weixin_43262513/10990016 1.urdf介绍 URDF(Unif ...

  7. ROS学习笔记-ROS订阅和发布节点

    一个简单的ROS包,一个发布者,一个订阅者 刚开始学习ROS,参考网上的资料完成了测试节点的编写,记录一下. 个人习惯在home/Develop目录中做开发,于是在Develop目录下面创建了一个RO ...

  8. ROS学习笔记-ROS语音识别与语音输出[1]

    说明:代码部分是基于古月居前辈的例程,在此对胡老师表示感谢!! 语音识别功能框图: 调用过程: roscore rosrun robot_voice iat_publish rostopic pub ...

  9. ROS学习笔记-ROS语音识别与语音输出[2]

    说明:代码部分是基于古月居前辈的例程,在此对胡老师表示感谢!! 语音识别与输出功能框图: main()函数: int main(int argc, char* argv[]) {// 初始化ROSro ...

  10. 【ROS学习】ROS分布式通信

    我们都知道,把ROS系统运行在嵌入式平台上(比如树莓派)是可以运行的,但是性能远远没有强大的主机好,因此,如何将运算量大的内容在主机上计算,而嵌入式平台只需进行简单的运行通信呢?这就是本篇文章所要介绍 ...

最新文章

  1. 【JS第28期】继承-借用构造函数
  2. 基于 Vue + Koa2 + MongoDB + Redis 实现一个完整的登录注册
  3. 修改及查看mysql数据库的字符集
  4. SQL2008R2 Reporting Services 報表產生器 3.0 快速上手
  5. Spring AOP 源码分析 - 创建代理对象
  6. Python 字符串方法详解
  7. Eclipse中的集成Git插件删除线上远程分支
  8. the blocks problem(uva 101 or poj 1208)
  9. 单片机集成wifi等_从零制作单片机需要哪些知识?
  10. jenkins添加linux作为slave
  11. 从五大结构体,带你掌握鸿蒙轻内核动态内存Dynamic Memory
  12. Qt5学习笔记之bin文件合成工具四:完善功能打包程序
  13. python 联机_CoderZh首款Python联机对战游戏 - NancyTetris1.0倾情发布(一)
  14. win7怎么看计算机Mac地址,Win7怎么查看MAC地址?Win7查看MAC地址的两种方法
  15. Win7下安装Windows SDK
  16. ValueError: tile cannot extend outside image
  17. 今天来说说白色white
  18. Pathon简介和优势
  19. 关于通过前端xslx解析excel日期少一天原因
  20. 流体力学基础——简介

热门文章

  1. 【NOI2016】优秀的拆分(后缀数组)
  2. 使用node来搭建简单的后台业务
  3. java数值运算后精度丢失问题
  4. 深入浅出 SpringMVC - 2 提升篇
  5. 搭建 Visual Studio 和 Freeglut、GLEW的OpenGL环境
  6. javascript判断浏览器核心
  7. iis启动默认页无法访问错误类型500的解决
  8. asp备份恢复mssql数据库的代码
  9. 回调函数与Delphi的事件模型
  10. 【Git】Git 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )