SlideShare a Scribd company logo
1 of 70
Download to read offline
RTミドルウェア講習会
日時:2012年5月22日(水) 10:00~16:45
場所:つくば国際会議場 小会議室303
2013.5.22 ROBOMEC2013 RTM講習会 2
RTミドルウェア講習会
11:00-
 11:50
第1部( その2) :OpenRTM-aistおよびRTコンポーネントプログラミングの概要
担当:安藤 慶昭(産業技術総合研究所)
概要:RTミドルウエアはロボットシステムをコンポーネント指向で構築するソフトウエアプラットフォームです。RTミドルウエ
アを利用することで、既存のコンポーネントを再利用し、モジュール指向の柔軟なロボットシステムを構築することができま
す。RTミドルウエアの産総研による実装であるOpenRTM-aistについてその概要およびRTコンポーネントの機能やプログ
ラミングの流れについて説明します。
10:00-
  10:50
第1部( その1) :インターネットを利用したロボットサービスとRSi の取り組み( 最新動向)
担当:成田 雅彦(産業技術大学院大学)
概要:インターネットやクラウドとロボットとの連携は急速に注目を集めている領域です。本講演では、インターネットやクラ
ウドとロボットとの連携の動向を外観し、RSi(ロボットサービスイニシアティブ)の仕様であるRSNPと最新の取り組みを紹
介します。
11:50-
12:00
質疑応答・意見交換
13:00-
14:00
第2部:RTコンポーネントの作成入門
担当:坂本 武志(株式会社グローバルアシスト)
概要:RTCBuilderを使用したRTコンポーネントの作成方法を実習形式で体験していただきます。
12:00-
13:00
昼食
14:00-
16:45
第3部:プログラミング実習
担当:Geoffrey Biggs,原功,安藤慶昭(産業技術総合研究所),坂本武志(株式会社グローバルアシスト)
概要:OpenRTM-aistを利用してコンポーネントを作成し実際にロボットを動かしていただきます。
今回は2つのコース (Kobuki & Raspberry Piコース, G-ROBOT & Choreonoidコース) を用意しました。
2013.5.22 ROBOMEC2013 RTM講習会 3
第2部 RTコンポーネントの作成入門
株式会社 グローバルアシスト
坂本 武志
2013.5.22 ROBOMEC2013 RTM講習会 4
OpenRT Pl at f or m
 ロボット知能ソフトウェアプラットフォーム
 ht t p: / / www. openr t p. j p/ wi ki /
 システム設計,シミュレーション,動作生成,シナリオ生成などを
サポート
 OpenRT Pl at f or mツール群
 コンポーネント開発,システム開発における各開発フェーズの作業
支援
 開発プラットフォームにEcl i pseを採用
 構成
 RTCビルダ
 RTCデバッガ
 RTシステムエディタ
 ロボット設計支援ツール
 シミュレータ
 動作設計ツール
 シナリオ作成ツール
2013.5.22 ROBOMEC2013 RTM講習会 5
統合開発環境Ecl i pse
 オープンソース・コミュニティで開発されている統合開発
環境
 マルチプラットフォーム対応. Wi ndowsやLi nuxなど複数OS上で利用
可能
 「Pl ug- i n」形式を採用しており,新たなツールの追加,機能のカス
タマイズが可能
 RCP( Ri ch Cl i ent Pl at f or m) を利用することで,簡単に単独アプリ
化が可能
Java VMJava VM
Eclipse PlatformEclipse Platform
JDTJDT
EclipseSDK
CDTCDT PyDevPyDev
RTCBuilderRTCBuilder・・・ RTSystemEditorRTSystemEditor ・・・
コミュニティから提供されているプラ
グイン
ユーザが開発したプラグイ
ン
2013.5.22 ROBOMEC2013 RTM講習会 6
RTCBui l der , RTSyst emEdi t or のインストール
 ダウンロードし,解凍するだけ
※Javaの実行環境については,別途インストールが必要
2013.5.22 ROBOMEC2013 RTM講習会 7
Fl i pコンポーネントについて
 入力画像を反転して出力するコンポーネント
 OpenCVのcvFl i p関数を利用
コンポーネント開発ツール
RTCBuilderについて
2013.5.22 ROBOMEC2013 RTM講習会 9
RTCBui l der 概要
 RTCBui l der とは?
 コンポーネントのプロファイル情報を入力し,ソースコード等の雛
形を生成するツール
 開発言語用プラグインを追加することにより,各言語向けRTCの雛形
を生成することが可能
 C++
 Java
 Pyt hon
※C++用コード生成機能は
Rt cBui l der 本体に含まれていま
す.
※その他の言語用コード生成機能
は追加プラグインとして提供さ
れています
2013.5.22 ROBOMEC2013 RTM講習会 10
画面構成
ビルドビュー
ヒン
ト
RTCプロファイルエディタ
パッケージ・
 エクスプ
ローラ
2013.5.22 ROBOMEC2013 RTM講習会 11
ツールの起動
 Wi ndowsの場合
 Ecl i pse. exeをダブルクリック
 Uni x系の場合
 ターミナルを利用してコマンドラインから起動
 Ex) $ / usr / l ocal / Ecl i pse/ ecl i pse
 ワークスペースの選択( 初回起動時)  ワークスペースの切替( 通常
時)
※ワークスペース
Ecl i pseで開発を行う際の作業領域
  Ecl i pse上でプロジェクトやファイルを作成
するとワークスペースとして指定したディレク
トリ以下に実際のディレクトリ,ファイルを作
成する
2013.5.22 ROBOMEC2013 RTM講習会 12
準備
 初期画面のクローズ
 初回起動時のみ
 パースペクティブの切り替え
①画面右上の「パースペクティブを開
く」
  を選択し,一覧から「その他」を選
択
②一覧画面から対象ツールを選
択
※パースペクティブ
 Ecl i pse上でツールの構成を管理する単
位
 メニュー,ツールバー,エディタ,
ビューなど
 使用目的に応じて組み合わせる
独自の構成を登録することも可能
2013.5.22 ROBOMEC2013 RTM講習会 13
プロジェクト作成/エディタ起動
②「プロジェクト名」欄に入力し,
「終了」
※任意の場所にプロジェクトを作成したい場合
  ②にて「デフォルト・ロケーションの使用」チェック
ボックスを外す
  「参照」ボタンにて対象ディレクトリを選択
→物理的にはワークスペース以外の場所に作成され
る
論理的にはワークスペース配下に紐付けされ
る
①ツールバー内のアイコンをクリック
プロジェクト名:
Fl i p 
※メニューから「ファイル」- 「新規」- 「プロジェクト」を選
択
【新規プロジェクト】画面にて「その他」-
「Rt cBui l der 」を選択し,「次へ」
※メニューから「ファイル」- 「Open New Bui l der Edi t or 」
を選択
2013.5.22 ROBOMEC2013 RTM講習会 14
プロファイル インポート
①「基本」タブ下部の「インポート」ボタ
ン
  をクリック
②【インポート】画面にて対象ファ
イルを
選択
 作成済みのRTコンポーネント情報を再利用
 「エクスポート」機能を利用して出力したファイルの読み込みが可能
 コード生成時に作成されるRt cPr of i l eの情報を読み込み可能
 XML形式,YAML形式での入出力が可能
2013.5.22 ROBOMEC2013 RTM講習会 15
コード生成
 コード生成
 コード生成実行後,パースペクティブを自動切替
C++版RTC → CDT
Java版RTC → JDT
      ( デフォルトインス
トール済み)
Pyt hon版 → PyDev
※生成コードが表示されな
い場合には,「リフレッ
シュ」を実行
2013.5.22 ROBOMEC2013 RTM講習会 16
コンパイル(Windows,CMake利用)
※bi nar yには,sour ceとは別のディレクトリを指定する事
を推奨※日本語は文字化けしてしまうため英数字のみのディレクトリを推奨
①GUI 版Cmakeを起動
し,sour ce,
  bi nar yのディレクトリを指
定
②「Conf i gur e」を実行し,使用
する
プラットフォームを選択
2013.5.22 ROBOMEC2013 RTM講習会 17
コンパイル(Windows,CMake利用)
③正常終了後,「Gener at e」を実
行
④bi nar yとして指定したディレクトリ内にあるソリューションファイル
を開き,
「ソリューションをビルド」を実行
2013.5.22 ROBOMEC2013 RTM講習会 18
RTCプロファイルエディタ
基本プロファイル
アクティビティ・プロファイル
データポート・プロファイル
サービスポート・プロファイル
コンフィギュレーション
ドキュメント生成
言語・環境
RTC. xml
画面要素名
RTコンポーネントのプロファイル情報など,コンポーネント
の基本情報を設定.
コード生成,インポート/ エクスポート,パッケージング処
理を実行
説明
RTコンポーネントがサポートしているアクティビティ情報を
設定
RTコンポーネントに付属するデータポートに関する情報を設
定
RTコンポーネントに付属するサービスポートおよび各サービ
スポートに付属するサービスインターフェースに関する情報
を設定
RTコンポーネントに設定するユーザ定義のコンフィギュレー
ション・パラメータセット情報およびシステムのコンフィ
ギュレーション情報を設定
生成したコードに追加する各種ドキュメント情報を設定
生成対象コードの選択やOSなどの実行環境に関する情報を設
定
設定した情報を基に生成したRTC仕様( Rt cPr of i l e) を表示
2013.5.22 ROBOMEC2013 RTM講習会 19
基本プロファイル
※エディタ内の項目名が赤字の要素は必須入力項目
※画面右側は各入力項目に関する説明
 RTコンポーネントの名称など,基本的な情報を設
