1 / 21

ROBOMEC2007 チュートリアル RT ミドルウエア講習会

ROBOMEC2007 チュートリアル RT ミドルウエア講習会. 日時: 2007 年 5 月 10 日 13:30 ~ 17:30 場所:ホテル メトロポリタン秋田 4F きりの間. RT ミドルウエア講習会. 第 2 部 OpenRTM-aist-0.4.0の 環境構築. 独立行政法人 産業技術総合研究所 知能システム研究部門 タスク・インテリジェンス研究グループ 安藤 慶昭. 概要. 依存パッケージのインストール OpenRTM インストール Java ・ Eclipse インストール RtcLink のインストール

adia
Télécharger la présentation

ROBOMEC2007 チュートリアル RT ミドルウエア講習会

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ROBOMEC2007チュートリアルRTミドルウエア講習会ROBOMEC2007チュートリアルRTミドルウエア講習会 日時:2007年5月10日 13:30~17:30 場所:ホテル メトロポリタン秋田 4F きりの間

  2. RTミドルウエア講習会

  3. 第2部 OpenRTM-aist-0.4.0の環境構築 独立行政法人 産業技術総合研究所 知能システム研究部門 タスク・インテリジェンス研究グループ 安藤 慶昭

  4. 概要 • 依存パッケージのインストール • OpenRTMインストール • Java・Eclipseインストール • RtcLinkのインストール • RtcTemplateのインストール

  5. 分散オブジェクトとは? • システムの機能分割と分散配置 • コンポーネント化と再利用 • 標準技術の採用と相互運用性 オブジェクト指向 + ネットワーク • 代表例 • CORBA(Common Object Request Broker)、 • JavaRMI (Java Remote Method Invocation), • EJB (Enterprise Java Beans) • DCOM, HORB etc… プロキシ オブジェクト アプリA アプリB アプリC ミドルウエア 分散オブジェクト 計算機A OS A 計算機B OS B 計算機C OS C 計算機D OS D

  6. <<IDL 定義>> interface MobileRobot { void gotoPos(position pos); } <<サーバ実装>> class MobileRobot_Impl : public virtual POA_RTM::MobileRobot, public virtual PortableServer::RefCountServantBase { voidgotoPos(position pos) { MobileRobot::gotoPos の実装 } } <<クライアント>> MobileRobot_var robot; robot = {何らかの方法でオブジェクト参照を取得} robot->gotoPos(pos); CORBAでの例 サーバスケルトン クライアントスタブ IDL サーバ クライアント object proxy object メソッド gotoPos() 呼び出し call

  7. CORBAをマスターするのは大変! たくさんのおまじないが必要! 毎回同じことを書かなくてはいけない! メインのロジックに集中できない! あなたのシステムと私のシステムはきっと接続できない!! なぜOpenRTMを使うのか? スキル CORBAの学習曲線 時間

  8. OpenRTM 開発環境 ユーザが作った ライブラリ・クラス 分散システム で利用 他のシステムで 再利用 OpenRTMを使った開発の流れ この部分がきちんと できていることが 非常に大事 RTコンポーネント OpenRTMを使えば 簡単に分散オブジェクトになる。

  9. OpenRTMを使った開発の流れ どのようなコンポーネントか? ・名前 ・データポート ・サービスポート ・コンフィギュレーション コンポーネントの仕様 コアロジック RTC開発者が開発したプログラム資産 RtcTemplate コードの雛型 (C++のクラス) コード生成 コンパイル 雛型にコアロジックを埋め込む .so or DLL マネージャ (ミドルウエア) 実行

  10. RTCフレームワーク RTM omniORB (CORBA) ACE RtcLink&RtcTemplate Java Eclipse EMF GEF その他 EMF GEF OpenRTMの構造 OpenRTM-aist コアロジック コンポーネント開発者が実装 雛形作成 操作・接続 RTC RTC RTC RTC RTC RtcLink or RtcTemplate RTC RTC RTC RTC RTC RTM omniORB ACE Eclipse OS JavaVM

  11. OpenRTM-aistインストール 依存パッケージ群のインストール OpenRTM-aistのビルド OpenRTM-aistのテスト OpenRTM-aistのインストール

  12. 依存パッケージ • 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/

  13. 依存パッケージインストール • 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・ディストリビューションでは、それぞれ手動でインストールする必要がある。

  14. OpenRTM-aistのビルド • ./configure ; make でビルド可能 • デフォルトでは /usr/local の下に実行ファイル・ライブラリなどがインストールされる • Linux では ./configure --prefix=/usr とするとLD_LIBRARY_PATHを設定する必要がない • オプション • ./configure –helpを参照 • ビルド完了後 • su, make install でインストール

  15. テスト1 付属のサンプル(SimpleIO)を実行 • example/SimpleIOでテストを行う • ./run.shを実行 • Terminal が2つ開く • ConsoleIn: 数字を打ち込む • ConsoleOut: 数字が表示される

  16. テスト2 実際にコンポーネントを作成 • rtc-templateのテスト • rtc-template –help でヘルプを表示 • 最後のExampleのコマンドを実行 • その前にMyService.idl, YourService.idlを作成 • 生成されたソースをビルド • make –f Makefile.Sample • rtc.confを作成 • ネームサーバを起動 • コンポーネントを起動

  17. コンポーネントを操作する為のGUIツール ネームサーバに登録されているコンポーネントであれば、リモートからでも操作可能 Eclipseのプラグインとして実装 RtcLink

  18. Eclipse • Eclipse • Javaで実装された統合開発環境のためのプラットフォーム • 全てがプラグインとして構成されている • プラグインを利用して拡張可能 • OpenRTM-aistの開発環境として採用 • 現在のところRtcLink、RtcTemplateがEclipseプラグイン化されている

  19. Java・Eclipseのインストール • Javaのインストール • jre-6u1-windows-i586-p-s.exeを実行 • Eclipseのインストール • eclipse32_rtclink_rtctemplate.zipを展開 • 詳細なインストール方法はOpenRTM-aistのWebを参照してください。

  20. RtcLinkの起動 • Eclipseを起動 • パースペクティブ:RtcLinkを選択 • ネームサーバへ接続 • コンポーネントを操作 • SeqIOで試してみてください

  21. まとめ • OpenRTM-aistのインストール • パッケージのインストール • OpenRTM-aistのビルド • OpenRTM-aistのインストール • テストの実行 • RtcLink、RtcTemplate • Javaインストール • Eclipseインストール • RtcLink、RtcTemplateインストール • RtcLink実行

More Related