※IndigoをUbuntu上にインストールし、catkinを利用している前提のメモ ROSは初心者なので、認識が間違っていたらご容赦を
とりあえず英語で再度読まなくてもよいくらいの情報量のメモを残す
Tutorialの対象ページとその他の参照ページ
- 1.Navigating the ROS Filesystem http://wiki.ros.org/ROS/Tutorials/NavigatingTheFilesystem
- rosbash http://wiki.ros.org/rosbash
ファイルシステムの基本的な構成単位
- Packages: ROS上で動作するソフトウェアを構成するために必要なライブラリ、実行可能ファイル、スクリプト、その他必要なファイルなどをまとめたもの。
- Manifest(package.xml): パッケージの定義ファイルでパッケージ間の依存関係やバージョン、作者、ライセンスなどのメタ情報を記載したもの。
ファイルシステムで利用できるツール/コマンド
UnixライクなOSで利用できるshellコマンドと操作上同等ないくつかのコマンドがある。
rospack: パッケージの情報を取得するためのコマンド。findオプションをつけるとパッケージのパスを知ることができる。その他、多数のオプションあり。チュートリアルではfindオプションまでしか使っていないが、rospack -hでその他のオプションも見ることができる。チュートリアルの実行例ではroscppのパスを検索している。
roscd: bashシェルコマンドをROSで便利に利用できるようにしているrosbashのコマンドでcdにあたるもの。ROSの環境変数であるROS_PACKAGE_PATHに指定したパス上にあるものであれば、パッケージ名指定でダイレクトにパッケージのディレクトリまで移動できる。
roscd log: 上のroscdにlogオプションを付けたもので、ROSのログフォルダに移動する。一度もROSでプログラムを実行したことがない場合はログ自体が存在しないので、ログがない旨のエラー通知が返される。
rosls: roscdと同様rosbashのコマンドの一つでlsにあたるもの。roscdと同様で、ROSの環境変数が設定されていれば、そのパス上にあるものは名前指定でリスト表示できる。
Tab補完
rospack findも含め上記のrosbashのコマンドは通常のshellコマンド実行時と同様に、パスが通っているものであれば、全てTabによる入力補完ができる。
その他のrosbashコマンド
- rospd: pushdコマンドと同等でディレクトリ間の移動をスタックとして保持し、一度スタックにつまれたディレクトリにはスタック番号指定で移動できる。
- rosd: rospdと対で利用されるもので、rospdで移動したディレクトリスタックをリスト表示する。
- rosed: パッケージ内のファイルを編集するコマンド。パッケージ名とファイル名を引数で指定して実行する。環境変数のEDITORに指定されたエディタが起動する。
- roscp: cpコマンドと同等。
- rosrun: 任意のパッケージの実行ファイルを実行するコマンド。