OMG標準準拠ミドルウェアOpenRTM-aist

Download Report

Transcript OMG標準準拠ミドルウェアOpenRTM-aist

実習に参加される方へ
•
•
•
•
ネットワークは外部にも接続できます。
有線・無線とも利用可能ですが、有線接続推奨です。
ホストPCのFirewallはOFFにしておいてください。
OpenRTMのページを開いておいてください
– http://192.168.11.100
– http://www.is.aist.go.jp/rt/OpenRTM-aist
• VMwareを起動させておいてください。
– VMwareはホストPCがネットワークに接続された後(IP取得後)に起動させて
ください。
• VMのFedoraのユーザ名,パスワード, rootパスワード
– すべて “openrtm” です
• VMのFedoraにはsamba経由でアクセスできます
– /sbin/ifconfig eth0 でIPアドレスを調べ、エクスプローラのアドレスバーに以
下を入力
– \\[VMのIPアドレス]\openrtm
2007.05.10 RTミドルウエア講習会
1
ROBOMEC2007チュートリアル
RTミドルウエア講習会
日時:2007年5月10日 13:30~17:30
場所:ホテル メトロポリタン秋田 4F きりの間
2007.05.10 RTミドルウエア講習会
RTミドルウエア講習会
第1部:OMG標準準拠ミドルウェアOpenRTM-aist-0.4.0について
13:3013:50
担当:安藤慶昭 (産総研)
概要:2006年11月にOMG (Object Management Group) で採択された RTコンポーネント標準
仕様のおよび、 これに準拠したRTミドルウエアの 新しいリリース OpenRTM-aist-0.4.0の
概要を解説します。
第2部:OpenRTM-aist-0.4.0の環境構築
14:0015:00
担当:安藤慶昭(産総研)
概要:OpenRTM-aist-0.4.0 の環境構築方法や、 サンプルコンポーネントの実行操作ツール
RtcLinkによる 基本的な操作方法について実習形式で解説します。
第3部:RTミドルウェアの各種ツール群について
15:1516:15
担当:坂本武志(テクノロジックアート)
概要:OpenRTM-aist-0.4.0 に付属するテンプレートコードジェネレータ rtc-template を拡張した
統合開発環境のインストール方法、基本的操作方法、 および、UMLモデリングツール
PatternWeaverを使った、新しいコンポーネント 開発方法について解説します。
第4部:OpenRTM-aist-0.4.0の使い方
16:3017:30
担当:安藤慶昭(産総研)
概要:実際に簡単なコンポーネントを参加者に作成していただき、 OpenRTM-aistによるコンポ
ーネント開発を体験していただきます。
2007.05.10 RTミドルウエア講習会
第1部 OMG標準準拠ミドルウェア
OpenRTM-aist-0.4.0について
独立行政法人 産業技術総合研究所
知能システム研究部門
タスク・インテリジェンス研究グループ
安藤 慶昭
2007.05.10 RTミドルウエア講習会
概要
•
•
•
•
RTミドルウエア
OMG標準化について
OpenRTM-aist-0.4.0の位置付け
OpenRTM-aist-0.4.0の新機能紹介
2007.05.10 RTミドルウエア講習会
RTミドルウエアとは?
• RT = Robot Technology
cf. IT
– ≠Real-time
– 単体のロボットだけでなく、さまざまなロボット技術に基づく機能要素
をも含む (センサ、アクチュエータ, 制御スキーム、アルゴリズム、
etc….)
+
+
+
+
+
RT-Middleware
• RT-Middleware
– RT要素のインテグレーションのためのミドルウエア
• RT-Component
– RT-Middlewareにおけるソフトウエアの基本単位
2007.05.10 RTミドルウエア講習会
6
RTミドルウエアとは
アルゴリズム
ライブラリ
サブシステム
既存のコンポーネントの再利用
に よるシ ス テム インテ グ レ ー シ ョン の 効 率 化
コンポ ー ネ ント指 向 シ ス テム インテ グ レ ー シ ョン
を サ ポ ー トす るプラットフォー ム
||
RT ミドル ウ エ ア
これ ま で 研 究 ・開 発 され て き た
有 形 ・無 形 の ア ル ゴ リ ズ ム ・知 識
をコンポ ー ネント化 す る
R Tミ ド ル ウ エ ア に よ り 構 築 さ れ る R Tシ ス テ ム
RT コンポ ー ネ ントフレー ムワー ク
O p e n R T M - a is t
固有機能
の実装
入出力ポート
サ ービスインターフェー ス
蓄 積 さ れ た R Tソ フ ト ウ エ ア 資 産
2007.05.10 RTミドルウエア講習会
7
OMGにおける標準化
OMG (Object Management Group)
• 国際的ソフトウエア標準化団体
• UML、CORBAなどの仕様策定
RFP
Request for Proposal
提案A
• RFPが発行される
• 標準化を希望するベンダが提案
を持ち寄る
• 合意ベースのプロセスに基づき
標準仕様を策定
• ABにおいて承認(事実上の標
準)
• FTFにおいて最終文書化
• OMG標準としてオープンに…
OOの標準化に関して
提案がある人は手を
上げてください
提案B
提案C
提案者間の
合意に基づく
標準化プロセス
AB (Architecture Board:)
=標準作業部会
FTF(Finalization Task Force)
=最終文書化委員会
現在はこの段階
OMG標準
2007.05.10 RTミドルウエア講習会
8
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リリース予定
2007.05.10 RTミドルウエア講習会
9
RTC標準仕様概要
pd RTC Packages
«profile»
RTC
SDOPackage
Execution Semantics
Introspection
(from External Models)
Lightw eight RTC
(from Robotic Technology Components)
2007.05.10 RTミドルウエア講習会
•
3つのパッケージから
構成される:
– Lightweight RTC
– Execution
Semantics
– Introspection
10
1. Lightweight RTC
pd RTC Packages
«profile»
RTC
SDOPackage
Execution Semantics
Introspection
(from External Models)
Lightw eight RTC
(from Robotic Technology Components)
component
• Lightweight RTC
– コンポーネントおよびポート
のステレオタイプを定義
– コンポーネントのライフサイク
ルを定義
– スレッドの抽象表現である
ExecutionContextを定義
– リフレクション、イントロスペク
ションインターフェースは無く
スタティックなシステム構成
のためのコンポーネント
port
state machine
2007.05.10 RTミドルウエア講習会
11
2. Execution Semantics
pd RTC Packages
«profile»
RTC
SDOPackage
Execution Semantics
Introspection
•
Execution Semantics
–
(from External Models)
Lightw eight RTC
(from Robotic Technology Components)
Data flow
FSM
request
response
ロボットシステムにおいて
一般的に用いられるコン
ポーネントの振る舞いのパ
ターンを定義
1. 同期的周期実行を行う
Dataflow コンポーネント
2. イベントドリブン方のFSMコ
ンポーネント
3. モードを複数持つことがで
きるMultiModalコンポーネ
ント
Multi Modal
2007.05.10 RTミドルウエア講習会
12
3. Introspection
pd RTC Packages
«profile»
RTC
SDOPackage
Execution Semantics
Introspection
(from External Models)
Lightw eight RTC
(from Robotic Technology Components)
RTC
SDO
component
•
Introspection
– 実行時にコンポーネン
トのメタ情報を得るた
めのインターフェース
– 既存のOMG標準の
Super-Distributed
Objects (SDO)の仕様
を利用
– RTCインターフェース
– 動的に構成を変更する
コンポーネント統合の
ための仕様
port
state machine
2007.05.10 RTミドルウエア講習会
13
OMG RTC標準のまとめ
• ロジックと実行主体の分離、関連の自由度
– ExecutionContext⇔RTC:多対多
• コンポーネントのパターン
– Execution Semantics:3種類
• ポート
– 汎用的なポート(UMLに準拠)&接続のみ管理
– 通信方式については未定義
• メタ情報取得・その他
– RTCインターフェース+SDOインターフェース
– Configurationインターフェースの追加
2007.05.10 RTミドルウエア講習会
OpenRTM-aist-0.4.0
• OpenRTM-aist-0.2.0 (2005年5月リリース)
– 同意書提出者に対して配布
– 100件程度
• OpenRTM-aist-0.3.0
– 共同研究者に対してのみのクローズドなリリース
– サービスの導入
• OpenRTM-aist-0.4.0(2007年5月リリース)
– OMG RTC標準仕様検証のための実装
• OMG標準(RTC)準拠+AIST拡張+ミドルウエア
– LGPL(or個別ライセンスのデュアルライセンス)でリリース
• Web上で一般に公開
2007.05.10 RTミドルウエア講習会
OMG標準とOpenRTM-aist
PIM
<<PIM>>
RTC
Specification
<<mapping>>
PSM
<<PSM>>
RTC
CORBA PSM
標準化作業
拡張
仕様の追加
<<PSM>>
RTC
CCM PSM
<<use>>
<<interface>>
OpenRTM-aist
Ext. interface
<<PIM>>
SDO
Specification
<<PSM>>
RTC
Local PSM
他のプラットフォームにおけるモデル
実際に使用するには
インターフェースや
仕様の追加が必要
<<type>>
OpenRTM-aist
Basic types
<<implements>>
実装
Other RTM
OpenRTM-aist
AISTによる実装
2007.05.10 RTミドルウエア講習会
他のベンダによる実装
RTコンポーネントアーキテクチャ
OpenRTM-aist-0.4.0
• アクティビティ
– ユーザ定義ロジックの実行
• データポート
– Data Centric な相互作用
• サービスポート
S D O In te rfa c e s
R T C In te rfa c e s
R T C E x In te rfa c e s
– request/response型相互作用
• コンフィギュレーション
R T C o m p o n e n t S e rv ic e
RTC S C onsum er
RTCom ponent
C onsum er
– ユーザ定義の設定
P ro xy
p ro v id e
S e rv ic e
A c tiv ity
サービスポート
C onsum er
P ro xy
S e rv ic e
p ro v id e
use
Architecture
S ta t e Mof
a cRT
h i n ecomponent
O u tP o rt0
In P o rt 0
B u ff e r
In P o rt n
put
データポート
get
B u ff e r
2007.05.10 RTミドルウエア講習会
g e t, s u b s c r ib e
O utP o rt n
B u ff e r
r e p ly
In P o rt
put
B u ff e r
r e p ly
push
O utP o rt
17
アクティビティ
RTコンポーネントは状態を持ち
各状態で行うべきアクションの
コールバックが定義されている。
コールバックオブジェクト
= RTコンポーネント
RTC State Machine
コールバックオブジェクト
activate
= RTコンポーネント
Inactive
Active
コールバックオブジェクト
deactivate
error
= RTコンポーネント
コールバックオブジェクト
reset
Error
= RTコンポーネント
コンポーネント開発者は各状態でのアクションを ユーザ定義のコールバック
フレームワークに従って定義する
実行コンテキスト
2007.05.10 RTミドルウエア講習会
18
データポート
• データ指向(Data Centric)な
ストリームポート
– 型:long, double×6, etc…
• ユーザが任意に定義可能
– 出力:OutPort
– 入力:InPort
• 接続制御(接続時に選択可能)
– Interface type
• CORBA,TCP socket,
other protocol, etc…
A c tiv ity
P u b lis h e r
C O R B A I/F
N o t if y
i n p oprut t. (pduatt(ad)a t a ) o p e r a t i o n
b u ff e r
O rig in a l P ro to c o l
(a ) “ n e w ” ty p e s u b s c rip tio n
a s yn c h ro n o u s
R aw TC P Socket
(a ) P u s h (p u b lis h e r/s u b s c rib e r) c o m m u n ic a tio n m o d e l
A c tiv ity
P u b lis h e r
T im e r
p u t(d a ta )
o u tp o rt.g e t() o p e ra tio n
b u ff e r
C o n n e c te d b y o rig in a l p ro to c o l
(b ) “ p e rio d ic ” ty p e s u b s c rip tio n
– Data flow type
• push/pull
A c tiv ity
D a ta tra n s fe r th ro u g h “O rig in a l P ro to c o l”
– Subscription type
(b) Pp
u lult c( do amt am) u n i c a t i o n m o d e l
• Flush, New, Periodic
s yn c h ro n o u s
2007.05.10 RTミドルウエア講習会
(c ) “ flu s h ” ty p e s u b s c rip tio n
19
サービスポート
• 任意に定義可能なインター
フェースを持つポート
• サービスプロバイダ
– サービスを提供する
MyRobot
Service
Provider
MyRobot
Service
Consumer
• サービスコンシューマ
Port
– サービスを利用する
• 一つのポートに任意のプロ
バイダ・コンシューマを関連
付けることができる。
• ポートがインターフェースの
接続を管理
2007.05.10 RTミドルウエア講習会
Connect
20
コンフィギュレーション
• コンフィギュレーション
セット名
名前
値
– ユーザ定義の設定
セット名
名前
値
セット名
名前
値
• コンフィギュレーションセット
–
–
–
–
–
–
セット名、名前:値のリスト
複数のセットを保持
一つのアクティブセット
セットの書き換えが可能
セットの追加、削除が可能
動作中のセットの切替が可
能(アクティブ化)
– アクティブ化されると実際の
変数に反映される
2007.05.10 RTミドルウエア講習会
まとめ
• OMG標準化
– OMG RTC Specification
• OMG RTC と OpenRTM-aist-0.4.0
• 変更点
– アクティビティ
– ポート
– コンフィギュレーション
2007.05.10 RTミドルウエア講習会