ROS學習筆記(14)

rosdep update一直失敗:

解決辦法:

??

roswtf工具的基本使用方法。

  • 開始本教程之前請確保roscore沒在運行。

安裝檢查

  • roswtf 可以檢查你的ROS系統並嘗試發現問題,我們來試看:
$ roscd
$ roswtf
  • 你應該會看到(各種詳細的輸出信息):
Stack: ros
================================================================================
Static checks summary:

No errors or warnings
================================================================================

Cannot communicate with master, ignoring graph checks
  • 如果你的ROS安裝沒問題,你應該會看到類似上面的輸出信息,它的含義是: * "Stack: ros": roswtf根據你當前目錄來確定需要做的檢查,這裏表示你是在rosstack中啓動roswtf。
    • "Static checks summary": 這是有關文件系統問題的檢查報告,現在的檢查結果表示文件系統沒問題。
    • "Cannot communicate with master, ignoring graph checks(無法與master連接,忽略圖(graph)檢查)": roscore沒有運行,所以roswtf沒有做運行時檢查。

運行時檢查(在有ROS節點運行時)

  • 在這一步中,我們需要讓Master運行起來,所以得先啓動roscore。

  • 現在按照相同的順序再次運行以下命令:

$ roscd
$ roswtf
  • 你應該會看到:
Stack: ros
================================================================================
Static checks summary:

No errors or warnings
================================================================================
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
... done running graph rules

Online checks summary:

Found 1 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:
 * /rosout:
   * /rosout
  • 既然roscore已經運行了所以roswtf做了一些運行時檢查。檢查過程的長短取決於正在運行的ROS節點數量,可能會花費很長時間才能完成。
  • 正如你看到的,這一次出現了警告:
WARNING The following node subscriptions are unconnected:
 * /rosout:
   * /rosout
  • roswtf發出警告說rosout節點訂閱了一個沒有節點向其發佈的話題。
  • 在本例中,這正是所期望看到的,因爲除了roscore沒有任何其它節點在運行,所以我們可以忽略這些警告。

錯誤報告

  • roswtf會對一些系統中看起來異常但可能是正常的運行情況發出警告。也會對確實有問題的情況報告錯誤。
  • 接下來我們在ROS_PACKAGE_PATH 環境變量中設置一個 bad值,並退出roscore以簡化檢查輸出信息。
$ roscd
$ ROS_PACKAGE_PATH=bad:$ROS_PACKAGE_PATH roswtf
  • 這次我們會看到:
Stack: ros
================================================================================
Static checks summary:

Found 1 error(s).

ERROR Not all paths in ROS_PACKAGE_PATH [bad] point to an existing directory: 
 * bad

================================================================================

Cannot communicate with master, ignoring graph checks
  • 正如你看到的,roswtf發現了一個有關ROS_PACKAGE_PATH設置的錯誤。

  • roswtf還可以發現很多其它類型的問題。

  • 如果你發現自己被一個編譯或者通信之類的問題困擾的時候,可以嘗試運行roswtf看能否幫你解決。

  • 現在你已經知道如何使用roswtf了, 接下來可以花點時間通過wiki導航瞭解一下wiki.ros.org網站是如何組織的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章