ROS学习4.1:ROS关键组件之Launch文件

1. Launch文件简要介绍

通过XML文件实现多节点配置启动(可自动启动ROS Master),启动顺序从上到下。
调用方法:roslaunch package_name file.launch
一个示例:

<launch>
 <!-- local machine already has a definition by default. This tag overrides the default definition with specific ROS_RO0T and ROS_PACKAGE_PATH values --><machine name="local_alt" address="localhost" default="true" ros-root="/u/user/ros/ros/" ros-package-path="/u/user/ros/ros-pkg"/>
 <!-- a basic listener node --><node name="listener-1" pkg="rospy_tutorials" type="listener"/>
 <!-- pass args to the listener node --><node name="listener-2" pkg="rospy_tutorials" type="listener" args="-foo arg2"/><!-- a respawn-able listener node -->
 <node name="listener-3" pkg="rospy tutorials" types"listener"respawn="true"/><!-- start listener node in the 'wg1' namespace --><node ns="wg1" name="listener-wgl" pkg="rospy_tutorials" type="listener" respawn="true"/><!-- start a group of nodes in the 'wg2' namespace --><group ns="wg2">


  <!-- remap applies to all future statements in this scope.--><remap from="chatter" to="hello"/>

 
 <node pkg="rospy_tutorials" type="listener" name="listener" args="--test" respawn="true" />
 

 <node pkg="rospy_tutorials" type="talker" name="talker">

 

   <!-- set a private parameter for the node -->param name="talker_1_param" value="a value"/>


    <!-- nodes can have their own remap args -->


    <remap from="chatter" to="hello-1"/>
 


   <!-- you can set environment variables for a node -->
    


<env name="ENV EXAMPLE" value="some value"/>
  


</node>
 


</group>



</launch>

标签与元素:
<launch>是所有roslaunch文件的根元素.它的唯一目的是作为其他元素的容器
<node>启动一个节点
<
param>设置参数服务器上的参数
<remap>声明一个名称的映射
<machine>声明启动要使用的机器.

<rosparam>使用 rosparam文件设置启动要用的ROS 参数
<include>包含 roslaunch文件
<env>制定启动节点的环境变量

<test>启动一个测试节点 .
<arg>声明参数

<group>共享一个命名空间或映射的封闭的元素组

2. 常用标签说明

2.1 <node>标签

调用格式:

<node pkg"package-name"type="executable-name" name="node-name"/>

属性:
pkg="mypackage":节点所在的功能包名.

type="nodetype":节点类型。必须有相应的同名的可执行文件
(即节点可执行文件的名称)
name="nodename":节点运行时的名称(覆盖在代码中定义的名称).注∶名字不能包含命名空间,使用ns属性代替.
args="argl arg2 arg3"(optional) :传递到节点的参数.
machine="machine-name"(optional:启动节点的指定机器.

respawn="true"(optional):如果节点退出,自动重启

respawn_delay="30"(optional,default O) :ROS indigo的新特性如果重启是true,在检测到节点失败之后,试图重启之前,等待respawn delay秒。
required="true"(optional)
:ROS 0.10∶如果节点死掉了,杀死掉全部的 roslaunch.

ns="foo"(optional):在foo’命名空间开启节点。
clear_params="truefalse"(optional:在启动之前,删除节点私有命名空间的所有参数
output="log | screen"(optional):如果是screen’,节点中的stdout’stder发送到屏幕;如果是log,将发送 stdout/stder到SROS HOME/log中的log 文件。默认的是log。
cwd="ROS_HOMEInode"(optional):如果是node,节点的工作目录将发送到和可执行的节点相同的目录。在CTurtde中,默认的是ROS_HOME。在 Box Turtle(ROS1.0.x),默认的是ros-rooros-rot在CTrte中不能使用。
launch-prefix="prefix arguments"(optional):Command/arguments预先放在节点的launch参数的前端。这是一个强大的功能,使您能够使能gdb,valgrind,xterm,nice,或其他方便的工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值