定
モジュール名: Fl i p
モジュール概要: 任意( Fl i p i mage
component )
バージョン: 1. 0. 0
ベンダ名: 任意( AI ST)
モジュールカテゴリ: 任意( Cat egor y)
コンポーネント型: STATI C
アクティビティ型: PERI ODI C
コンポーネントの種類: Dat aFl ow
最大インスタンス数: 1
実行型: Per i odi cExecut i onCont ext
実行周期: 1000. 0
2013.5.22 ROBOMEC2013 RTM講習会 20
アクティビティ・プロファイル
※現在選択中のアクティビティは,一覧画面にて赤字で表示
※使用( ON) が選択されているアクティビティは,一覧画面にて背景を水色
で表示
※各アクティビティには,「動作概要」「事前条件」「事後条件」を記述可能
  →記述した各種コメントは,生成コード内にDoxygen形式で追加される
以下をチェッ
ク:
onAct i vat ed
onDeact i vat ed
onExecut e
 生成対象RTCで実装予定のアクティビティを設定
①設定対象のアクティビ
ティ
  を選択
②使用/ 未使用を設
定
2013.5.22 ROBOMEC2013 RTM講習会 21
データポート・プロファイル
※データ型は,型定義が記載されたI DLファイルを設定画面にて追加するこ
とで追加可能
※OpenRTM- ai st にて事前定義されている型については,デフォルトで使用
可能
  →[ RTM_Root ] r t m/ i dl 以下に存在するI DLファイルで定義された型
※各ポートに対する説明記述を設定可能
  →記述した各種コメントは,生成コード内にDoxygen形式で追加される
 生成対象RTCに付加するDat aPor t の情報を設定
①該当種類の欄の「Add」ボタンをクリック
し,ポートを追加後,直接入力で名称
設定
②設定する型情報を一覧から選択
2013.5.22 ROBOMEC2013 RTM講習会 22
データポート・プロファイル
※Por t の設定内容に応じて,下部のBui l dVi ewの表示が変化
● I nPor t
 ポート名: or i gi nal I mage
 データ型: RTC: : Camer aI mage
 変数名: or i gi nal I mage
 表示位置: l ef t
● Out Por t
 ポート名: f l i ppedI mage
 データ型: RTC: : Camer aI mage
 変数名: f l i ppedI mage
 表示位置: r i ght
2013.5.22 ROBOMEC2013 RTM講習会 23
サービスポート・プロファイル
 サービスインターフェースの指定
 I DLファイルを指定すると,定義されたインターフェース情報を
表示
 生成対象RTCに付加するSer vi cePor t の情報を設定
今回のサンプルでは未使用
2013.5.22 ROBOMEC2013 RTM講習会 24
コンフィギュレーション・プロファイル
※データ型は,shor t , i nt , l ong, f l oat , doubl e, st r i ngから選択可能( 直接入
力も可能)
※制約情報とWi dget 情報を入力することで,RTSyst emEdi t or のコンフィギュレー
ションビューの表示を設定することが可能
 生成対象RTCで使用する設定情報を設定
①「Add」ボタンをクリックし,追
加後,
  直接入力で名称設定
②詳細画面にて,型情報,変数名などを設
定
名称: f l i pMode
データ型: i nt
デフォルト値: 0
変数名: f l i pMode
制約条件: ( - 1, 0,
1)
Wi dget : r adi o
2013.5.22 ROBOMEC2013 RTM講習会 25
制約条件,Widgetの設定方法
 制約条件について
 データポートとコンフィギュレーションに設定可能
 チェックはあくまでもコンポーネント開発者側の責務
 ミドルウェア側で検証を行っているわけではない
 Wi dget
 t ext (テキストボックス)
 デフォルト
 sl i der (スライダ)
 数値型に対して範囲指定の場合
 刻み幅をst epにて指定可能
 spi n( スピナ)
 数値型に対して範囲指定の場合
 刻み幅をst epにて指定可能
 r adi o( ラジオボタン)
 制約が列挙型の場合に指定可能
 制約の記述書式
 指定なし:空白
 即値:値そのもの
 例) 100
 範囲:<,>,<=,>=
 例) 0<=x<=100
 列挙型: ( 値1,値2,・・・)
 例) ( val 0, val 1, val 2)
 配列型: 値1,値2,・・・
 例) val 0, val 1, val 2
 ハッシュ型: { key0:値0, key1:値
1,・・・ }
 例) { key0:val 0, key1:val 1}
※指定したWi dget と制約条件がマッチ
しない場合は,テキストボックス
を使用
2013.5.22 ROBOMEC2013 RTM講習会 26
言語・環境・プロファイル
 生成対象RTCを実装する言語,動作環境に関する情報を設定
「C++」を選択
このチェックボックスをONにす
ると,旧バージョンと同様な
コード( Cmakeを利用しない形式)
を生成
システム構築支援ツール
RTSystemEditorについて
2013.5.22 ROBOMEC2013 RTM講習会 28
準備
 パースペクティブの切り替え
①画面右上の「パースペクティブを開
く」
  を選択し,一覧から「その他」を選
択
②一覧画面から対象ツールを選
択
※パースペクティブ
 Ecl i pse上でツールの構成を管理する単
位
 メニュー,ツールバー,エディタ,
ビューなど
 使用目的に応じて組み合わせる
独自の構成を登録することも可能
2013.5.22 ROBOMEC2013 RTM講習会 29
RTSyst emEdi t or 概要
 RTSyst emEdi t or とは?
 RTコンポーネントを組み合わせて,RTシステムを構築するための
ツール
2013.5.22 ROBOMEC2013 RTM講習会 30
画面構成
システムエディタ
ネームサービスビュー
コンフィギュレーションビュー
プロパティビュー
マネージャビュー
複合コンポーネントビュー
実行コンテキストビュー
ログビュー
2013.5.22 ROBOMEC2013 RTM講習会 31
カメラ関連コンポーネントの起動
 Nami ng Ser vi ceの起動
 [ スタート] メニューから
[ プログラム] →[ OpenRTM- ai st 1. 1] →[ C++] →[ t ool s] →[ St ar t Nami ng
Ser vi ce]
 Camer aVi ewer Compの起動
 [ スタート] メニューから起動
    [ プログラム] →[ OpenRTM- ai st 1. 1] →[ C++] →[ component s]
                        →[ opencv- r t cs] →
[ Camer aVi ewer Comp. exe]
 Di r ect ShowCamCompの起動
 [ スタート] メニューから起動
    [ プログラム] →[ OpenRTM- ai st 1. 1] →[ C++] →[ component s]
                       →[ opencv- r t cs] →
[ Di r ect ShowCamComp. exe]
2013.5.22 ROBOMEC2013 RTM講習会 32
RTシステム構築の基本操作
 ネームサービスへ接続
※対象ネームサーバのアドレス,ポートを
指定
   →ポート省略時のポート番号は
    設定画面にて設定可能
 システムエディタの起動
2013.5.22 ROBOMEC2013 RTM講習会 33
RTシステム構築の基本操作
※ポートのプロパティが異なる場合など,
接続不可能なポートの場合にはアイコンが
変化
※ネームサービスビューから対象コン
ポー
ネントをドラッグアンドドロップ
①接続元のポートから接続先
の
ポートまでドラッグ
②接続プロファイルを入
力
 RTコンポーネントの配
置
 ポートの接続
2013.5.22 ROBOMEC2013 RTM講習会 34
RTシステム構築の基本操作
 コンポーネントの起動
※各RTC単位で起動する場合
※全てのRTCを一括で起動する場合
※停止はDeact i vat eを実
行
※RTC間の接続を切る場合には接続線をDel et e
  もしくは,右クリックメニューから
「Del et e」を選択
2013.5.22 ROBOMEC2013 RTM講習会 35
RTコンポーネントの動作シーケンス
ネームサーバ
① 参照を登録 ② 参照を登録
③ 参照を取得
④ ポートを接続
2013.5.22 ROBOMEC2013 RTM講習会 36
ネームサービスに接続できない場合
 ネットワークインターフェースが2つある場合
ネーム
サーバ
Addr ess A
Addr ess B
こちらのアドレスを基に
CORBA参照を生成
登録はアドレスB側の
ネームサーバ
登録はアドレスB側の
ネームサーバ
RTC- A
RTC- A (Addr ess B)RTC-A (Address B)
ってどこ?
 RTC. conf について
 RTC起動時の登録先Nami ngSer vi ceや、登録情報などについて記述
 記述例:
 cor ba. nameser ver s : l ocal host : 9876
 nami ng. f or mat s : Si mpl eComponent / %n. r t c
 cor ba. endpoi nt s : 192. 168. 0. 12:
