RTミドルウェアの講習会を受けてきたので復習(2)
昨日に続いて、AdventCalendar4日目はRTミドルウェア講習会の復習です。
RTミドルウエアとRTコンポーネントの関係について
まずはここにつまづくのだがRTミドルウエアとRTコンポーネントとは具体的には どういうものなんだろう。
デバイス制御や、制御アルゴリズム、アプリケーションなどロジック箱(フレームワーク)に入れたもの、 これをRTコンポーネント(RTC)と言います。
そしてRTCの実行環境(OSのようなもの)としてRTミドルウェアがあるという訳です。
RTコンポーネントの主な機能
ここは後日追記します。 
RTCの分割と連携
ここは後日追記します。
(モジュール)情報の隠蔽と公開のルールが重要
RTミドルウエアによる分散システム
例えば以下のような条件でネットワーク上に分散しているとします。
- ロボットA:RTCを2つ利用したRTM、OSはSolaris
- ロボットB:RTCを2つ利用したRTM、OSはFreeBSD
- ロボットC:RTCを3つ利用したRTM、OSはARTLinux
- アプリケーション:RTCを2つ利用したRTM、OSはLinux
- 操作デバイス:RTCを2つ利用したRTM、OSはWindows
- センサ:RTCを2つ利用したRTM、OSはTRON
こうした条件でもRTMにより、 ネットワーク上に分散するRTCを OS・言語の壁を越えて接続することができ、 また、RTC同士の接続は、プログラム実行中に動的に行うことが出来ます。
RTMの国際標準化
このRTM、RTCは日本で一人歩きしているわけではありません。 以下の流れでOMG RTCの標準化されています。
- 2005年9月:RFP: Robot Technology Components (RTCs) 公開。
- 2006年2月:Initial Response : PIM and PSM for RTComponent を執筆し提出。提案者:AIST(日)、RTI(米)
- 2006年4月:両者の提案を統合した仕様を提案
- 2006年9月:ABにて承認、事実上の国際標準獲得 FTFが組織され最終文書化開始
- 2007年8月:FTFの最後の投票が終了
- 2007年9月:ABにてFTFの結果を報告、承認
- 2008年4月:OMG RTC標準仕様 ver.1.0公式リリース
- 2010年1月:OpenRTM-aist-1.0リリース
- 2012年9月:ver. 1.1改定
- 2014年12月:FSM4RTC(FSM型RTCとデータポート標準) Beta1
OMG RTC ファミリについて
表にするのが大変なので後日追記します。
応用例
RTMは以下のような応用例があります。
研究用プラットフォーム
- HRP-2(川田工業)
- HRP-4(川田工業)
- HIRO(川田工業)
- ビュートローバーRTC/RTC-BT(VSTONE)
- OROCHI(アールティ)
その他
- S-ONE:SCHAFT
- HRP-4C: AIST
- TAIZOU: GRX
- DAQ-Middleware: KEK/J-PARC
- 災害対応ロボット操縦シミュレータ: NEDO/千葉工大
- RAPUDA:Life Robotics
- 新日本電工他: Mobile SEM
- 新日本電工他: 小型ベクレルカウンタ
RT-Middleware関連プロジェクトとRTミドルウエアの広がり
ここは面倒なので後日追記します。
知見について
RTMのウェブサイトには以下のコンテンツがあるので一度見てみることをお勧めします。
- プロジェクトページ:ユーザが自分の作品を登録することができ、他のユーザの作った RTCを探すことができます。
- ハードウエア集:OpenRTMで利用可能なハードウエアのリストで、ハードウエアを利用するために利用できるコンポーネントがリスト化されています。
- NEDO RTコンポーネント集:NEDO知能化PJ成果物の特別ページを設置しています(ツール/作業知能モジュール/移動知能モジュール/対話知能モジュール /商用ライセンスモジュール)。
イベントについて
またRTMは以下のイベントをやったりしています。
- サマーキャンプ
- RTミドルウエアコンテスト
AISTからの提言
最後に以下のことをAISTは提言しています。
自前主義はやめよう!!
- 書きたてのコードより、いろいろな人に何万回も実行されたコードの ほうが動くコードである!!
- 自分にとって本質的でない部分は任せて、本当にやりたい部分・やる べき部分のコードを書こう!!
- 誰かがリリースしたプログラムは一度は動いたことがあるプログラム である!!
- 人のコードを読むのが面倒だからと捨ててしまうのはもったいない! !
オープンソースにコミットしよう!!
- 臆せずMLやフォーラムで質問しよう!!
- どんなに初歩的な質問でも他の人にとっては価値ある情報である。 – 要望を積極的にあげよう!!
- できればデバッグしてパッチを送ろう!
という訳で次回は実際のRTMに触った部分を書きますが、 Advent Calendarの当番は12/7以降になるので、その日まで^ ^