Comments
Description
Transcript
第2部:OpenRTM-aist
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の 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 第2部 OpenRTM-aist-0.4.0の 環境構築 独立行政法人 産業技術総合研究所 知能システム研究部門 タスク・インテリジェンス研究グループ 安藤 慶昭 2007.05.10 RTミドルウエア講習会 概要 • • • • • 依存パッケージのインストール OpenRTMインストール Java・Eclipseインストール RtcLinkのインストール RtcTemplateのインストール 2007.05.10 RTミドルウエア講習会 2 分散オブジェクトとは? • システムの機能分割と分散配 置 • コンポーネント化と再利用 ポ • 標準技術の採用と相互運用性 プロキシ オブジェクト アプリA オブジェクト指向 + ネットワーク • – – – – CORBA(Common Object Request Broker)、 JavaRMI (Java Remote Method Invocation), EJB (Enterprise Java Beans) DCOM, HORB etc… アプリC ミドルウエア 分散オブジェクト 代表例 アプリB 計算機A 計算機B 計算機C 計算機D OS A OS B OS C OS D 2007.05.10 RTミドルウエア講習会 CORBAでの例 <<IDL 定義>> interface MobileRobot { void id gotoPos(position P ( i i pos); ) } <<サーバ実装>> class MobileRobot_Impl : public virtual POA_RTM::MobileRobot, public virtual PortableServer::RefCountServantBase { void gotoPos(position pos) { MobileRobot::gotoPos の実装 } } <<クライアント>> MobileRobot_var M bil R b robot; b robot = {何らかの方法でオブジェクト参照を 取得} robot->gotoPos(pos); サーバスケルトン IDL サーバ クライアントスタブ クライアント proxy object object メソッド gotoPos() 呼び出し call 2007.05.10 RTミドルウエア講習会 3 • CORBAをマスターする のは大変! • たくさんのおまじないが 必要! • 毎回同じことを書かなく てはいけない! • メインのロジックに集中 できない! • あなたのシステムと私 のシステムはきっと接 続できない!! スキル なぜOpenRTMを使うのか? CORBAの学習曲線 時間 2007.05.10 RTミドルウエア講習会 OpenRTMを使った開発の流れ ユーザが作った ライブラリ・クラス OpenRTM 開発環境 この部分がきちんと できていることが 非常に大事 RTコンポーネント 分散システム で利用 他のシステムで 再利用 OpenRTMを使えば 簡単に分散オブジェ クトになる。 2007.05.10 RTミドルウエア講習会 4 OpenRTMを使った開発の流れ どのようなコンポーネントか? ・名前 ・データポート ・サービスポート ・コンフィギュレーション コンポーネント の仕様 仕様 コアロジック RTC開発者が 開発したプログ ラム資産 コードの雛型 (C++のクラス) RtcTemplate コード生成 コンパイル 雛型にコア ジック 雛型にコアロジック を埋め込む .so or DLL マネージャ (ミドルウエア) 実行 9 2007.05.10 RTミドルウエア講習会 OpenRTMの構造 • RTCフレームワーク • RTM – omniORB (CORBA) – ACE OpenRTM-aist コアロジック コンポーネント開発者が実装 • RtcLink&RtcTemplate – Java – Eclipse • EMF • GEF • その他 雛形作成 操作・接続 RTC RTC RTC RTC RTC RTM omniORB EMF ACE OS RtcLink or RtcTemplate GEF Eclipse JavaVM 2007.05.10 RTミドルウエア講習会 5 OpenRTM-aistインストール 依存パッケージ群のインストール OpenRTM-aistのビルド O OpenRTM-aistのテスト RTM i tのテスト OpenRTM-aistのインストール 2007.05.10 RTミドルウエア講習会 依存パッケージ • ACE (The ADAPTIVE Communication Environment) 5.4 以上 – URL: http://www http://www.cs.wustl.edu/~schmidt/ACE.html 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ミドルウエア講習会 6 依存パッケージインストール • OpenRTM-aistのソースを展開 • build/の下のパッケージインストーラを使用 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 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ミドルウエア講習会 7 テスト1 付属のサンプル(SimpleIO)を実行 • example/SimpleIOでテストを行う • ./run.shを実行 • Terminal が2つ開く – ConsoleIn: 数字を打ち込む – ConsoleOut: 数字が表示される 数字が表 される 2007.05.10 RTミドルウエア講習会 テスト2 実際にコンポーネントを作成 • rtc-templateのテスト rtc templateのテスト • rtc-template –help でヘルプを表示 • 最後のExampleのコマンドを実行 – その前にMyService.idl, YourService.idlを作成 • 生成されたソースをビルド – make –f Makefile.Sample • rtc.confを作成 t fを作成 • ネームサーバを起動 • コンポーネントを起動 2007.05.10 RTミドルウエア講習会 8 RtcLink • コンポーネントを操作す る為のGUIツール • ネームサーバに登録さ れているコンポーネント であれば、リモートから でも操作可能 • Eclipseのプラグインと して実装 2007.05.10 RTミドルウエア講習会 Eclipse • Eclipse – Javaで実装された統合開発環境のためのプラッ 実装され 統合 境 プ トフォーム – 全てがプラグインとして構成されている – プラグインを利用して拡張可能 – OpenRTM-aistの開発環境として採用 p – 現在のところRtcLink、RtcTemplateがEclipseプ ラグイン化されている 2007.05.10 RTミドルウエア講習会 9 Java・Eclipseのインストール • Javaのインストール – jre-6u1-windows-i586-p-s.exeを実行 を実 • Eclipseのインストール – eclipse32_rtclink_rtctemplate.zipを展開 • 詳細なインスト 詳細なインストール方法はOpenRTM-aistの ル方法はOpenRTM aistの Webを参照してください。 2007.05.10 RTミドルウエア講習会 RtcLinkの起動 • • • • Eclipseを起動 パースペクティブ:RtcLinkを選択 ブ ネームサーバへ接続 コンポーネントを操作 – SeqIOで試してみてください 2007.05.10 RTミドルウエア講習会 10 まとめ • OpenRTM-aistのインストール – – – – パッケ ジのインスト ル パッケージのインストール OpenRTM-aistのビルド OpenRTM-aistのインストール テストの実行 • RtcLink、RtcTemplate – – – – Javaインストール Eclipseインストール RtcLink、RtcTemplateインストール RtcLink実行 2007.05.10 RTミドルウエア講習会 11