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
Contents
このチュートリアルを始める前に, roscoreが実行されていないことを確認してください.
roswtfのインストールを確認する
roswtfは問題を見つけるために、システムを調査します。実際にやってみましょう。
$ roscd $ roswtf
次のような出力が見られるでしょう。
Stack: ros ================================================================================ Static checks summary: No errors or warnings ================================================================================ Cannot communicate with master, ignoring graph checks
もしインストールが正しく行われているなら上のものに似た出力になるでしょう。出力は以下の意味を示しています。
"Stack: ros": roswtfは何を調べるかを決めるためにあなたのカレントディレクトリがどこであろうとカレントディレクトリを使います。これはroswfをrosのスタックで行ったことを示しています。
- "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をいくつ実行しているかによって、試験が完了するのに時間がかかることになります。見てわかるように、今回は警告が1つ出ています。
WARNING The following node subscriptions are unconnected: * /rosout: * /rosout
roswtfはrosoutの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に進みましょう.