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ミドルウエア講習会 第2部 OpenRTM-aist-0.4.0の 環境構築 独立行政法人 産業技術総合研究所 知能システム研究部門 タスク・インテリジェンス研究グループ 安藤 慶昭 2007.05.10 RTミドルウエア講習会 概要 • • • • • 依存パッケージのインストール OpenRTMインストール Java・Eclipseインストール RtcLinkのインストール RtcTemplateのインストール 2007.05.10 RTミドルウエア講習会 分散オブジェクトとは? • システムの機能分割と分散配 置 • コンポーネント化と再利用 • 標準技術の採用と相互運用性 プロキシ オブジェクト アプリA オブジェクト指向 + ネットワーク • 分散オブジェクト 代表例 – – – – CORBA(Common Object Request Broker)、 JavaRMI (Java Remote Method Invocation), EJB (Enterprise Java Beans) DCOM, HORB etc… 2007.05.10 RTミドルウエア講習会 アプリB アプリC ミドルウエア 計算機A 計算機B 計算機C 計算機D OS A OS B OS C OS D 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 の実装 } } 2007.05.10 RTミドルウエア講習会 <<クライアント>> MobileRobot_var robot; robot = {何らかの方法でオブジェクト参照を 取得} robot->gotoPos(pos); サーバスケルトン IDL サーバ クライアントスタブ クライアント proxy object object メソッド gotoPos() 呼び出し call • CORBAをマスターする のは大変! • たくさんのおまじないが 必要! • 毎回同じことを書かなく てはいけない! • メインのロジックに集中 できない! • あなたのシステムと私 のシステムはきっと接 続できない!! 2007.05.10 RTミドルウエア講習会 スキル なぜOpenRTMを使うのか? CORBAの学習曲線 時間 OpenRTMを使った開発の流れ ユーザが作った ライブラリ・クラス OpenRTM 開発環境 この部分がきちんと できていることが 非常に大事 RTコンポーネント 分散システム で利用 2007.05.10 RTミドルウエア講習会 他のシステムで 再利用 OpenRTMを使えば 簡単に分散オブジェ クトになる。 OpenRTMを使った開発の流れ どのようなコンポーネントか? ・名前 ・データポート ・サービスポート ・コンフィギュレーション コンポーネント の仕様 コードの雛型 (C++のクラス) RtcTemplate コード生成 コアロジック RTC開発者が 開発したプログ ラム資産 コンパイル .so or DLL 雛型にコアロジック を埋め込む マネージャ (ミドルウエア) 実行 2007.05.10 RTミドルウエア講習会 9 OpenRTMの構造 • RTCフレームワーク • RTM – omniORB (CORBA) – ACE OpenRTM-aist コアロジック コンポーネント開発者が実装 • RtcLink&RtcTemplate – Java – Eclipse • EMF • GEF • その他 雛形作成 操作・接続 RTC RTC RTC RTC RTC RTM omniORB EMF ACE OS 2007.05.10 RTミドルウエア講習会 RtcLink or RtcTemplate GEF Eclipse JavaVM 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インストール RtcLink、RtcTemplateインストール RtcLink実行 2007.05.10 RTミドルウエア講習会
© Copyright 2024 ExpyDoc