<node> tag

来源:互联网 发布:深圳市淘宝运营 编辑:程序博客网 时间:2024/04/29 04:50

</pre><node> tag 用于启动node,它是最常用的roslaucnh tag,因为它提供了最重要的两个特性:bring up和 taking down nodes。<p></p><p></p><p>roslaunch不能保证node的启动顺序,ROS有意设计为:无法从外部知道一个Node什么时候完成了初始化。所以启动的所有</p><p>程序代码必须robust到可以以任意顺序启动。</p><p></p><p>1 例子</p><p><span style="white-space:pre"></span></p><pre name="code" class="html"><node name="listener1" pkg="rospy_tutorials" type="listener.py" args="--test" respawn="true" />

用rospy_tutorials 包(package)的listener.py可执行文件(executable),来启动节点:“listener1”, 并给出命令行实际参数 “--test”。如果节点死亡,

它会自动重生出来。


<node name="bar1" pkg="foo_pkg" type="bar" args="$(find baz_pkg)/resources/map.pgm" />

用foo_pkg包(package)来启动bar1节点。这个例子使用了一个带入实际参数(substitution arguments)来传入一个移动索引给

bar_pkg/resources/map.pgm。


2 节点属性 Attributes

pag = "mypackage"

Node所在的包(package)。


type = "nodetype"

Node的类型,必须有一个同名的对应可执行文件(executable)。


name = "nodename"

节点名。注意:名字不能包含命名空间 namespace。可以使用 ns 属性来使用命名空间功能。


args = "arg1 arg2 arg2"(可选属性)

将实际参数传入node。


machine = "machine-name"(可选属性)

在制定的机器上启动node。


respawn = "true"(可选属性)

当节点退出之后自动重启这个节点。


respawn_delay = "30"(可选属性,默认值为0)indigo新增

如果respawn为真的话,侦测到node报错之后,等待respawn_delay的秒数再去尝试重启node。


required = "true"(可选属性)

如果节点退出,则杀死整个roslaunch


ns = "foo"(可选属性)

在"foo"name space中启动这个node


clear_params = "true|false"(可选属性)

在启动前,删除这个节点的私有name space之中的所有形式参数


output = "log|screen"(可选属性)

如果screen的话,node 的 stdout/stderr将会被发送给屏幕,如果log的话,stdout/stderr将会被发送给一个log file,

这个log file 位于 $ROS_HOME/log 内,并且stderr将会继续发送屏幕。这个属性的默认值为log。


cwd = "ROS_HOME|node"(可选属性)

如果node的话,node的工作目录将会被设置为node的可执行文件所在的目录。在C Turtle,默认值是 ROS_HOME

在Box Turtle (ROS 1.0.X),默认值是 “ros-root”。“ros-root”的用法在 C Turtle中已经被撤销了。


launch-prefix = "prefix arguments"(可选属性)

添加 command/arguments 到节点的launch argument 里面去。有了这个强力功能,你可以激活 gdb valgrind xterm nice

或者其他方便的工具,例子可以看看  Roslaunch Nodes in Valgrind or GDB。


3 <node>tag 可以包含的元素

在<node>之中,你可以包含以下tag元素

<env> :为节点设置环境变量。

<remap>:为节点设置重映射实际参数(remapping argument)。

<rosparam>:为节点加载一个rosparame文件进入这个节点的 ~/local 名称空间。

<param>:为节点设置形式参数进入这个节点的 ~/local 名称空间。


0 0
原创粉丝点击