一 node標簽
在<node>標簽指定一個ROS 節點,這是最常見的roslaunch標簽,因為它支持最重要的功能:啟動和關閉節點。
roslaunch不保證節點開始的順序。因為沒有辦法從外部知道節點何時被完全初始化,所以所有被啟動的節點必須是穩健的,以便以任何順序啟動。
二 示例
<node name =“listener1”pkg =“rospy_tutorials”type =“listener.py”args =“ - test”respawn =“true”/>
啟動“listener1” 節點,使用listener.py從可執行rospy_tutorials 包與所述命令行參數--test。如果節點死亡,它將自動重新生成。
<node name =“bar1” pkg =“foo_pkg” type =“bar” args =“$(find baz_pkg)/resources/map.pgm”/>
從foo_pkg包中啟動bar1節點。此示例使用替換參數將可移植引用傳遞到baz_pkg / resources / map.pgm。
三 屬性
-
pkg =“mypackage”
- 節點包。
type =“nodetype”
- 節點類型。必須有一個具有相同名稱的相應可執行文件。
name =“nodename”
-
節點基名稱。注意:name不能包含命名空間。請改用ns屬性。
args =“arg1 arg2 arg3” (可選)
- 傳遞參數到節點。
machine =“machine-name” (可選)
- 在指定機器上啟動節點。
respawn =“true” (可選)
- 如果節點退出,則自動重新啟動節點。
respawn_delay =“30” (可選,默認為0)ROS indigo中的新功能
-
如果respawn為true,請在嘗試重新啟動之前檢測到節點故障后等待respawn_delay秒。
required =“true” (可選)
-
ROS 0.10:如果節點死亡,殺死整個roslaunch。
ns =“foo” (可選)
- 在“foo”命名空間中啟動節點。
clear_params =“true | false” (可選)
- 在啟動前刪除節點的私有命名空間中的所有參數。
output =“log | screen” (可選)
- 如果'screen',stdout / stderr從節點將被發送到屏幕。如果是“log”,stdout / stderr輸出將被發送到$ ROS_HOME/ log中的日志文件,stderr將繼續發送到屏幕。默認值為“log”。
cwd =“ROS_HOME | node” (可選)
- 如果為“node”,則節點的工作目錄將設置為與節點的可執行文件相同的目錄。在C Turtle中,默認值為“ROS_HOME”。在Box Turtle(ROS 1.0.x)中,默認值是'ros-root'。使用'ros-root'在C Turtle中已被棄用。
launch-prefix =“prefix arguments” (可選)
-
用於預先添加到節點的啟動參數的命令/參數。這是一個強大的功能,使您能夠啟用gdb,valgrind,xterm,漂亮或其他方便的工具。
四 元素
您可以在<node>標記中使用以下XML 標簽: