<node> tag
2016-02-29 14:41
561 查看
</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 名称空间。
相关文章推荐
- 阿里云ECS安装最新版本Node.js
- nw.js node-webkit系列(10)Native UI API Clipboard的使用
- Vertex与Node
- Pitfall in node crypto and base64 encoding
- 19. Remove Nth Node From End of List
- Node.js Web 模块-创建web服务器
- Node.js GET/POST请求
- Node.js 文件系统
- Node.js 函数
- Node.js模块系统
- Node.js Stream(流)
- Node.js Buffer(缓冲区)
- Node.js EventEmitter
- Node.js的基础内容
- Node.js 创建第一个应用
- Node.js安装
- 24. Swap Nodes in Pairs
- mac node版本管理
- nodejsURL
- nodejsIO