2017年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

カテゴリー

ブログパーツ

無料ブログはココログ

« ROSのチュートリアル、ちょっと変わったかな? | トップページ | ノードを使ってみる »

2012年12月 2日 (日)

ROSの「ノード」について

ROSさんお手やわらかに:ROS入門編

今回はチュートリアルのこのページだ。タイトルは「ノードを理解する」となっている。ただし、このページのデスクリプションには「ROSの『グラフ』のコンセプトについて説明する」とある。グラフをどう訳せばよいか今はわからない。


ともかくこのチュートリアルを実行するには、軽量級のシミュレータのインストールが必要だ。下記のコマンドでインストールする。

sudo apt-get install ros-fuerte-ros-tutorials

僕の場合はすでにインストール済みで更新の必要はないというメッセージがでた。

次に、このチュートリアルに出てくるキーワードについての説明がある。下記に意訳しておく。

・ノード(Nodes); 一つのノードは実行可能なオブジェクトで、ROSを使って他のノードと交信する。
・メッセージ(Messages): ROSのデータ形式で、「トピック」に対して「発行」と「引用」するときに用いる。
・トピック(Topics): ノードはトピックに対しメッセージを「発行」し、また「引用」することでメッセージをトピックから受信できる。
・マスター(Master): ROSのネームサーバー(例えば:ノードが他のノードを見つけられるようにする)
・ロスアウト(rosout): c言語などのstdoutとstderrのROS版
・ロスコア(roscore): マスターとロスアウトとパラメータサーバーのこと(パラメータサーバーは後ほど説明)

パブリッシュとサブスクライブはMacの慣習にならって「発行」と「引用」と訳した。この訳がいいのかどうかはわからない。兎に角、この関係は下記の様になっているのだろう。

・発行側 メッセージは誰でも読めるように公開されている。受け手を指定しない。
・引用側 メッセージは使用する度に新たに読み込まれる。発行側が内容を更新すれば、それが反映される。

サブスクライブは「購読」と訳す場合もある。でも、日本語にするとどうも分かりにくいね。なかなかいい日本語訳が見当たらない。インタラプトを「中断」ではなく「割り込み」とした先達の知恵に改めて敬服の念を禁じ得ない。

お次はノードの説明だ。ちょっと解りにくい。下記に訳しておく。

1.3 ノード
ノードは、実際のところ、ROSパッケージの実行ファイルとほとんど同じである。ROSノードはROSクライアントライブラリを他のノードと交信するために用いる。ノードはトピックに発行と引用をすることができる。また、ノードは「サービス」を提供したり使用したりすることができる。

最初の一文はこれでいいのかどうかわからない。直訳では何だかわからないが、not much more thanで「ほとんど変わらない」という意味になるようだ。つまり、パッケージの実行ファイルがノードだと思えばよいようだ。また、新しく「サービス」という用語が出てきた。

クライアントライブラリとは、rosbuildで生成されるrospyとroscppで、それぞれpythonとc++のライブラリである。つまり、ROSではpythonとc++を開発用言語として使えるというわけだ。僕はpythonでやってみようかと考えている。インデントに意味がある言語はちょっと扱いにくい感じも有るが、まあ所詮は慣れの問題だろう。

次にロスコアを起動して、いろいろと試して見るようだが、長くなって来たので次回以降に。

« ROSのチュートリアル、ちょっと変わったかな? | トップページ | ノードを使ってみる »

ROSさんお手やわらかに」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1140145/48053613

この記事へのトラックバック一覧です: ROSの「ノード」について:

« ROSのチュートリアル、ちょっと変わったかな? | トップページ | ノードを使ってみる »