2016年10月9日日曜日

【Book】Programming Robots with ROS CHAPTER20【その3】rosrun/roslaunch

続いてrosrunを読んだメモ。

Starting a Node: rosrun

実行したいnodeのパスも忘れがち〜。
rosrunを使えば、package名とnode名だけ指定すればおk。

例: $ rosrun my_package my_node

rosrunで実行したnodeはCtrl−Cでkillできます。

Starting Many Nodes: roslaunch

rosrunでnodeを開始するのはテストとかデバッグの時はいいけど、正直しんどい。
ROSシステムは基本多数のノードを使うから個別にやるのほんとしんどいので、ファイルに書いてまとめてしまいましょう。この時に使うコマンドがroslaunchになります。

・xmlに書く。指定するのは以下。
name: ノードの名前
pkg: パッケージ名
type: executable file の名前

・fileの拡張子はXXX.launch
・実行停止はCtrl-Cですべてのノードが終了。
・すでroscoreが実行されていたらそれを使う、実行されてなかったら自動でroscoreを実行し、終了時にkillする。
・実行時にコンソールには何もでないからびっくりするよね。output="screen"て追加すると見えるっぽい。
・<remap>タグを使うと、通信するtopicをdefaultから変えることができる。
・launchファイル内で他のlaunchファイルをinclude可能。

以上、rosrunとroslaunchの部分のメモ終わり。
rosrunはパス覚えなくても楽だね、roslaunchは複数のノードまとめて開始できるよ、あとこうやったら便利に使えるよ、てのが書いてありました。あ、launchファイルはlaunchディレクトリに置いて使うっぽいです、たしか。


次回はrostestについて。
ROSのテストって全然まだわかってないから読むのが楽しみ。


0 件のコメント:

コメントを投稿