2013.5.22 ROBOMEC2013 RTM講習会 37
RTコンポーネントの動作
■各コンポーネント単位での動作変更 ■全コンポーネントの動作を一括変更
Act i vat e
アクション名
対象RTCを活性化する
説明
Deact i vat e 対象RTCを非活性化する
Exi t 対象RTCの実行主体( Execut i onCont ext ) を停止し,終了する
Reset 対象RTCをエラー状態からリセットする
St ar t 実行主体( Execut i onCont ext ) の動作を開始する
St op 実行主体( Execut i onCont ext ) の動作を停止する
※ポップアップメニュー中でのキーバインドを追加
※単独RTCのAct i vat e/ Deact i vat eについては,グローバルはショートカットキー定義
を追加
2013.5.22 ROBOMEC2013 RTM講習会 38
接続プロファイル( Dat aPor t ) について
Name
項目
接続の名称
設定内容
Dat aType ポート間で送受信するデータの型.ex) Ti medOct et , Ti medShor t など
Dat aFl owType データの送信方法.ex) push, pul l など
Subscr i pt i onType
データ送信タイミング.送信方法がPushの場合有効.New, Per i odi c, Fl ushか
ら選択
I nt er f aceType データを送受信するポートの型.ex) cor ba_cdr など
Push Rat e データ送信周期( 単位:Hz) .Subscr i pt i onTypeがPer i odi cの場合のみ有効
Push Pol i cy
データ送信ポリシー.Subscr i pt i onTypeがNew,Per i odi cの場合のみ有効.
al l ,f i f o,ski p,newから選択
Ski p Count 送信データスキップ数.Push Pol i cyがSki pの場合のみ有効
 Subscr i pt i onType
 New :バッファ内に新規データが格納されたタイミングで送信
 Per i odi c :一定周期で定期的にデータを送信
 Fl ush :バッファを介さず即座に同期的に送信
 Push Pol i cy
 al l :バッファ内のデータを一括送信
 f i f o :バッファ内のデータをFI FOで1個ずつ送信
 ski p :バッファ内のデータを間引いて送信
 new :バッファ内のデータの最新値を送信( 古い値は捨てられる)
2013.5.22 ROBOMEC2013 RTM講習会 39
接続プロファイル( Dat aPor t ) について
Buf f er l engt h
項目
Buf f er f ul l pol i cy
Buf f er empt y pol i cy
Buf f er r ead t i meout
Buf f er wr i t e t i meout
バッファの大きさ
設定内容
データ書き込み時に,バッファフルだった場合の処理.
over wr i t e,do_not hi ng,bl ockから選択
データ読み出し時に,バッファが空だった場合の処理.
r eadback,do_not hi ng,bl ockから選択
データ読み出し時に,タイムアウトイベントを発生させるまでの時間( 単
位: 秒)
データ書き込み時に,タイムアウトイベントを発生させるまでの時間( 単位:
秒)
※Out Por t 側のバッファ,I nPor t 側のバッファそれぞれに設
定可能
※t i meout として「0. 0」を設定した場合は,タイムアウト
しない
 Buf f er Pol i cy
 over wr i t e : 上書き
 r eadback : 最後の要素を再読み出し
 bl ock : ブロック
 do_not hi ng : なにもしない
※Buf f er Pol i cy = Bl ock+t i meout 時間の指定で,一定時間
後
  読み出し/ 書き込み不可能な場合にタイムアウトを発生
させる
  処理となる
2013.5.22 ROBOMEC2013 RTM講習会 40
接続プロファイル( Ser vi cePor t ) について
Name
項目
インターフェース情報
接続の名称
設定内容
接続するインターフェースを設定.
接続対象のSer vi cePor t に複数のSer vi ceI nt er f aceが定義されていた場合,
どのインターフェースを実際に接続するかを指定
2013.5.22 ROBOMEC2013 RTM講習会 41
画像処理関連コンポーネントの起動
 画像処理用コンポーネントの起動
 Fl i pコンポーネントの起動
先ほどコンパイルしたコンポーネントの起動
bi nar yにて指定したディレクトリ以下のSr c/ Debug内の
Fl i pComp. exeを起動
( [ プログラム] →[ OpenRTM- ai st 1. 1] →[ C++] →[ component s]
                      →[ opencv- r t cs] →
[ Fl i pComp. exe] )
 [ スタート] メニューから起動
[ プログラム] →[ OpenRTM- ai st 1. 1] →[ C++] →[ component s]
2013.5.22 ROBOMEC2013 RTM講習会 42
システムの構成
 Fl i p側との接続
 Di r ect ShowCam → Fl i p
→ Camer aVi ewer と接続
( 接続プロファイルはデフォルト設定)
 Al l Act i vat eを実行
2013.5.22 ROBOMEC2013 RTM講習会 43
コンフィギュレーションの変更
f l i p_mode=1 f l i p_mode=0 f l i p_mode=-
1
 Conf i gur at i onVi ewの「編集」
 表示されたダイアログ内で
「f l i p_mode」の値を変更
 「Appl y」のチェックボックス
2013.5.22 ROBOMEC2013 RTM講習会 44
システム構成の変更
 Edge側への差し替え
 Fl i pに繋がっている接続線を選択
 Fl i p側のPor t 部分に表示されているハンドルをEdge側のPor t に繋ぎ替
え
 接続プロファイルはデフォルト設定のまま
RTCBuilder補足説明
2013.5.22 ROBOMEC2013 RTM講習会 46
ドキュメント作成(Windows,CMake利用)
※bi nar yにて指定したディレクトリ以下のdoc/ ht ml / doxygen/ ht ml 以下にドキュメント
 生成されたドキュメントの
例
2013.5.22 ROBOMEC2013 RTM講習会 47
配布用パッケージ作成(Windows,CMake利用)
bi nar yにて指定したディレクトリ直下にmsi 形式のインストールパッケー
ジを生成
 コンポーネントのインストール先
  C:  Pr ogr am Fi l es OpenRTM- ai st  1. 1 component s <言語>/ <パッケージ名>
 ソリューション中の「PACKAGE」をビルド
2013.5.22 ROBOMEC2013 RTM講習会 48
各種設定
 Dat aPor t にて利用するデータ型の指定
   →データ型を定義したI DLファイルが格納されているディレクトリ
を指定
①メニューから
  「ウインドウ」-「設
定」
②「Rt cBui l der 」を
選択
③「新規」ボタンにて表示さ
れる
  ディレクトリ選択ダイア
ログ
  にて場所を指定
※独自に定義したデータ型を使用する場合のみ必要な設定
  OpenRTM- ai st にて標準で用意されている型のみを使用する場合には設定不
要
・標準型の定義内容格納位置 : [ RTM_Root ] r t m/ i dl
 →Basi cDat aType. i dl , Ext endedDat aTypes. i dl など
 →デフォルト設定では,[ RTM_Root ] =C: / Pr ogr am Fi l es/ OpenRTM- ai st / 1. 1/
2013.5.22 ROBOMEC2013 RTM講習会 49
コンパイル・実行(Windows)
①コード生成先ディレクトリ内の 
 「copypr ops. bat 」をダブルクリック
して,
 設定ファイルをコピー
②Vi sual St udi oを用いたビルド
③Fl i pComp  Debug内の
Fl i pComp. exeを起動
2013.5.22 ROBOMEC2013 RTM講習会 50
ドキュメント作成(Windows)
①Doxygen用GUI ツールを起動
  作業用ディレクトリ, ソース格納場所,
  生成ファイル出力先, プロジェクト名
を指定
②「Mode」セクションにて,
  出力内容, 使用言語を指定
③「Out put 」セクションにて,ht ml 出力を指定 ③「Run」タブにて,「Run doxygen」を実
行
RTSystemEditor補足説明
2013.5.22 ROBOMEC2013 RTM講習会 52
既存コンポーネントの再利用
 プロジェクトとは
 ユーザが作成した様々なコンポーネントやツールの公開場所
 ユーザ登録すれば、誰でも自分の成果物の紹介ページを作成可能
 他のユーザに自分のコンポーネント等を紹介することができる
 プロジェクトのカテゴリ
 RTコンポーネント:   1つのコンポーネントまたは複数のコンポーネ
ント群な  
              どが登録されています。
 RTミドルウエア:OpenRTM- ai st や他のミドルウエア、ミドルウエア
拡張モ
            ジュール等が登録されています。
 ツール:各種ツール( RTSyst emEdi t or やr t shel l を含む) ツールはこ
のカテ
       ゴリになります。
 関連ドキュメント:関連ドキュメントとは、各種インターフェース
2013.5.22 ROBOMEC2013 RTM講習会 53
プロジェクトページ
タイプ 登録数
RTコンポーネント群 638
RTミドルウエア 29
ツール 39
仕様・文書 4
ハードウエア 30
2013.5.22 ROBOMEC2013 RTM講習会 54
既存コンポーネントの再利用
 プロジェクトから対象コンポーネントを取得
 「顔検出コンポーネント」
  ht t p: / / www. openr t m. or g/ openr t m/ j a/ pr oj ect / f acedet ect
  対象コンポーネントをダウンロード
2013.5.22 ROBOMEC2013 RTM講習会 55
既存コンポーネントの再利用
 ダウンロードしたファイル( FaceDet ect . zi p) を解凍
 解凍したディレクトリ内の以下のファイルを実行し,システムエディタ上
に配置
   $( FaceDet ect _Root ) / bui l d/ Rel ease/ FaceDet ect Comp. exe
2013.5.22 ROBOMEC2013 RTM講習会 56
ネットワーク上の他のRTCとの接続
 I Pアドレスの確認
 スタートメニュー中の「全てのプログラム」- 「アクセサリ」- 「コマンドプ
ロンプト」
 コマンド「i pconf i g」を実行
 他PC上で動作するRTCとの接続
 隣の方のI Pアドレスを聞く
 RTSyst emEdi t or の「ネームサーバを追加( コンセントのアイコン) 」をク
リックして,上記のI Pアドレスを入力する
 隣の方のネームサーバ内の階層化にあるDi r ect ShowCamをシステムエ
ディタにDnDする
 上記でDnDしたDi r ect ShowCamと自分のPC上で起動したCamer aVi ewer の
