2009年12月18日金曜日

ノードを理解する

次はノードです。

ROSでのプロセスみたいなものかな?
グラフ構造を作るノード(点)のこと。

出てくるコマンド
roscore, rosnode, rosrun

でてくる内容

  • Nodes: 他のノードと通信する実行単位
  • Topics: ノードが発行したり読んだりするメッセージ
  • Messages: ROSでノード間のやりとりするときのデータ形式
  • Master: ノード間の名前を解決するネームサーバーみたいなもの?
  • rosout: ROS での stdout/stderr
  • roscore: Master + rosout + parameter server
ROSのプログラムの動かし方を学ぶのが今回のチュートリアルみたいです。

まず

$ roscore
でMaster, rosoutなどを起動します。
するとこのターミナルはroscore専用になるので、新しいターミナルを用意します。

$ rosnode list
とすると、roscoreに繋がったノード一覧が見れます。
今は
/rosout
だけですね。

$ rosnode info /rosout
とすると、ノード/rosoutの情報がみれます。

そのノードがPublishしているメッセージ、Subscribeしているメッセージ、提供するサービスなんかが見れるようです。

では次にrosrunでNodeを立ち上げます。

$ rosrun [package_name] [node_name]


$ rosrun turtlesim turtlesim_node
以下のようなWindowがでました。














また新しいターミナル開いて、
$ rosnode list
とすると
/turtlesim
/rosout
とノードが増えています。

さっきrosrunしたターミナルでC-cで止めて、
今度は
$ rosrun turtlesim turtlesim_node __name:=my_turtle
とします。
すると、ノードの名前を変更できます。

では最後に復習。
  • rosnode = ros+node : ノードの情報をゲットするコマンド
  • rosrun = ros+run : ノードを立ち上げるコマンド
次回はtopics。

0 件のコメント:

コメントを投稿