Revision 13 as of 2014-09-24 13:31:37

Clear message

(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

roswtfを使う

Description: このチュートリアルは、roswtfの基本的な使い方の導入です

Keywords: roswtf

Tutorial Level: BEGINNER

Next Tutorial: NavigatingTheWiki

このチュートリアルを始める前に, roscoreが実行されていないことを確認してください.

roswtfのインストールを確認する

roswtfは問題を見つけるために、システムを調査します。実際にやってみましょう。

$ roscd
$ roswtf

次のような出力が見れるでしょう。

Stack: ros
================================================================================
Static checks summary:

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

Cannot communicate with master, ignoring graph checks

もしインストールが正しく行われているなら上のものに似た出力になると思います。出力は以下の意味を示しています。

  • "Stack: ros": roswtfは何を調べるかを決めるためにあなたのカレントディレクトリがどこであろうとカレントディレクトリを使います。これはroswfrosのスタックで行ったことを示しています。

  • "Static checks summary": これはファイルシステムのすべての問題のレポートです。ここでは何もエラーがなかったことを示しています。
  • "Cannot communicate with master, ignoring graph checks":roscoreは走っていないので、roswfはいかなるオンラインチェックも行いません。

オンラインを試す

次のステップでは、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のnodeをいくつ実行しているかによって、試験が完了するのに時間がかかることになります。見てわかるように、今回はエラーが出ています。

WARNING The following node subscriptions are unconnected:
 * /rosout:
   * /rosout

roswtfrosoutのnodeが誰も配信していないtopicに購読していることを警告しています。この件は、これは他に何も実行されていないためそうなることは想定されているので、今回はこれを無視してかまいません。

エラー

roswtfはシステムの中で正常に見えて怪しくみえるものについて警告を出します。間違っていると分かっているエラーに関する報告もします。

このパートでは、ROS_PACKAGE_PATHに不適切な値を設定します。また、ここでは出力をわかりやすくするために、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の使い方が分かりましたので、折にふれてros.orgがどのように構成されているかを詳しく学習していきましょう。次は navigating the wikiに進みましょう.