robomec2007 チュートリアル rt ミドルウエア講習会

21
2007.05.10 RT ミミミミミミミミミ ROBOMEC2007 ミミミミミミミ RT ミミミミミミミミミ ミミ2007 ミ 5 ミ 10 ミ 13:30 17:30 ミミ ミミミ ミミミミミミミミミ 4F ミミミミ

Upload: adia

Post on 22-Jan-2016

49 views

Category:

Documents


8 download

DESCRIPTION

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

TRANSCRIPT

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

2007.05.10 RT ミドルウエア講習会

ROBOMEC2007 チュートリアル

RT ミドルウエア講習会

日時: 2007 年 5 月 10 日 13:30 ~ 17:30

場所:ホテル メトロポリタン秋田 4F きりの間

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

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 によるコンポーネント開発を体験していただきます。

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

2007.05.10 RT ミドルウエア講習会

第 2 部 OpenRTM-aist-0.4.0 の    環境構築

独立行政法人 産業技術総合研究所知能システム研究部門タスク インテリジェンス研究グループ・安藤 慶昭

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

2007.05.10 RT ミドルウエア講習会

概要

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

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

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

分散オブジェクト

プロキシオブジェクト

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

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

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

2007.05.10 RT ミドルウエア講習会

なぜ OpenRTM を使うのか?

• CORBA をマスターするのは大変!

• たくさんのおまじないが必要!

• 毎回同じことを書かなくてはいけない!

• メインのロジックに集中できない!

• あなたのシステムと私のシステムはきっと接続できない!!

CORBA の学習曲線

時間ス

キル

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

2007.05.10 RT ミドルウエア講習会

OpenRTM を使った開発の流れ

ユーザが作ったライブラリ・クラス

OpenRTM開発環境

RT コンポーネント

分散システムで利用

他のシステムで再利用

この部分がきちんと

できていることが非常に大事

OpenRTM を使えば

簡単に分散オブジェクトになる。

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

2007.05.10 RT ミドルウエア講習会

OpenRTM を使った開発の流れ

9

コンポーネントの仕様

RtcTemplateコードの雛型( C++ のクラ

ス)

コアロジック

RTC 開発者が開発したプログラム資産

.so or DLL雛型にコアロジッ

クを埋め込む

コンパイルコード生成

どのようなコンポーネントか?・名前・データポート・サービスポート・コンフィギュレーション

実行

マネージャ(ミドルウエ

ア)

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

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

操作・接続

コアロジックコンポーネント開発者が実装

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

2007.05.10 RT ミドルウエア講習会

OpenRTM-aist インストール

依存パッケージ群のインストール

OpenRTM-aist のビルド

OpenRTM-aist のテスト

OpenRTM-aist のインストール

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

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/

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

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

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

2007.05.10 RT ミドルウエア講習会

OpenRTM-aist のビルド

• ./configure ; make でビルド可能– デフォルトでは /usr/local の下に実行ファイ

ル・ライブラリなどがインストールされる– Linux では ./configure --prefix=/usr とすると

LD_LIBRARY_PATH を設定する必要がない• オプション

– ./configure –help を参照• ビルド完了後

– su, make install でインストール

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

2007.05.10 RT ミドルウエア講習会

テスト1

付属のサンプル (SimpleIO) を実行• example/SimpleIO でテストを行う• ./run.sh を実行• Terminal が 2 つ開く

– ConsoleIn: 数字を打ち込む– ConsoleOut: 数字が表示される

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

2007.05.10 RT ミドルウエア講習会

テスト 2

実際にコンポーネントを作成• rtc-template のテスト• rtc-template –help でヘルプを表示• 最後の Example のコマンドを実行

– その前に MyService.idl, YourService.idl を作成• 生成されたソースをビルド

– make –f Makefile.Sample• rtc.conf を作成• ネームサーバを起動• コンポーネントを起動

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

2007.05.10 RT ミドルウエア講習会

RtcLink

• コンポーネントを操作する為の GUI ツール

• ネームサーバに登録されているコンポーネントであれば、リモートからでも操作可能

• Eclipse のプラグインとして実装

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

2007.05.10 RT ミドルウエア講習会

Eclipse

• Eclipse– Java で実装された統合開発環境のためのプ

ラットフォーム–全てがプラグインとして構成されている– プラグインを利用して拡張可能– OpenRTM-aist の開発環境として採用–現在のところ RtcLink 、 RtcTemplate が

Eclipse プラグイン化されている

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

2007.05.10 RT ミドルウエア講習会

Java ・ Eclipse のインストール

• Java のインストール– jre-6u1-windows-i586-p-s.exe を実行

• Eclipse のインストール– eclipse32_rtclink_rtctemplate.zip を展開

• 詳細なインストール方法は OpenRTM-aistの Web を参照してください。

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

2007.05.10 RT ミドルウエア講習会

RtcLink の起動

• Eclipse を起動• パースペクティブ: RtcLink を選択• ネームサーバへ接続• コンポーネントを操作

– SeqIO で試してみてください

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

2007.05.10 RT ミドルウエア講習会

まとめ• OpenRTM-aist のインストール

– パッケージのインストール– OpenRTM-aist のビルド– OpenRTM-aist のインストール– テストの実行

• RtcLink 、 RtcTemplate– Java インストール– Eclipse インストール– Rtc Link 、 RtcTemplate インストール– RtcLink 実行