robomec2007 チュートリアル rt ミドルウエア講習会
DESCRIPTION
ROBOMEC2007 チュートリアル RT ミドルウエア講習会. 日時: 2007 年 5 月 10 日 13:30 ~ 17:30 場所:ホテル メトロポリタン秋田 4F きりの間. RT ミドルウエア講習会. 第 2 部 OpenRTM-aist-0.4.0の 環境構築. 独立行政法人 産業技術総合研究所 知能システム研究部門 タスク・インテリジェンス研究グループ 安藤 慶昭. 概要. 依存パッケージのインストール OpenRTM インストール Java ・ Eclipse インストール RtcLink のインストール - PowerPoint PPT PresentationTRANSCRIPT
2007.05.10 RT ミドルウエア講習会
ROBOMEC2007 チュートリアル
RT ミドルウエア講習会
日時: 2007 年 5 月 10 日 13:30 ~ 17:30
場所:ホテル メトロポリタン秋田 4F きりの間
2007.05.10 RT ミドルウエア講習会
RT ミドルウエア講習会
13:30-13:50
第 1部: OMG標準準拠ミドルウェア OpenRTM-aist-0.4.0について
担当:安藤慶昭 ( 産総研 )
概要: 2006 年 11 月に OMG (Object Management Group) で採択された RT コンポーネント標準仕様のおよび、 これに準拠した RT ミドルウエアの 新しいリリース OpenRTM-aist-0.4.0 の概要を解説します。
14:00-15:00
第 2部: OpenRTM-aist-0.4.0の環境構築担当:安藤慶昭 ( 産総研 )
概要: OpenRTM-aist-0.4.0 の環境構築方法や、 サンプルコンポーネントの実行操作ツール RtcLink による 基本的な操作方法について実習形式で解説します。
15:15-16:15
第 3部: RTミドルウェアの各種ツール群について担当:坂本武志 ( テクノロジックアート )
概要: OpenRTM-aist-0.4.0 に付属するテンプレートコードジェネレータ rtc-template を拡張した統合開発環境のインストール方法、基本的操作方法、 および、 UML モデリングツール PatternWeaver を使った、新しいコンポーネント 開発方法について解説します。
16:30-17:30
第 4部: OpenRTM-aist-0.4.0の使い方担当:安藤慶昭 ( 産総研 )
概要:実際に簡単なコンポーネントを参加者に作成していただき、 OpenRTM-aist によるコンポーネント開発を体験していただきます。
2007.05.10 RT ミドルウエア講習会
第 2 部 OpenRTM-aist-0.4.0 の 環境構築
独立行政法人 産業技術総合研究所知能システム研究部門タスク インテリジェンス研究グループ・安藤 慶昭
2007.05.10 RT ミドルウエア講習会
概要
• 依存パッケージのインストール• OpenRTM インストール• Java ・ Eclipse インストール• RtcLink のインストール• RtcTemplate のインストール
2007.05.10 RT ミドルウエア講習会
分散オブジェクトとは?
• システムの機能分割と分散配置
• コンポーネント化と再利用• 標準技術の採用と相互運用性
オブジェクト指向+
ネットワーク
• 代表例– CORBA(Common Object Request Broker) 、– JavaRMI (Java Remote Method Invocation),– EJB (Enterprise Java Beans)– DCOM, HORB etc…
計算機 AOS A
計算機 BOS B
計算機 COS C
計算機 DOS D
ミドルウエア
アプリ A アプリ B アプリ C
分散オブジェクト
プロキシオブジェクト
2007.05.10 RT ミドルウエア講習会
CORBA での例
<<IDL 定義 >>
interface MobileRobot {
void gotoPos(position pos);
}
<< サーバ実装 >>
class MobileRobot_Impl
: public virtual POA_RTM::MobileRobot,
public virtual PortableServer::RefCountServantBase
{
void gotoPos(position pos) {
MobileRobot::gotoPos の実装 }
}
<< クライアント >>
MobileRobot_var robot;
robot = { 何らかの方法でオブジェクト参照を取得 }
robot->gotoPos(pos);
サーバ クライアント
IDL
メソッドgotoPos()呼び出し
サーバスケルトン クライアントスタブ
objectproxyobject
call
2007.05.10 RT ミドルウエア講習会
なぜ OpenRTM を使うのか?
• CORBA をマスターするのは大変!
• たくさんのおまじないが必要!
• 毎回同じことを書かなくてはいけない!
• メインのロジックに集中できない!
• あなたのシステムと私のシステムはきっと接続できない!!
CORBA の学習曲線
時間ス
キル
2007.05.10 RT ミドルウエア講習会
OpenRTM を使った開発の流れ
ユーザが作ったライブラリ・クラス
OpenRTM開発環境
RT コンポーネント
分散システムで利用
他のシステムで再利用
この部分がきちんと
できていることが非常に大事
OpenRTM を使えば
簡単に分散オブジェクトになる。
2007.05.10 RT ミドルウエア講習会
OpenRTM を使った開発の流れ
9
コンポーネントの仕様
RtcTemplateコードの雛型( C++ のクラ
ス)
コアロジック
RTC 開発者が開発したプログラム資産
.so or DLL雛型にコアロジッ
クを埋め込む
コンパイルコード生成
どのようなコンポーネントか?・名前・データポート・サービスポート・コンフィギュレーション
実行
マネージャ(ミドルウエ
ア)
2007.05.10 RT ミドルウエア講習会
OpenRTM の構造• RTC フレームワーク• RTM
– omniORB (CORBA)– ACE
• RtcLink & RtcTemplate– Java– Eclipse
• EMF
• GEF
• その他
OS
omniORB ACE
RTM
RTC RTC RTC RTC RTC
JavaVM
RtcLink or RtcTemplate
Eclipse
EMF GEF
雛形作成
OpenRTM-aist
RTC RTC RTC RTC RTC
操作・接続
コアロジックコンポーネント開発者が実装
2007.05.10 RT ミドルウエア講習会
OpenRTM-aist インストール
依存パッケージ群のインストール
OpenRTM-aist のビルド
OpenRTM-aist のテスト
OpenRTM-aist のインストール
2007.05.10 RT ミドルウエア講習会
依存パッケージ
• ACE (The ADAPTIVE Communication Environment) 5.4 以上
– URL: http://www.cs.wustl.edu/~schmidt/ACE.html
• omniORB– URL: http://omniorb.sourceforge.net/
• Python 2.2 以上。– URL: http://www.python.org/
• gcc は version3 以降– URL: http://gcc.gnu.org/
2007.05.10 RT ミドルウエア講習会
依存パッケージインストール• OpenRTM-aist のソースを展開• build/ の下のパッケージインストーラを使用
– FreeBSD 5.2: pkg_install_freebsd52.sh – FreeBSD 6.x: pkg_install_freebsd6.sh – Vine Linux 3.2: pkg_install_vl32.sh – Vine Linux 4.0: pkg_install_vl4.sh – Fedora Core 4: pkg_install_fc4.sh – Fedora Core 5: pkg_install_fc5.sh – Fedora Core 6: pkg_install_fc6.sh – Debian3.1(Sarge): pkg_install_debianSarge.sh
• 上記以外の OS ・ディストリビューションでは、それぞれ手動でインストールする必要がある。
2007.05.10 RT ミドルウエア講習会
OpenRTM-aist のビルド
• ./configure ; make でビルド可能– デフォルトでは /usr/local の下に実行ファイ
ル・ライブラリなどがインストールされる– Linux では ./configure --prefix=/usr とすると
LD_LIBRARY_PATH を設定する必要がない• オプション
– ./configure –help を参照• ビルド完了後
– su, make install でインストール
2007.05.10 RT ミドルウエア講習会
テスト1
付属のサンプル (SimpleIO) を実行• example/SimpleIO でテストを行う• ./run.sh を実行• Terminal が 2 つ開く
– ConsoleIn: 数字を打ち込む– ConsoleOut: 数字が表示される
2007.05.10 RT ミドルウエア講習会
テスト 2
実際にコンポーネントを作成• rtc-template のテスト• rtc-template –help でヘルプを表示• 最後の Example のコマンドを実行
– その前に MyService.idl, YourService.idl を作成• 生成されたソースをビルド
– make –f Makefile.Sample• rtc.conf を作成• ネームサーバを起動• コンポーネントを起動
2007.05.10 RT ミドルウエア講習会
RtcLink
• コンポーネントを操作する為の GUI ツール
• ネームサーバに登録されているコンポーネントであれば、リモートからでも操作可能
• Eclipse のプラグインとして実装
2007.05.10 RT ミドルウエア講習会
Eclipse
• Eclipse– Java で実装された統合開発環境のためのプ
ラットフォーム–全てがプラグインとして構成されている– プラグインを利用して拡張可能– OpenRTM-aist の開発環境として採用–現在のところ RtcLink 、 RtcTemplate が
Eclipse プラグイン化されている
2007.05.10 RT ミドルウエア講習会
Java ・ Eclipse のインストール
• Java のインストール– jre-6u1-windows-i586-p-s.exe を実行
• Eclipse のインストール– eclipse32_rtclink_rtctemplate.zip を展開
• 詳細なインストール方法は OpenRTM-aistの Web を参照してください。
2007.05.10 RT ミドルウエア講習会
RtcLink の起動
• Eclipse を起動• パースペクティブ: RtcLink を選択• ネームサーバへ接続• コンポーネントを操作
– SeqIO で試してみてください
2007.05.10 RT ミドルウエア講習会
まとめ• OpenRTM-aist のインストール
– パッケージのインストール– OpenRTM-aist のビルド– OpenRTM-aist のインストール– テストの実行
• RtcLink 、 RtcTemplate– Java インストール– Eclipse インストール– Rtc Link 、 RtcTemplate インストール– RtcLink 実行