データポートを接続する
2013.5.22 ROBOMEC2013 RTM講習会 57
コンフィギュレーションビュー
 RTコンポーネントのコンフィギュレーション情報の確認/ 編
集
※「編集」ボタンにより,各種コントロールを用い
た一括編集が可能
変更あり
制約違反
即時反映
※「Appl y」チェックボックスがONの場合,設定値を変
更すると即座にコンポーネントに反映
  →テキストボックスからフォーカス外れる,
    ラジオボタンを選択する,
    スライドバーを操作する,
   スピナを変更する,などのタイミング
※コンフィギュレーション情報を複数保持している場
合,上部のタブで編集対象を切り替え
2013.5.22 ROBOMEC2013 RTM講習会 58
コンフィギュレーション情報の設定方法
 r t c. conf 内
 コンフィギュレーションファイル内
[ カテゴリ名] .[ コンポーネント名] .conf i g_f i l e: [ コンフィギュレーショ
ンファイル名]
※例) exampl e. Conf i gSampl e. conf i g_f i l e: conf i gsampl e. conf
 コンフィギュレーション情報
conf .[ コンフィグセット名] .[ コンフィグパラメータ名] : [ デ
フォルト値]
※例) conf . mode0. i nt _par am0: 123
 Wi dget 情報
conf ._ _wi dget _ _.[ コンフィグパラメータ名] : [ Wi dget 名]
※例) conf . __wi dget __. st r _par am0: r adi o
 制約情報
conf ._ _const r ai nt s _ _.[ コンフィグパラメータ名] : [ 制約情
報]
※例) conf . __const r ai nt s__. st r _par am0:
( bar , f oo, f oo, dar a)conf ._ _[ コンフィグセット名] .[ コンフィグパラメータ名] :
[ 制約情報]
※例) conf . __mode1. st r _par am0: ( bar 2, f oo2, dar a2)
RTCの利用者が設定
するのではな
く,RTC開発
者,RTC管理者が設
定することを想定
.
RTCBui l der を使用
することで設定可
能
2013.5.22 ROBOMEC2013 RTM講習会 59
実行コンテキストビュー
 RTコンポーネントが属する実行コンテキスト( EC) を一覧表
示
i d
属性名
ki nd
component st at e
st at e
owner
par t i ci pant s
ECのI D.オンラインの場合には,cont ext _handl e
を表示
説明
ECの種別( PERI ODI C/ EVENT_DRI VEN/ OTHER)
対象RTCの状態( ACTI VE/ I NACTI VE/ ERROR)
ECの状態( RUNNI NG/ STOPPI NG)
対象ECを所有しているオーナーRTCのインスタンス
名
対象ECに参加中のRTCの数
※対象ECの実行周期の変更,EC自身の動作開始/ 終了,新規RTCへのアタッチ
,アタッチ済みRTCのデタッチも可能
2013.5.22 ROBOMEC2013 RTM講習会 60
マネージャビュー
 RTコンポーネントの新規インスタンスの生成
RTC種別選択
コンフィギュレー
ション指定パラメー
タ設定
 コンフィギュレーション指定パラ
メータ conf .[ Conf i gSet 名] .[ Conf i gパラメータ
名] =[ 設定値] の形式にてConf i gur at i onSet の値も
設定可能
2013.5.22 ROBOMEC2013 RTM講習会 61
ログビュー
 選択したRTCから収集したログ情報を一覧表示
 ログ収集の開始/ 停止  ログ情報のフィルタリング
※近日機能追加予
定
2013.5.22 ROBOMEC2013 RTM講習会 62
複合コンポーネント
 複数のRTCをまとめて,1つのRTCとして扱うための仕組み
①複数RTCを選択している状態で右クリッ
ク
②複合コンポーネントのプロパティを設定
③複合コンポーネントを生成
Manager
項目
Name
Pat h
Por t
Type
複合コンポーネントを制御するマネージャを
選択
設定内容
複合コンポーネントのインスタンス名を入力
複合コンポーネントのパスを入力
外部に公開するポートを選択
複合コンポーネントの型を選択
※生成対象複合コンポーネント外部と接続されている
Por t は強制的に公開されます
 複合コンポーネントの作成方法
2013.5.22 ROBOMEC2013 RTM講習会 63
複合コンポーネント
 複合コンポーネントのタイプについて
公開ポー
ト
非公開ポー
ト
※エディタ内に別RTCをDnDするこ
とで,
子コンポーネントの追加が可能
→追加したRTCのポートは
全て非公開に設定
※エディタ内のRTCを削除すること
で,
子コンポーネントの削除が可能
  →削除されたRTCは,親エディ
Per i odi cECShar ed
タイプ名
実行主体であるExecut i onCont ext のみを共有
.
各子コンポーネントはそれぞれの状態を持つ
説明
Per i odi cSt at eShar ed
実行主体であるExecut i onCont ext と状態を共
有
Gr oupi ng 便宜的にツール上のみでグループ化
 複合コンポーネントエディタ
 複合コンポーネントをダブルクリックすることで表示
2013.5.22 ROBOMEC2013 RTM講習会 64
複合コンポーネント
 公開ポートの設定
 複合コンポーネントビュー
 複合コンポーネントエディタ
ポート公開情
報
※ポート公開情報を変更し
,
  「適用」をクリック
※非公開ポートを「公
開」
※公開ポートを「非公
開」
外部コンポーネントと接続
されているポートを「非公
開」に設定することはでき
ません
2013.5.22 ROBOMEC2013 RTM講習会 65
複合コンポーネント
 複合コンポーネントの解除
①複合RTCを右クリックし,複合コンポーネントの解除を
選択
②複合コンポーネントが分解され,内部のRTCが表示
ネームサーバの登
録
も解除される
※エディタ上で, ( Del et eキーなどで) 単純に削除した場合は,エディタから表示が消
えるのみ
  複合コンポーネントは解除されない
2013.5.22 ROBOMEC2013 RTM講習会 66
オフラインエディタ
オフライン・システムエ
ディタ
コンフィギュレーションビュー
プロパティビュー
リポジトリビュー
 RTコンポーネントの仕様を用いてRTシステムを構築
 実際のRTコンポーネントが動作している必要はない
2013.5.22 ROBOMEC2013 RTM講習会 67
設定画面
 接続-状態通知オブザーバ
 RTCの生存確認用オブザーバに関する設定
 RTSE側から生存確認を行うのではなく,RTC側から通知( ハートビート) を行
う形
 OpenRTM- ai st - 1. 1以降で対応
 ハートビート有効化:ハートビートによる生存確認機能の有効化
 ハートビート受信間隔:ハートビートの受信間隔.この間隔以内にRTC側から
ハート
                 ビートが送られてこないと生存確認失敗と判
断
 ハートビート受信回数:この回数を超えて生存確認に失敗した場合,対象RTC
2013.5.22 ROBOMEC2013 RTM講習会 68
設定画面
 「RT Name Ser vi ce Vi ew」-「接続」 【接続周期】
 ネームサービスビューが,ネームサーバに情報を問い合わせる周期
 「RT Name Ser vi ce Vi ew」-「同期」 【タイムアウト待ち時間】
 ネームサービスビューが,リモートオブジェクトのレスポンスを待つ時間
 「RT Syst em Edi t or 」-「接続」 【接続周期】
 システムエディタが,ネームサーバに情報を問い合わせる周期
【接続周期】をゼロに設定する
と
ネームサーバとの同期を行わな
2013.5.22 ROBOMEC2013 RTM講習会 69
設定画面
 「RT Syst em Edi t or 」-「アイコン」 【表示アイコン】
 RTC内に表示するアイコンを指定可能
 カテゴリ単位,RTC名称単位で設定が可能
RTミドルウェア講習会
日時:2012年5月22日(水) 10:00~16:45
場所:つくば国際会議場 小会議室303

More Related Content

What's hot

Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1
openrtm
 
Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)
openrtm
 
2013 summercamp 02
2013 summercamp 022013 summercamp 02
2013 summercamp 02
openrtm
 
Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2
openrtm
 
150629 01
150629 01150629 01
150629 01
openrtm
 
150629 02
150629 02150629 02
150629 02
openrtm
 

What's hot (20)

160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大
 
Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1
 
160608 01
160608 01160608 01
160608 01
 
RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要 RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要
 
Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部
 
160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大
 
2015RTミドルウエア講習会
2015RTミドルウエア講習会2015RTミドルウエア講習会
2015RTミドルウエア講習会
 
170622-01
170622-01170622-01
170622-01
 
160608 02
160608 02160608 02
160608 02
 
Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料
 
iREX2015 RTM講習会
iREX2015 RTM講習会iREX2015 RTM講習会
iREX2015 RTM講習会
 
Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)Robomec2014 rtm講習会第1部(その1)
Robomec2014 rtm講習会第1部(その1)
 
Rtshell 2017
Rtshell 2017Rtshell 2017
Rtshell 2017
 
2013 summercamp 02
2013 summercamp 022013 summercamp 02
2013 summercamp 02
 
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
 
Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2
 
170622 02
170622 02170622 02
170622 02
 
150629 01
150629 01150629 01
150629 01
 
160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大
 
150629 02
150629 02150629 02
150629 02
 

Viewers also liked (12)

JVRC Tutorial
JVRC TutorialJVRC Tutorial
JVRC Tutorial
 
Robomec2015講習会 150517 02
Robomec2015講習会 150517 02Robomec2015講習会 150517 02
Robomec2015講習会 150517 02
 
Robomec2015講習会 150517 03
Robomec2015講習会 150517 03Robomec2015講習会 150517 03
Robomec2015講習会 150517 03
 
130710 01
130710 01130710 01
130710 01
 
130329 01
130329 01130329 01
130329 01
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3
 
20130329 rtm2
20130329 rtm220130329 rtm2
20130329 rtm2
 
130329 04
130329 04130329 04
130329 04
 
130710 02
130710 02130710 02
130710 02
 
自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi
 
Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部
 
Japan Robot Week 2016 RTM講習会 第2部
Japan Robot Week 2016 RTM講習会 第2部Japan Robot Week 2016 RTM講習会 第2部
Japan Robot Week 2016 RTM講習会 第2部
 

Similar to 130522 rt講習会(説明用)

Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
openrtm
 
130711 01
130711 01130711 01
130711 01
openrtm
 
Open lab2013パネル原稿集
Open lab2013パネル原稿集Open lab2013パネル原稿集
Open lab2013パネル原稿集
openrtm
 
130329 02
130329 02130329 02
130329 02
openrtm
 
130719 02
130719 02130719 02
130719 02
openrtm
 
RTM on Androidの紹介
RTM on Androidの紹介RTM on Androidの紹介
RTM on Androidの紹介
openrtm
 
131017 cnr研究会 ando
131017 cnr研究会 ando131017 cnr研究会 ando
131017 cnr研究会 ando
openrtm
 
131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料
openrtm
 

Similar to 130522 rt講習会(説明用) (20)

Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
 
ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
130711 01
130711 01130711 01
130711 01
 
Open lab2013パネル原稿集
Open lab2013パネル原稿集Open lab2013パネル原稿集
Open lab2013パネル原稿集
 
130329 02
130329 02130329 02
130329 02
 
LLVM overview 20110122
LLVM overview 20110122LLVM overview 20110122
LLVM overview 20110122
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1
 
130719 02
130719 02130719 02
130719 02
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
RTM on Androidの紹介
RTM on Androidの紹介RTM on Androidの紹介
RTM on Androidの紹介
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf
 
131017 cnr研究会 ando
131017 cnr研究会 ando131017 cnr研究会 ando
131017 cnr研究会 ando
 
131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料131111 東工大授業「ロボット技術」資料
131111 東工大授業「ロボット技術」資料
 
2015 summercamp 04
2015 summercamp 042015 summercamp 04
2015 summercamp 04
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 

More from openrtm

More from openrtm (20)

ピッキングシステム
ピッキングシステムピッキングシステム
ピッキングシステム
 
GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画
 
まねっこロボット
まねっこロボットまねっこロボット
まねっこロボット
 
商品自動補充ロボットシステム
商品自動補充ロボットシステム商品自動補充ロボットシステム
商品自動補充ロボットシステム
 
RTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptxRTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptx
 
SysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdfSysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdf
 
RTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdfRTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdf
 
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部
 
5.総合演習(2)
5.総合演習(2)5.総合演習(2)
5.総合演習(2)
 
4.総合演習(1)
4.総合演習(1)4.総合演習(1)
4.総合演習(1)
 
3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要
 
Slam実習
Slam実習Slam実習
Slam実習
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦
 
RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
 
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
 

