ROS學習之roslaunch的node標簽


一 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中的新功能

    • 如果respawntrue,請在嘗試重新啟動之前檢測到節點故障后等待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” (可選)

    • 用於預先添加到節點的啟動參數的命令/參數。這是一個強大的功能,使您能夠啟用gdbvalgrindxterm漂亮或其他方便的工具。

四 元素

您可以在<node>標記中使用以下XML 標簽

  • <env>

    • 為節點設置環境變量。

    <remap>

    • 為此節點設置重新映射參數。

    <rosparam>

    • rosparam文件加載到此節點的 / local命名空間中。

    <param>

    • 在節點的 / local命名空間設置一個參數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM