2013年6月12日水曜日

launchファイルを調べる

gmappingするために、
ROSのモジュールがどんな感じで関わっているのかを把握する必要がある
なので
LaserScanデータを出力する、 3dsensor.launchが
どういう構造をしているのか調べる
それから、
gmappingがどのような構造をしているか調べる

まず、
launchファイルで頻繁に見かけるタグをグーグル翻訳してみた

●node:launchしたいノードに特化
もっとも普遍的なタグ。必ず実行される保証はない。

pkg="mypackage"
ノードのパッケージ。

type="nodetype"
 ノードタイプ。同じ名前を持つ対応する実行ファイルが存在する必要があります。

name="nodename"
ノード名。注:名前は名前空間を含めることはできません。代わりにns属性を使用します。

args="arg1 arg2 arg3"(optional)
ノードに引数を渡す。

machine="machine-name"(optional)
指定したマシン上のノードを起動します。

respawn="true"(optional)
それが終了した場合、自動的にノードを再起動します。

required="true"(optional)
ROS0.10:ノードが死亡した場合、全体roslaunchを殺す。

ns="foo"(optional)
    'foo'に名前空間内のノードを起動します。

clear_params="true|false"(optional)
   打ち上げ前ノードのプライベート空間ですべてのパラメータを削除します。

output="log|screen"(optional)
    '画面'、ノードからの標準出力/標準エラー出力を画面に送信された場合。 'ログ'、標準出力/標準エラー出力は/ ROS_HOME$ログにログファイルに送信され、標準エラー出力を画面に送信され続ける場合。デフォルトは 'ログ'です。

cwd="ROS_HOME|node"(optional)
    'ノード'の場合、ノードの作業ディレクトリはノードの実行ファイルと同じディレクトリに設定されます。 Cタートルで、デフォルトは 'ROS_HOME'です。ハコガメに(ROS1.0.xの)、デフォルトは 'ROS-ルート'です。 'ROS-根'の使用はCタートルで廃止されています。

launch-prefix="prefix arguments"(optional)
    コマンドは、/引数ノードの起動引数を先頭に追加する。これは、GDB、valgrindの、xtermの、素敵な、または他の便利なツールを有効にするために可能にする強力な機能です。例については、ValgrindのかGDBでRoslaunchノードを参照してください。


●arg
<arg>タグは<include>タグ経由で、コマンドラインを介して渡された値を指定することによって、より再利用可能かつ設定可能な起動ファイルを作成することができ、またはより高いレベルのファイルのために宣言される。
agesはローカル。

name="arg_name"
    引数の名前。

    <arg name="foo"/>
        fooの存在を宣言します。 fooがコマンドライン引数(トップレベルの場合)、またはの<include>パッシング(含まれている場合)を介してのいずれかで渡す必要があります。

    <arg name="foo" default="1"/>
        デフォルト値でfooのを宣言します。 fooがコマンドライン引数(もしトップレベル)またはの<include>パッシング(含まれている場合)を経由して上書きすることができます。

    <arg name="foo" value="bar"/>
        一定の値でfooのを宣言します。 fooの値はオーバーライドできません。この用法では、より高いレベルでそのパラメータを公開することなく、起動ファイルの内部パラメータ化が可能になります。

default="default value" (optional)

    引数のデフォルト値。 value属性と組み合わせることはできません。デフォルト値でfooのを宣言します。 fooがコマンドライン引数(もしトップレベル)またはの<include>パッシング(含まれている場合)を経由して上書きすることができます。

value="value" (optional)

    引数値。 default属性と組み合わせることはできません。


●include
<include>タグは、現在のファイルに別のroslaunch XMLファイルをインポートすることができます。
<group>と<remap>タグを含む、ドキュメントの現在のスコープ内でインポートされます。インクルードファイル内のすべてのコンテンツは<master>タグを除いインポートされます。<master>タグは、トップレベルのファイルに従わされています。

file="$(find pkg-name)/path/filename.xml"
        インクルードするファイルの名前。

ns="foo" (optional)
        'foo'に名前空間に関連するファイルをインポートします。

clear_params="true|false" (optional Default: false)
    打ち上げ前の<include>の名前空間内のすべてのパラメータを削除します。この機能は非常に危険であり、慎重に使用する必要があります。 NSを指定する必要があります。デフォルトはfalse。


●group
<group>タグは、それが簡単にノードのグループに設定を適用することができます。それはあなたが別の名前空間にノードのグループをプッシュすることができますns属性を持っています。
また、グループ全体で再マップの設定を適用する<remap>タグを使うことができます。

ns="namespace" (optional)
    指定された名前空間へのノードのグループを割り当てます。グローバル名前空間が推奨されても名前空間は、グローバルまたは相対することができます。

clear_params="true|false" (optional)
    打ち上げ前のグループの名前空間にすべてのパラメータを削除します。この機能は非常に危険であり、慎重に使用する必要があります。 NSを指定する必要があります。


●param
<param>タグパラメータサーバで設定するパラメータを定義します。代わりにのではなく、パラメータの値を設定するには、テキストファイルまたはbinfile属性を指定することができます。 <param>タグはパラメータがプライベート·パラメータのように扱われ、その場合に<node>でタグの内側に置くことができます。

また<param>タグパラメータ構文(ROS名を参照)を使用してノードのグループ全体でのプライベート·パラメータを設定することができます。宣言されたパラメータは、同じスコープ(つまり、グループまたはNSタグ)にあることに従う<node>でタグ内のローカルパラメータとして設定されます。

 
name="namespace/name"


value="value"(optional)


type="str|int|double|bool"(optional)


textfile="$(find pkg-name)/path/file.txt"(optional)


binfile="$(find pkg-name)/path/file"(optional)


command="$(find pkg-name)/exe '$(find pkg-name)/arg.txt'"(optional)


●rosparam 
<rosparam>タグは、ROSのパラメータサーバからパラメータをロードし、ダンプするrosparam YAMLファイルの使用を可能にします。また、パラメータを削除するために使用することができる<rosparam>タグはパラメータがプライベート名のように扱われ、その場合に、<node>でタグの内側に置くことができます。

同様に、他のパラメータの前のようにloadコマンドの前に実行して削除し、ダンプのコマンドはパラメータサーバにアップロードされます。削除して、宣言された順序で実行されるコマンドをダンプします。

loadコマンドは、添加物とみなされます:あなたは、パラメータの辞書や名前空間を宣言した場合これらのパラメータは、その名前空間に対して宣言他のパラメータに追加されます。同様に、loadコマンドは、以前に宣言されたパラメータを上書きできます。

<rosparam>タグはどちらYAMLファイルを参照したり、生のYAMLテキストを含めることができます。 YAMLテキスト辞書を定義する場合、パラメータ属性を省略してもよい。
 


command="load|dump|delete" (optional, default=load) 


file="$(find pkg-name)/path/foo.yaml" (load or dump commands) 


param="param-name" 


ns="namespace" (optional) 

0 件のコメント:

コメントを投稿