130522 rt講習会(説明用)

  • 2. 2013.5.22 ROBOMEC2013 RTM講習会 2 RTミドルウェア講習会 11:00-  11:50 第1部( その2) :OpenRTM-aistおよびRTコンポーネントプログラミングの概要 担当:安藤 慶昭(産業技術総合研究所) 概要:RTミドルウエアはロボットシステムをコンポーネント指向で構築するソフトウエアプラットフォームです。RTミドルウエ アを利用することで、既存のコンポーネントを再利用し、モジュール指向の柔軟なロボットシステムを構築することができま す。RTミドルウエアの産総研による実装であるOpenRTM-aistについてその概要およびRTコンポーネントの機能やプログ ラミングの流れについて説明します。 10:00-   10:50 第1部( その1) :インターネットを利用したロボットサービスとRSi の取り組み( 最新動向) 担当:成田 雅彦(産業技術大学院大学) 概要:インターネットやクラウドとロボットとの連携は急速に注目を集めている領域です。本講演では、インターネットやクラ ウドとロボットとの連携の動向を外観し、RSi(ロボットサービスイニシアティブ)の仕様であるRSNPと最新の取り組みを紹 介します。 11:50- 12:00 質疑応答・意見交換 13:00- 14:00 第2部:RTコンポーネントの作成入門 担当:坂本 武志(株式会社グローバルアシスト) 概要:RTCBuilderを使用したRTコンポーネントの作成方法を実習形式で体験していただきます。 12:00- 13:00 昼食 14:00- 16:45 第3部:プログラミング実習 担当:Geoffrey Biggs,原功,安藤慶昭(産業技術総合研究所),坂本武志(株式会社グローバルアシスト) 概要:OpenRTM-aistを利用してコンポーネントを作成し実際にロボットを動かしていただきます。 今回は2つのコース (Kobuki & Raspberry Piコース, G-ROBOT & Choreonoidコース) を用意しました。
  • 4. 2013.5.22 ROBOMEC2013 RTM講習会 4 OpenRT Pl at f or m  ロボット知能ソフトウェアプラットフォーム  ht t p: / / www. openr t p. j p/ wi ki /  システム設計,シミュレーション,動作生成,シナリオ生成などを サポート  OpenRT Pl at f or mツール群  コンポーネント開発,システム開発における各開発フェーズの作業 支援  開発プラットフォームにEcl i pseを採用  構成  RTCビルダ  RTCデバッガ  RTシステムエディタ  ロボット設計支援ツール  シミュレータ  動作設計ツール  シナリオ作成ツール
  • 5. 2013.5.22 ROBOMEC2013 RTM講習会 5 統合開発環境Ecl i pse  オープンソース・コミュニティで開発されている統合開発 環境  マルチプラットフォーム対応. Wi ndowsやLi nuxなど複数OS上で利用 可能  「Pl ug- i n」形式を採用しており,新たなツールの追加,機能のカス タマイズが可能  RCP( Ri ch Cl i ent Pl at f or m) を利用することで,簡単に単独アプリ 化が可能 Java VMJava VM Eclipse PlatformEclipse Platform JDTJDT EclipseSDK CDTCDT PyDevPyDev RTCBuilderRTCBuilder・・・ RTSystemEditorRTSystemEditor ・・・ コミュニティから提供されているプラ グイン ユーザが開発したプラグイ ン
  • 6. 2013.5.22 ROBOMEC2013 RTM講習会 6 RTCBui l der , RTSyst emEdi t or のインストール  ダウンロードし,解凍するだけ ※Javaの実行環境については,別途インストールが必要
  • 7. 2013.5.22 ROBOMEC2013 RTM講習会 7 Fl i pコンポーネントについて  入力画像を反転して出力するコンポーネント  OpenCVのcvFl i p関数を利用
  • 9. 2013.5.22 ROBOMEC2013 RTM講習会 9 RTCBui l der 概要  RTCBui l der とは?  コンポーネントのプロファイル情報を入力し,ソースコード等の雛 形を生成するツール  開発言語用プラグインを追加することにより,各言語向けRTCの雛形 を生成することが可能  C++  Java  Pyt hon ※C++用コード生成機能は Rt cBui l der 本体に含まれていま す. ※その他の言語用コード生成機能 は追加プラグインとして提供さ れています
  • 11. 2013.5.22 ROBOMEC2013 RTM講習会 11 ツールの起動  Wi ndowsの場合  Ecl i pse. exeをダブルクリック  Uni x系の場合  ターミナルを利用してコマンドラインから起動  Ex) $ / usr / l ocal / Ecl i pse/ ecl i pse  ワークスペースの選択( 初回起動時)  ワークスペースの切替( 通常 時) ※ワークスペース Ecl i pseで開発を行う際の作業領域   Ecl i pse上でプロジェクトやファイルを作成 するとワークスペースとして指定したディレク トリ以下に実際のディレクトリ,ファイルを作 成する
  • 12. 2013.5.22 ROBOMEC2013 RTM講習会 12 準備  初期画面のクローズ  初回起動時のみ  パースペクティブの切り替え ①画面右上の「パースペクティブを開 く」   を選択し,一覧から「その他」を選 択 ②一覧画面から対象ツールを選 択 ※パースペクティブ  Ecl i pse上でツールの構成を管理する単 位  メニュー,ツールバー,エディタ, ビューなど  使用目的に応じて組み合わせる 独自の構成を登録することも可能
  • 13. 2013.5.22 ROBOMEC2013 RTM講習会 13 プロジェクト作成/エディタ起動 ②「プロジェクト名」欄に入力し, 「終了」 ※任意の場所にプロジェクトを作成したい場合   ②にて「デフォルト・ロケーションの使用」チェック ボックスを外す   「参照」ボタンにて対象ディレクトリを選択 →物理的にはワークスペース以外の場所に作成され る 論理的にはワークスペース配下に紐付けされ る ①ツールバー内のアイコンをクリック プロジェクト名: Fl i p  ※メニューから「ファイル」- 「新規」- 「プロジェクト」を選 択 【新規プロジェクト】画面にて「その他」- 「Rt cBui l der 」を選択し,「次へ」 ※メニューから「ファイル」- 「Open New Bui l der Edi t or 」 を選択
  • 14. 2013.5.22 ROBOMEC2013 RTM講習会 14 プロファイル インポート ①「基本」タブ下部の「インポート」ボタ ン   をクリック ②【インポート】画面にて対象ファ イルを 選択  作成済みのRTコンポーネント情報を再利用  「エクスポート」機能を利用して出力したファイルの読み込みが可能  コード生成時に作成されるRt cPr of i l eの情報を読み込み可能  XML形式,YAML形式での入出力が可能
  • 15. 2013.5.22 ROBOMEC2013 RTM講習会 15 コード生成  コード生成  コード生成実行後,パースペクティブを自動切替 C++版RTC → CDT Java版RTC → JDT       ( デフォルトインス トール済み) Pyt hon版 → PyDev ※生成コードが表示されな い場合には,「リフレッ シュ」を実行
  • 16. 2013.5.22 ROBOMEC2013 RTM講習会 16 コンパイル(Windows,CMake利用) ※bi nar yには,sour ceとは別のディレクトリを指定する事 を推奨※日本語は文字化けしてしまうため英数字のみのディレクトリを推奨 ①GUI 版Cmakeを起動 し,sour ce,   bi nar yのディレクトリを指 定 ②「Conf i gur e」を実行し,使用 する プラットフォームを選択
  • 17. 2013.5.22 ROBOMEC2013 RTM講習会 17 コンパイル(Windows,CMake利用) ③正常終了後,「Gener at e」を実 行 ④bi nar yとして指定したディレクトリ内にあるソリューションファイル を開き, 「ソリューションをビルド」を実行
  • 18. 2013.5.22 ROBOMEC2013 RTM講習会 18 RTCプロファイルエディタ 基本プロファイル アクティビティ・プロファイル データポート・プロファイル サービスポート・プロファイル コンフィギュレーション ドキュメント生成 言語・環境 RTC. xml 画面要素名 RTコンポーネントのプロファイル情報など,コンポーネント の基本情報を設定. コード生成,インポート/ エクスポート,パッケージング処 理を実行 説明 RTコンポーネントがサポートしているアクティビティ情報を 設定 RTコンポーネントに付属するデータポートに関する情報を設 定 RTコンポーネントに付属するサービスポートおよび各サービ スポートに付属するサービスインターフェースに関する情報 を設定 RTコンポーネントに設定するユーザ定義のコンフィギュレー ション・パラメータセット情報およびシステムのコンフィ ギュレーション情報を設定 生成したコードに追加する各種ドキュメント情報を設定 生成対象コードの選択やOSなどの実行環境に関する情報を設 定 設定した情報を基に生成したRTC仕様( Rt cPr of i l e) を表示
  • 19. 2013.5.22 ROBOMEC2013 RTM講習会 19 基本プロファイル ※エディタ内の項目名が赤字の要素は必須入力項目 ※画面右側は各入力項目に関する説明  RTコンポーネントの名称など,基本的な情報を設 定 モジュール名: Fl i p モジュール概要: 任意( Fl i p i mage component ) バージョン: 1. 0. 0 ベンダ名: 任意( AI ST) モジュールカテゴリ: 任意( Cat egor y) コンポーネント型: STATI C アクティビティ型: PERI ODI C コンポーネントの種類: Dat aFl ow 最大インスタンス数: 1 実行型: Per i odi cExecut i onCont ext 実行周期: 1000. 0
  • 20. 2013.5.22 ROBOMEC2013 RTM講習会 20 アクティビティ・プロファイル ※現在選択中のアクティビティは,一覧画面にて赤字で表示 ※使用( ON) が選択されているアクティビティは,一覧画面にて背景を水色 で表示 ※各アクティビティには,「動作概要」「事前条件」「事後条件」を記述可能   →記述した各種コメントは,生成コード内にDoxygen形式で追加される 以下をチェッ ク: onAct i vat ed onDeact i vat ed onExecut e  生成対象RTCで実装予定のアクティビティを設定 ①設定対象のアクティビ ティ   を選択 ②使用/ 未使用を設 定
  • 21. 2013.5.22 ROBOMEC2013 RTM講習会 21 データポート・プロファイル ※データ型は,型定義が記載されたI DLファイルを設定画面にて追加するこ とで追加可能 ※OpenRTM- ai st にて事前定義されている型については,デフォルトで使用 可能   →[ RTM_Root ] r t m/ i dl 以下に存在するI DLファイルで定義された型 ※各ポートに対する説明記述を設定可能   →記述した各種コメントは,生成コード内にDoxygen形式で追加される  生成対象RTCに付加するDat aPor t の情報を設定 ①該当種類の欄の「Add」ボタンをクリック し,ポートを追加後,直接入力で名称 設定 ②設定する型情報を一覧から選択
  • 22. 2013.5.22 ROBOMEC2013 RTM講習会 22 データポート・プロファイル ※Por t の設定内容に応じて,下部のBui l dVi ewの表示が変化 ● I nPor t  ポート名: or i gi nal I mage  データ型: RTC: : Camer aI mage  変数名: or i gi nal I mage  表示位置: l ef t ● Out Por t  ポート名: f l i ppedI mage  データ型: RTC: : Camer aI mage  変数名: f l i ppedI mage  表示位置: r i ght
  • 23. 2013.5.22 ROBOMEC2013 RTM講習会 23 サービスポート・プロファイル  サービスインターフェースの指定  I DLファイルを指定すると,定義されたインターフェース情報を 表示  生成対象RTCに付加するSer vi cePor t の情報を設定 今回のサンプルでは未使用
  • 24. 2013.5.22 ROBOMEC2013 RTM講習会 24 コンフィギュレーション・プロファイル ※データ型は,shor t , i nt , l ong, f l oat , doubl e, st r i ngから選択可能( 直接入 力も可能) ※制約情報とWi dget 情報を入力することで,RTSyst emEdi t or のコンフィギュレー ションビューの表示を設定することが可能  生成対象RTCで使用する設定情報を設定 ①「Add」ボタンをクリックし,追 加後,   直接入力で名称設定 ②詳細画面にて,型情報,変数名などを設 定 名称: f l i pMode データ型: i nt デフォルト値: 0 変数名: f l i pMode 制約条件: ( - 1, 0, 1) Wi dget : r adi o
  • 25. 2013.5.22 ROBOMEC2013 RTM講習会 25 制約条件,Widgetの設定方法  制約条件について  データポートとコンフィギュレーションに設定可能  チェックはあくまでもコンポーネント開発者側の責務  ミドルウェア側で検証を行っているわけではない  Wi dget  t ext (テキストボックス)  デフォルト  sl i der (スライダ)  数値型に対して範囲指定の場合  刻み幅をst epにて指定可能  spi n( スピナ)  数値型に対して範囲指定の場合  刻み幅をst epにて指定可能  r adi o( ラジオボタン)  制約が列挙型の場合に指定可能  制約の記述書式  指定なし:空白  即値:値そのもの  例) 100  範囲:<,>,<=,>=  例) 0<=x<=100  列挙型: ( 値1,値2,・・・)  例) ( val 0, val 1, val 2)  配列型: 値1,値2,・・・  例) val 0, val 1, val 2  ハッシュ型: { key0:値0, key1:値 1,・・・ }  例) { key0:val 0, key1:val 1} ※指定したWi dget と制約条件がマッチ しない場合は,テキストボックス を使用
  • 26. 2013.5.22 ROBOMEC2013 RTM講習会 26 言語・環境・プロファイル  生成対象RTCを実装する言語,動作環境に関する情報を設定 「C++」を選択 このチェックボックスをONにす ると,旧バージョンと同様な コード( Cmakeを利用しない形式) を生成
  • 28. 2013.5.22 ROBOMEC2013 RTM講習会 28 準備  パースペクティブの切り替え ①画面右上の「パースペクティブを開 く」   を選択し,一覧から「その他」を選 択 ②一覧画面から対象ツールを選 択 ※パースペクティブ  Ecl i pse上でツールの構成を管理する単 位  メニュー,ツールバー,エディタ, ビューなど  使用目的に応じて組み合わせる 独自の構成を登録することも可能
  • 29. 2013.5.22 ROBOMEC2013 RTM講習会 29 RTSyst emEdi t or 概要  RTSyst emEdi t or とは?  RTコンポーネントを組み合わせて,RTシステムを構築するための ツール
  • 31. 2013.5.22 ROBOMEC2013 RTM講習会 31 カメラ関連コンポーネントの起動  Nami ng Ser vi ceの起動  [ スタート] メニューから [ プログラム] →[ OpenRTM- ai st 1. 1] →[ C++] →[ t ool s] →[ St ar t Nami ng Ser vi ce]  Camer aVi ewer Compの起動  [ スタート] メニューから起動     [ プログラム] →[ OpenRTM- ai st 1. 1] →[ C++] →[ component s]                         →[ opencv- r t cs] → [ Camer aVi ewer Comp. exe]  Di r ect ShowCamCompの起動  [ スタート] メニューから起動     [ プログラム] →[ OpenRTM- ai st 1. 1] →[ C++] →[ component s]                        →[ opencv- r t cs] → [ Di r ect ShowCamComp. exe]
  • 32. 2013.5.22 ROBOMEC2013 RTM講習会 32 RTシステム構築の基本操作  ネームサービスへ接続 ※対象ネームサーバのアドレス,ポートを 指定    →ポート省略時のポート番号は     設定画面にて設定可能  システムエディタの起動
  • 34. 2013.5.22 ROBOMEC2013 RTM講習会 34 RTシステム構築の基本操作  コンポーネントの起動 ※各RTC単位で起動する場合 ※全てのRTCを一括で起動する場合 ※停止はDeact i vat eを実 行 ※RTC間の接続を切る場合には接続線をDel et e   もしくは,右クリックメニューから 「Del et e」を選択
  • 35. 2013.5.22 ROBOMEC2013 RTM講習会 35 RTコンポーネントの動作シーケンス ネームサーバ ① 参照を登録 ② 参照を登録 ③ 参照を取得 ④ ポートを接続
  • 36. 2013.5.22 ROBOMEC2013 RTM講習会 36 ネームサービスに接続できない場合  ネットワークインターフェースが2つある場合 ネーム サーバ Addr ess A Addr ess B こちらのアドレスを基に CORBA参照を生成 登録はアドレスB側の ネームサーバ 登録はアドレスB側の ネームサーバ RTC- A RTC- A (Addr ess B)RTC-A (Address B) ってどこ?  RTC. conf について  RTC起動時の登録先Nami ngSer vi ceや、登録情報などについて記述  記述例:  cor ba. nameser ver s : l ocal host : 9876  nami ng. f or mat s : Si mpl eComponent / %n. r t c  cor ba. endpoi nt s : 192. 168. 0. 12:
  • 37. 2013.5.22 ROBOMEC2013 RTM講習会 37 RTコンポーネントの動作 ■各コンポーネント単位での動作変更 ■全コンポーネントの動作を一括変更 Act i vat e アクション名 対象RTCを活性化する 説明 Deact i vat e 対象RTCを非活性化する Exi t 対象RTCの実行主体( Execut i onCont ext ) を停止し,終了する Reset 対象RTCをエラー状態からリセットする St ar t 実行主体( Execut i onCont ext ) の動作を開始する St op 実行主体( Execut i onCont ext ) の動作を停止する ※ポップアップメニュー中でのキーバインドを追加 ※単独RTCのAct i vat e/ Deact i vat eについては,グローバルはショートカットキー定義 を追加
  • 38. 2013.5.22 ROBOMEC2013 RTM講習会 38 接続プロファイル( Dat aPor t ) について Name 項目 接続の名称 設定内容 Dat aType ポート間で送受信するデータの型.ex) Ti medOct et , Ti medShor t など Dat aFl owType データの送信方法.ex) push, pul l など Subscr i pt i onType データ送信タイミング.送信方法がPushの場合有効.New, Per i odi c, Fl ushか ら選択 I nt er f aceType データを送受信するポートの型.ex) cor ba_cdr など Push Rat e データ送信周期( 単位:Hz) .Subscr i pt i onTypeがPer i odi cの場合のみ有効 Push Pol i cy データ送信ポリシー.Subscr i pt i onTypeがNew,Per i odi cの場合のみ有効. al l ,f i f o,ski p,newから選択 Ski p Count 送信データスキップ数.Push Pol i cyがSki pの場合のみ有効  Subscr i pt i onType  New :バッファ内に新規データが格納されたタイミングで送信  Per i odi c :一定周期で定期的にデータを送信  Fl ush :バッファを介さず即座に同期的に送信  Push Pol i cy  al l :バッファ内のデータを一括送信  f i f o :バッファ内のデータをFI FOで1個ずつ送信  ski p :バッファ内のデータを間引いて送信  new :バッファ内のデータの最新値を送信( 古い値は捨てられる)
  • 39. 2013.5.22 ROBOMEC2013 RTM講習会 39 接続プロファイル( Dat aPor t ) について Buf f er l engt h 項目 Buf f er f ul l pol i cy Buf f er empt y pol i cy Buf f er r ead t i meout Buf f er wr i t e t i meout バッファの大きさ 設定内容 データ書き込み時に,バッファフルだった場合の処理. over wr i t e,do_not hi ng,bl ockから選択 データ読み出し時に,バッファが空だった場合の処理. r eadback,do_not hi ng,bl ockから選択 データ読み出し時に,タイムアウトイベントを発生させるまでの時間( 単 位: 秒) データ書き込み時に,タイムアウトイベントを発生させるまでの時間( 単位: 秒) ※Out Por t 側のバッファ,I nPor t 側のバッファそれぞれに設 定可能 ※t i meout として「0. 0」を設定した場合は,タイムアウト しない  Buf f er Pol i cy  over wr i t e : 上書き  r eadback : 最後の要素を再読み出し  bl ock : ブロック  do_not hi ng : なにもしない ※Buf f er Pol i cy = Bl ock+t i meout 時間の指定で,一定時間 後   読み出し/ 書き込み不可能な場合にタイムアウトを発生 させる   処理となる
  • 40. 2013.5.22 ROBOMEC2013 RTM講習会 40 接続プロファイル( Ser vi cePor t ) について Name 項目 インターフェース情報 接続の名称 設定内容 接続するインターフェースを設定. 接続対象のSer vi cePor t に複数のSer vi ceI nt er f aceが定義されていた場合, どのインターフェースを実際に接続するかを指定
  • 41. 2013.5.22 ROBOMEC2013 RTM講習会 41 画像処理関連コンポーネントの起動  画像処理用コンポーネントの起動  Fl i pコンポーネントの起動 先ほどコンパイルしたコンポーネントの起動 bi nar yにて指定したディレクトリ以下のSr c/ Debug内の Fl i pComp. exeを起動 ( [ プログラム] →[ OpenRTM- ai st 1. 1] →[ C++] →[ component s]                       →[ opencv- r t cs] → [ Fl i pComp. exe] )  [ スタート] メニューから起動 [ プログラム] →[ OpenRTM- ai st 1. 1] →[ C++] →[ component s]
  • 42. 2013.5.22 ROBOMEC2013 RTM講習会 42 システムの構成  Fl i p側との接続  Di r ect ShowCam → Fl i p → Camer aVi ewer と接続 ( 接続プロファイルはデフォルト設定)  Al l Act i vat eを実行
  • 43. 2013.5.22 ROBOMEC2013 RTM講習会 43 コンフィギュレーションの変更 f l i p_mode=1 f l i p_mode=0 f l i p_mode=- 1  Conf i gur at i onVi ewの「編集」  表示されたダイアログ内で 「f l i p_mode」の値を変更  「Appl y」のチェックボックス
  • 44. 2013.5.22 ROBOMEC2013 RTM講習会 44 システム構成の変更  Edge側への差し替え  Fl i pに繋がっている接続線を選択  Fl i p側のPor t 部分に表示されているハンドルをEdge側のPor t に繋ぎ替 え  接続プロファイルはデフォルト設定のまま
  • 46. 2013.5.22 ROBOMEC2013 RTM講習会 46 ドキュメント作成(Windows,CMake利用) ※bi nar yにて指定したディレクトリ以下のdoc/ ht ml / doxygen/ ht ml 以下にドキュメント  生成されたドキュメントの 例
  • 47. 2013.5.22 ROBOMEC2013 RTM講習会 47 配布用パッケージ作成(Windows,CMake利用) bi nar yにて指定したディレクトリ直下にmsi 形式のインストールパッケー ジを生成  コンポーネントのインストール先   C: Pr ogr am Fi l es OpenRTM- ai st 1. 1 component s <言語>/ <パッケージ名>  ソリューション中の「PACKAGE」をビルド
  • 48. 2013.5.22 ROBOMEC2013 RTM講習会 48 各種設定  Dat aPor t にて利用するデータ型の指定    →データ型を定義したI DLファイルが格納されているディレクトリ を指定 ①メニューから   「ウインドウ」-「設 定」 ②「Rt cBui l der 」を 選択 ③「新規」ボタンにて表示さ れる   ディレクトリ選択ダイア ログ   にて場所を指定 ※独自に定義したデータ型を使用する場合のみ必要な設定   OpenRTM- ai st にて標準で用意されている型のみを使用する場合には設定不 要 ・標準型の定義内容格納位置 : [ RTM_Root ] r t m/ i dl  →Basi cDat aType. i dl , Ext endedDat aTypes. i dl など  →デフォルト設定では,[ RTM_Root ] =C: / Pr ogr am Fi l es/ OpenRTM- ai st / 1. 1/
  • 49. 2013.5.22 ROBOMEC2013 RTM講習会 49 コンパイル・実行(Windows) ①コード生成先ディレクトリ内の   「copypr ops. bat 」をダブルクリック して,  設定ファイルをコピー ②Vi sual St udi oを用いたビルド ③Fl i pComp Debug内の Fl i pComp. exeを起動
  • 50. 2013.5.22 ROBOMEC2013 RTM講習会 50 ドキュメント作成(Windows) ①Doxygen用GUI ツールを起動   作業用ディレクトリ, ソース格納場所,   生成ファイル出力先, プロジェクト名 を指定 ②「Mode」セクションにて,   出力内容, 使用言語を指定 ③「Out put 」セクションにて,ht ml 出力を指定 ③「Run」タブにて,「Run doxygen」を実 行
  • 52. 2013.5.22 ROBOMEC2013 RTM講習会 52 既存コンポーネントの再利用  プロジェクトとは  ユーザが作成した様々なコンポーネントやツールの公開場所  ユーザ登録すれば、誰でも自分の成果物の紹介ページを作成可能  他のユーザに自分のコンポーネント等を紹介することができる  プロジェクトのカテゴリ  RTコンポーネント:   1つのコンポーネントまたは複数のコンポーネ ント群な                 どが登録されています。  RTミドルウエア:OpenRTM- ai st や他のミドルウエア、ミドルウエア 拡張モ             ジュール等が登録されています。  ツール:各種ツール( RTSyst emEdi t or やr t shel l を含む) ツールはこ のカテ        ゴリになります。  関連ドキュメント:関連ドキュメントとは、各種インターフェース
  • 53. 2013.5.22 ROBOMEC2013 RTM講習会 53 プロジェクトページ タイプ 登録数 RTコンポーネント群 638 RTミドルウエア 29 ツール 39 仕様・文書 4 ハードウエア 30
  • 54. 2013.5.22 ROBOMEC2013 RTM講習会 54 既存コンポーネントの再利用  プロジェクトから対象コンポーネントを取得  「顔検出コンポーネント」   ht t p: / / www. openr t m. or g/ openr t m/ j a/ pr oj ect / f acedet ect   対象コンポーネントをダウンロード
  • 55. 2013.5.22 ROBOMEC2013 RTM講習会 55 既存コンポーネントの再利用  ダウンロードしたファイル( FaceDet ect . zi p) を解凍  解凍したディレクトリ内の以下のファイルを実行し,システムエディタ上 に配置    $( FaceDet ect _Root ) / bui l d/ Rel ease/ FaceDet ect Comp. exe
  • 56. 2013.5.22 ROBOMEC2013 RTM講習会 56 ネットワーク上の他のRTCとの接続  I Pアドレスの確認  スタートメニュー中の「全てのプログラム」- 「アクセサリ」- 「コマンドプ ロンプト」  コマンド「i pconf i g」を実行  他PC上で動作するRTCとの接続  隣の方のI Pアドレスを聞く  RTSyst emEdi t or の「ネームサーバを追加( コンセントのアイコン) 」をク リックして,上記のI Pアドレスを入力する  隣の方のネームサーバ内の階層化にあるDi r ect ShowCamをシステムエ ディタにDnDする  上記でDnDしたDi r ect ShowCamと自分のPC上で起動したCamer aVi ewer の データポートを接続する
  • 57. 2013.5.22 ROBOMEC2013 RTM講習会 57 コンフィギュレーションビュー  RTコンポーネントのコンフィギュレーション情報の確認/ 編 集 ※「編集」ボタンにより,各種コントロールを用い た一括編集が可能 変更あり 制約違反 即時反映 ※「Appl y」チェックボックスがONの場合,設定値を変 更すると即座にコンポーネントに反映   →テキストボックスからフォーカス外れる,     ラジオボタンを選択する,     スライドバーを操作する,    スピナを変更する,などのタイミング ※コンフィギュレーション情報を複数保持している場 合,上部のタブで編集対象を切り替え
  • 58. 2013.5.22 ROBOMEC2013 RTM講習会 58 コンフィギュレーション情報の設定方法  r t c. conf 内  コンフィギュレーションファイル内 [ カテゴリ名] .[ コンポーネント名] .conf i g_f i l e: [ コンフィギュレーショ ンファイル名] ※例) exampl e. Conf i gSampl e. conf i g_f i l e: conf i gsampl e. conf  コンフィギュレーション情報 conf .[ コンフィグセット名] .[ コンフィグパラメータ名] : [ デ フォルト値] ※例) conf . mode0. i nt _par am0: 123  Wi dget 情報 conf ._ _wi dget _ _.[ コンフィグパラメータ名] : [ Wi dget 名] ※例) conf . __wi dget __. st r _par am0: r adi o  制約情報 conf ._ _const r ai nt s _ _.[ コンフィグパラメータ名] : [ 制約情 報] ※例) conf . __const r ai nt s__. st r _par am0: ( bar , f oo, f oo, dar a)conf ._ _[ コンフィグセット名] .[ コンフィグパラメータ名] : [ 制約情報] ※例) conf . __mode1. st r _par am0: ( bar 2, f oo2, dar a2) RTCの利用者が設定 するのではな く,RTC開発 者,RTC管理者が設 定することを想定 . RTCBui l der を使用 することで設定可 能
  • 59. 2013.5.22 ROBOMEC2013 RTM講習会 59 実行コンテキストビュー  RTコンポーネントが属する実行コンテキスト( EC) を一覧表 示 i d 属性名 ki nd component st at e st at e owner par t i ci pant s ECのI D.オンラインの場合には,cont ext _handl e を表示 説明 ECの種別( PERI ODI C/ EVENT_DRI VEN/ OTHER) 対象RTCの状態( ACTI VE/ I NACTI VE/ ERROR) ECの状態( RUNNI NG/ STOPPI NG) 対象ECを所有しているオーナーRTCのインスタンス 名 対象ECに参加中のRTCの数 ※対象ECの実行周期の変更,EC自身の動作開始/ 終了,新規RTCへのアタッチ ,アタッチ済みRTCのデタッチも可能
  • 60. 2013.5.22 ROBOMEC2013 RTM講習会 60 マネージャビュー  RTコンポーネントの新規インスタンスの生成 RTC種別選択 コンフィギュレー ション指定パラメー タ設定  コンフィギュレーション指定パラ メータ conf .[ Conf i gSet 名] .[ Conf i gパラメータ 名] =[ 設定値] の形式にてConf i gur at i onSet の値も 設定可能
  • 61. 2013.5.22 ROBOMEC2013 RTM講習会 61 ログビュー  選択したRTCから収集したログ情報を一覧表示  ログ収集の開始/ 停止  ログ情報のフィルタリング ※近日機能追加予 定
  • 62. 2013.5.22 ROBOMEC2013 RTM講習会 62 複合コンポーネント  複数のRTCをまとめて,1つのRTCとして扱うための仕組み ①複数RTCを選択している状態で右クリッ ク ②複合コンポーネントのプロパティを設定 ③複合コンポーネントを生成 Manager 項目 Name Pat h Por t Type 複合コンポーネントを制御するマネージャを 選択 設定内容 複合コンポーネントのインスタンス名を入力 複合コンポーネントのパスを入力 外部に公開するポートを選択 複合コンポーネントの型を選択 ※生成対象複合コンポーネント外部と接続されている Por t は強制的に公開されます  複合コンポーネントの作成方法
  • 63. 2013.5.22 ROBOMEC2013 RTM講習会 63 複合コンポーネント  複合コンポーネントのタイプについて 公開ポー ト 非公開ポー ト ※エディタ内に別RTCをDnDするこ とで, 子コンポーネントの追加が可能 →追加したRTCのポートは 全て非公開に設定 ※エディタ内のRTCを削除すること で, 子コンポーネントの削除が可能   →削除されたRTCは,親エディ Per i odi cECShar ed タイプ名 実行主体であるExecut i onCont ext のみを共有 . 各子コンポーネントはそれぞれの状態を持つ 説明 Per i odi cSt at eShar ed 実行主体であるExecut i onCont ext と状態を共 有 Gr oupi ng 便宜的にツール上のみでグループ化  複合コンポーネントエディタ  複合コンポーネントをダブルクリックすることで表示
  • 64. 2013.5.22 ROBOMEC2013 RTM講習会 64 複合コンポーネント  公開ポートの設定  複合コンポーネントビュー  複合コンポーネントエディタ ポート公開情 報 ※ポート公開情報を変更し ,   「適用」をクリック ※非公開ポートを「公 開」 ※公開ポートを「非公 開」 外部コンポーネントと接続 されているポートを「非公 開」に設定することはでき ません
  • 65. 2013.5.22 ROBOMEC2013 RTM講習会 65 複合コンポーネント  複合コンポーネントの解除 ①複合RTCを右クリックし,複合コンポーネントの解除を 選択 ②複合コンポーネントが分解され,内部のRTCが表示 ネームサーバの登 録 も解除される ※エディタ上で, ( Del et eキーなどで) 単純に削除した場合は,エディタから表示が消 えるのみ   複合コンポーネントは解除されない
  • 66. 2013.5.22 ROBOMEC2013 RTM講習会 66 オフラインエディタ オフライン・システムエ ディタ コンフィギュレーションビュー プロパティビュー リポジトリビュー  RTコンポーネントの仕様を用いてRTシステムを構築  実際のRTコンポーネントが動作している必要はない
  • 67. 2013.5.22 ROBOMEC2013 RTM講習会 67 設定画面  接続-状態通知オブザーバ  RTCの生存確認用オブザーバに関する設定  RTSE側から生存確認を行うのではなく,RTC側から通知( ハートビート) を行 う形  OpenRTM- ai st - 1. 1以降で対応  ハートビート有効化:ハートビートによる生存確認機能の有効化  ハートビート受信間隔:ハートビートの受信間隔.この間隔以内にRTC側から ハート                  ビートが送られてこないと生存確認失敗と判 断  ハートビート受信回数:この回数を超えて生存確認に失敗した場合,対象RTC
  • 68. 2013.5.22 ROBOMEC2013 RTM講習会 68 設定画面  「RT Name Ser vi ce Vi ew」-「接続」 【接続周期】  ネームサービスビューが,ネームサーバに情報を問い合わせる周期  「RT Name Ser vi ce Vi ew」-「同期」 【タイムアウト待ち時間】  ネームサービスビューが,リモートオブジェクトのレスポンスを待つ時間  「RT Syst em Edi t or 」-「接続」 【接続周期】  システムエディタが,ネームサーバに情報を問い合わせる周期 【接続周期】をゼロに設定する と ネームサーバとの同期を行わな
  • 69. 2013.5.22 ROBOMEC2013 RTM講習会 69 設定画面  「RT Syst em Edi t or 」-「アイコン」 【表示アイコン】  RTC内に表示するアイコンを指定可能  カテゴリ単位,RTC名称単位で設定が可能