RTCとRTミドルウエア
オブジェクト分散環境としてのRTミドルウエア
次に、RTミドルウエアのもう1つの特徴であるオブジェクト分散環境について説明します。RTミドルウエアは、RTCからネットワークを隠ぺいし、自分とインターフェースを持つRTCがネットワーク上のどこにあるか、ということを、個々のRTCは知らなくてもいいように作られています。
このことを、1ページ目のチャットプログラムRTCで説明しましょう。図3-1をご覧ください。ネットワーク上に分散した複数の人間でチャットする場合、個々のRTCがどこにいるのかを誰かが把握していなければなりません。これをつかさどっているのがネーミングサービスです。各RTCは、ネーミングサービスに自分の名前を登録し、参照可能にします。また、接続先のRTCの居場所は、ネーミングサービスから取得します。これにより、RTC同士はお互いの居場所を知り、通信できるようになるのです。
このあたりの仕組みは、RTミドルウエアがOMGのCORBA PSMの拡張で実装されているから実現できるのですが、ここでは説明を省略します。もう少し詳しく知りたい方は、拙著『はじめてのコンポーネント指向ロボットアプリケーション RTミドルウエア超入門』をご参照ください。
「RTCがネットワーク上の位置を意識しない」そして、前ページで述べたとおり、「マルチプラットホームで相互接続性が確保されている」という特徴は、ロボット開発に大きな効果をもたらします。それはいったい何でしょうか。
勘の良い読者なら、もうおわかりと思います。これは、いろいろなロボット内の各パーツ、ロボット同士、ロボットとIT機器などが、ネットワーク上で、プラットホームの壁を越えて連結できる、ということを示しているのです。
例えば、手足はリアルタイムなマイコン制御のRTCで、頭の部分はLinuxを搭載したコンピューター、ネットワークでつないだロボットの遠隔操作のマン・マシンシステムはWindowsパソコンで作成する、という具合です。このようにRTCでモジュール化することで、故障時の対応やメンテナンスが容易になります。また、ロボットそのものの既存ネットワークへの参加も容易になります。すなわち、RTCとRTミドルウエアは、単なるモジュール化だけでなく、ITとRTの融合に直接役立つ技術である、ということが言えます。
ロボットとソフトウエアの融合
RTCとRTミドルウエアについて先ほど説明したこと
「RTCとRTミドルウエアは、RTとITの融合に役立つ技術」
これは、以下のように言い換えることもできます。
「RTCとRTミドルウエアは、ロボット開発者をモジュール開発に導く技術であり、ソフトウエア開発者をロボット開発に参入させる技術である」
RTミドルウエアの普及とともに、私は実際にロボット開発者が一生懸命RTCに分割し、ロボットシステムを作ろうとしていることを目の当たりにしてきました。また、私の所属する会社セックは言うにおよばず、RTミドルウエアに興味を持ったセック以外のソフト会社も、ロボット開発の場に出てくるようになりました。RTCとRTミドルウェアは、今まで距離が離れていたロボット開発者とソフトウエア開発者を急接近させているのです。
文化の融合は必ずやイノベーションを生み、私は、RTCとRTミドルウエアは、ロボットイノベーションを進める触媒となる、と考えています。
今回は、純粋なソフトウエアコンポーネントである、チャットプログラムRTCを例にとって、RTCの実際とRTミドルウエアの特徴について述べてきました。第1回から順序よく理解を積み重ねてきた皆さんなら、このまま進んでも、もう大丈夫ですね。
ということで、次回は、実際にハードウエアを伴ったRTシステムを例に、ハードウエアとソフトウエアを合わせてコンポーネント化する、ということについて考えてみましょう。そして、RTシステムの入り口に立てれば、入門編は卒業です。
お時間のある方は、ぜひ、OpenRTM.NETで遊んでみてください。開発者向けのデベロッパーズマニュアルをご参照いただければ、開発チュートリアルにしたがって、実際のプログラミングも体感していただけます。なるべく多くの目でこの技術を確認し、真に使える技術になればと考えます。よろしくお願いします。
【参考文献】
長瀬雅之『はじめてのコンポーネント指向ロボットアプリケーション開発 RTミドルウエア超入門』毎日コミュニケーションズ(発行年:2008年)
「経済産業省 技術戦略マップ2009 システム・新製造 ロボット分野」(http://www.meti.go.jp/policy/economy/gijutsu_kakushin/kenkyu_kaihatu/str2009/3_1.pdf)(アクセス:2009/06)
「OpenRTM-aist Official Web Site」(http://www.is.aist.go.jp/rt/OpenRTM-aist/html/)(アクセス:2009/06)