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網站是如何組織的。