ROS学习(七):ROS launch 文件

原创 2017年01月03日 08:56:10

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

版权声明:本文为博主原创文章,转载请注明出处。本博客所有内容均为自己在学习工作中的总结、摘录等,如有侵权,请联系删除。 举报

相关文章推荐

字符串和指针

#include #include #include #include int main() {   char *p = "Tom\n"; //字符串常量的类型就是char*,字符...

.launch文件分析

.launch文件分析   在我们的功能包中可以看到launch文件夹下有很多的.launch文件,这些文件​写入了我们想要同时运行的节点,当我们需要有很多节点同时启动时,一个个启动它们会费时费力,...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

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

ROS可以通过launch文件进行节点的管理、初始参数的设置,但是launch文件不能指定节点的启动顺序,因此本文简单介绍下通过launch进行节点启动管理,通过shell来控制节点启动顺序。 1,我...

【ROS】launch启动文件

ROS采用rosrun命令可以启动一个节点,如果需要同时启动节点管理器(master)和多个节点,就需要采用launch文件来配置。launch文件是一种特殊的XML格式文件,通常以.launch作为...

ROS的学习(九)理解ROS的参数

rosparam命令允许你在ROS的参数服务器上操作和存储数据,参数服务器可以存储整数,浮点数,布尔类型,字典,列表。ROS使用YAML标记语言作为语法,在简单的情况下,YAML看起来是非常自然的:1...

自学MATLAB很好的资料

自学MATLAB很好的资料2010-09-15 18:44:14【MATLAB下载、安装、使用】 matlab 7.0 完整版 iso [0.99G] 下载!http://www.matlabfan...

腾讯公司抽奖活動是真的吗_____↙

腾讯公司 总 部 电 话《95013+2195+0586》抽奖电话《95013+2195+0586》活动热线《95013+2195+0586》非常6+1 电 话《95013+2195+0586》幸 运...

ROS Learning-006 beginner_Tutorials 编译ROS程序包

ROS Indigo beginner_Tutorials-05 编译 ROS 程序包我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04...

ROS学习(八):ROS URDF->transmission

用来描述关节和驱动器之间的关系。可以定义关节传动比和连杆之间的关系等。 通过复杂的转化可以把多驱动器和多关节联系在一起。
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)