Ros4Winのファイルシステムツール
Simple Wiki Based Contents Management System
関心分野 >> Ros4Winのインストール >> Ros4Winのファイルシステムツール

Ros4Winのファイルシステムツール

ROSの場合には、UNIXシステムを前提としたコマンドやファイルシステムの概念が多く使われています。
Ros4Winの環境でもできる限りオリジナルに近づけるようにclinkやバッチファイルなどを付加しています。
ROSのファイルシステムの詳細に関しては、ROSのチュートリアルサイトを参照してください。

rospackを使う

rospackコマンドはパッケージの情報(パッケージへのPATH,依存関係など)を取得します。rospackのコマンドは下記のようになっています。
USAGE: rospack <command> [options] [package]
  Allowed commands:
    help
    cflags-only-I     [--deps-only] [package]
    cflags-only-other [--deps-only] [package]
    depends           [package] (alias: deps)
    depends-indent    [package] (alias: deps-indent)
    depends-manifests [package] (alias: deps-manifests)
    depends-msgsrv    [package] (alias: deps-msgsrv)
    depends-on        [package]
    depends-on1       [package]
    depends-why --target=<target> [package] (alias: deps-why)
    depends1          [package] (alias: deps1)
    export [--deps-only] --lang=<lang> --attrib=<attrib> [package]
    find [package]
    langs
    libs-only-L     [--deps-only] [package]
    libs-only-l     [--deps-only] [package]
    libs-only-other [--deps-only] [package]
    list
    list-duplicates
    list-names
    plugins --attrib=<attrib> [--top=<toppkg>] [package]
    profile [--length=<length>] [--zombie-only]
    rosdep  [package] (alias: rosdeps)
    rosdep0 [package] (alias: rosdeps0)
    vcs  [package]
    vcs0 [package]
  Extra options:
    -q     Quiets error reports.

cd If [package] is omitted, the current working directory
 is used (if it contains a package.xml or manifest.xml).
オリジナルのrospackコマンドでは、pkgconfigを使ってcflagsやlibsのなどのビルドパス設定を取得することができますが、Ros4Winでは、pkgconfigを使っていませんのでエラーになります。
例:
 > rospack find roscpp
この例では、以下のような結果になります。
F:/opt/ros/melodic/share\roscpp

roscdを使う

roscdコマンドは、本来はrosbashの一部でしたが、Ros4Winではバッチファイルとして実装しています。パッケージのディレクトリやワークスペースなどへ移動することができます。
USAGE: roscd [locationname[/subdir]]
例:
 > roscd roscpp
上記の例を実行するとroscppパッケージディレクトリに移動します。Windowsでは、現在のディレクトリの確認は 'cd' コマンドを引数なしで実行します。
 > cd
F:\opt\ros\melodic\share\roscpp
と表示されます。
また、roscdコマンドを引数なしで実行すれば、環境変数 ROS_WORKSPACEに設定されたディレクトリへ移動します。set_rosws.batを実行した場合には、実行したディレクトリに移動することができます。
roscdコマンドでは、パッケージ名のみ補完機能を使うことができます。この補完機能は、clinkの機能ですので、コマンドプロンプトを直接起動した場合には利用することができません。
Ros4Winのroscdでも、パッケージやスタックのサブディレクトリへの移動やROSのログファイル補完ディレクトリへの移動もサポートしています。
なお、サブディレクトリを指定する場合には、補完機能は注意してください。

roslsを使う

roslsコマンドは、本来はrosbashの一部でしたが、Ros4Winではバッチファイルとして実装しています。パッケージのディレクトリやファイルの一覧を表示します。
USAGE: rosls [locationname[/subdir[/filename]]]
Ros4Winでは、filenameにワイルドカードを使うことができるように拡張されています。roslsの内部では、'dir /D' を使って一覧表示を行っています。
補完機能に関しては、roscdと同じようにパッケージ名のみに対応しています。

その他のコマンド

Ros4Winでは上記のコマンドの他に、roscat, roscp, rosed, rosrunをバッチファイルとして実装しています。
これ以降は、ROS初心者チュートリアルをそのまま実行することができます。ROSノードの実行を試す場合には、次のROSノードに進んでください。
ROSノードの実行を飛ばして、自分のパケージ作成に進む場合には、新しいパッケージの作成(外部)ROSパッケージを作るに移動してチュートリアルを続けてください。