RT ミドルウエア講習会 実習に参加される方へ ネットワークは外部にも接続できます。 有線・無線とも利用可能ですが、有線接続推奨です。 ホスト PC の Firewall は OFF にしておいてください。 OpenRTM のページを開いておいてください – – VMware を起動させておいてください。 –VMware はホスト PC がネットワークに接続された後( IP 取得後)に起 動させてください。 VM の Fedora のユーザ名, パスワード, root パスワード – すべて “openrtm” です VM の Fedora には samba 経由でアクセスできます –/sbin/ifconfig eth0 で IP アドレスを調べ、エクスプローラのアドレスバ ーに以下を入力 –\\[VM の IP アドレス ]\openrtm 1
RT ミドルウエア講習会 ROBOMEC2007 チュートリアル RT ミドルウエア講習会 日時: 2007 年 5 月 10 日 13:30 ~ 17:30 場所:ホテル メトロポリタン秋田 4F きりの間
RT ミドルウエア講習会 RT ミドルウエア講習会 13:30- 13:50 第 1 部: OMG 標準準拠ミドルウェア OpenRTM-aist について 担当:安藤慶昭 ( 産総研 ) 概要: 2006 年 11 月に OMG (Object Management Group) で採択された RT コンポーネント 標準仕様のおよび、 これに準拠した RT ミドルウエアの 新しいリリース OpenRTM- aist の概要を解説します。 14:00- 15:00 第 2 部: OpenRTM-aist の環境構築 担当:安藤慶昭 ( 産総研 ) 概要: OpenRTM-aist の環境構築方法や、 サンプルコンポーネントの実行操作ツー ル RtcLink による 基本的な操作方法について実習形式で解説します。 15:15- 16:15 第 3 部: RT ミドルウェアの各種ツール群について 担当:坂本武志 ( テクノロジックアート ) 概要: OpenRTM-aist に付属するテンプレートコードジェネレータ rtc-template を 拡張した統合開発環境のインストール方法、基本的操作方法、 および、 UML モデリ ングツール PatternWeaver を使った、新しいコンポーネント 開発方法について解説 します。 16:30- 17:30 第 4 部: OpenRTM-aist の使い方 担当:安藤慶昭 ( 産総研 ) 概要:実際に簡単なコンポーネントを参加者に作成していただき、 OpenRTM-aist によ るコンポーネント開発を体験していただきます。
RT ミドルウエア講習会 第 1 部 OMG 標準準拠ミドルウェア OpenRTM-aist について 独立行政法人 産業技術総合研究所 知能システム研究部門 タスク・インテリジェンス研究グループ 安藤 慶昭
RT ミドルウエア講習会 概要 RT ミドルウエア OMG 標準化について OpenRTM-aist の位置付け OpenRTM-aist の新機能紹介
RT ミドルウエア講習会 6 RT = Robot Technology cf. IT –≠Real-time – 単体のロボットだけでなく、さまざまなロボット技術に基づく 機能要素をも含む ( センサ、アクチュエータ, 制御スキーム、ア ルゴリズム、 etc….) RT-Middleware –RT 要素のインテグレーションのためのミドルウエア RT-Component –RT-Middleware におけるソフトウエアの基本単位 RT-Middleware RT ミドルウエアとは ?
RT ミドルウエア講習会 7 RT ミドルウエアとは
RT ミドルウエア講習会 8 OMG における標準化 RFP が発行される 標準化を希望するベンダが提 案を持ち寄る 合意ベースのプロセスに基づ き標準仕様を策定 AB において承認(事実上の標 準) FTF において最終文書化 OMG 標準としてオープンに … RFP Request for Proposal OO の標準化に関し て提案がある人は手 を上げてください 提案 A 提案 B 提案 C 提案者間の 合意に基づく 標準化プロセス AB ( Architecture Board :) = 標準作業部会 OMG ( Object Management Group ) 国際的ソフトウエア標準化団体 UML 、 CORBA などの仕様策定 OMG 標準 FTF ( Finalization Task Force ) = 最終文書化委員会 現在はこの段階
RT ミドルウエア講習会 99 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 年 11 月頃 標準仕様公式リリース予定 OpenRTM-aist-1.0 リリース予定
RT ミドルウエア講習会 10 RTC 標準仕様概要 3 つのパッケージから 構成される : –Lightweight RTC –Execution Semantics –Introspection
RT ミドルウエア講習会 Lightweight RTC Lightweight RTC – コンポーネントおよびポー トのステレオタイプを定義 – コンポーネントのライフサ イクルを定義 – スレッドの抽象表現である ExecutionContext を定義 – リフレクション、イントロ スペクションインター フェースは無くスタティッ クなシステム構成のための コンポーネント component port state machine
RT ミドルウエア講習会 Execution Semantics Execution Semantics – ロボットシステムにおい て一般的に用いられるコ ンポーネントの振る舞い のパターンを定義 1. 同期的周期実行を行う Dataflow コンポーネント 2. イベントドリブン方の FSM コンポーネント 3. モードを複数持つことが できる MultiModal コン ポーネント Data flow FSM request response Multi Modal
RT ミドルウエア講習会 Introspection Introspection – 実行時にコンポーネ ントのメタ情報を得 るためのインター フェース – 既存の OMG 標準の Super-Distributed Objects (SDO) の仕様 を利用 –RTC インターフェー ス – 動的に構成を変更す るコンポーネント統 合のための仕様 component port state machine RTC SDO
RT ミドルウエア講習会 OMG RTC 標準のまとめ ロジックと実行主体の分離、関連の自由度 –ExecutionContext ⇔ RTC :多対多 コンポーネントのパターン –Execution Semantics : 3 種類 ポート – 汎用的なポート( UML に準拠)&接続のみ管理 – 通信方式については未定義 メタ情報取得・その他 –RTC インターフェース+ SDO インターフェース –Configuration インターフェースの追加
RT ミドルウエア講習会 OpenRTM-aist OpenRTM-aist (2005 年 5 月リリース ) – 同意書提出者に対して配布 –100 件程度 OpenRTM-aist – 共同研究者に対してのみのクローズドなリリース – サービスの導入 OpenRTM-aist-0.4.0(2007 年 5 月リリース ) –OMG RTC 標準仕様検証のための実装 OMG 標準 (RTC) 準拠+ AIST 拡張+ミドルウエア –LGPL(or 個別ライセンスのデュアルライセンス ) でリ リース Web 上で一般に公開
RT ミドルウエア講習会 OMG 標準と OpenRTM-aist > RTC Specification 他のプラットフォームにおけるモデル 標準化作業 AIST による実装 拡張 仕様の追加 実装 PIM 他のベンダによる実装 > RTC CORBA PSM > SDO Specification > OpenRTM-aist Basic types OpenRTM-aist Other RTM > OpenRTM-aist Ext. interface PSM 実際に使用するには インターフェースや 仕様の追加が必要 > RTC CCM PSM > RTC Local PSM
RT ミドルウエア講習会 17 Architecture of RT component RT コンポーネントアーキテクチャ OpenRTM-aist アクティビティ – ユーザ定義ロジックの実行 データポート –Data Centric な相互作用 サービスポート –request/response 型相互作用 コンフィギュレーション – ユーザ定義の設定 サービスポート データポート
RT ミドルウエア講習会 18 アクティビティ コールバックオブジェクト = RT コンポーネント コールバックオブジェクト = RT コンポーネント コールバックオブジェクト = RT コンポーネント コールバックオブジェクト = RT コンポーネント ユーザ定義のコールバック 実行コンテキスト InactiveActive Error コンポーネント開発者は各状態でのアクションを フレームワークに従って定義する RTC State Machine activate deactivate error reset RT コンポーネントは状態を持ち 各状態で行うべきアクションの コールバックが定義されている。
RT ミドルウエア講習会 19 データポート データ指向 (Data Centric) な ストリームポート – 型: long, double×6, etc… ユーザが任意に定義可能 – 出力: OutPort – 入力: InPort 接続制御 (接続時に選択可能) –Interface type CORBA,TCP socket, other protocol, etc… –Data flow type push/pull –Subscription type Flush, New, Periodic
RT ミドルウエア講習会 20 サービスポート 任意に定義可能なイン ターフェースを持つポー ト サービスプロバイダ – サービスを提供する サービスコンシューマ – サービスを利用する 一つのポートに任意のプ ロバイダ・コンシューマ を関連付けることができ る。 ポートがインターフェー スの接続を管理
RT ミドルウエア講習会 コンフィギュレーション – ユーザ定義の設定 コンフィギュレーション セット – セット名、名前:値のリス ト – 複数のセットを保持 – 一つのアクティブセット – セットの書き換えが可能 – セットの追加、削除が可能 – 動作中のセットの切替が可 能(アクティブ化) – アクティブ化されると実際 の変数に反映される 名前 値 セット名 名前 値 セット名 名前 値 セット名
RT ミドルウエア講習会 まとめ OMG 標準化 –OMG RTC Specification OMG RTC と OpenRTM-aist 変更点 – アクティビティ – ポート – コンフィギュレーション