Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
openrtm
PDF, PPTX
164 views
3.RTCプログラミング演習
高度ポリテクセンター「RTミドルウェアによるロボットプログラミング技術」(2020年11月10日~11日)
Education
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 111
2
/ 111
3
/ 111
4
/ 111
5
/ 111
6
/ 111
7
/ 111
8
/ 111
9
/ 111
10
/ 111
11
/ 111
12
/ 111
13
/ 111
14
/ 111
15
/ 111
16
/ 111
17
/ 111
18
/ 111
19
/ 111
20
/ 111
21
/ 111
22
/ 111
23
/ 111
24
/ 111
25
/ 111
26
/ 111
27
/ 111
28
/ 111
29
/ 111
30
/ 111
31
/ 111
32
/ 111
33
/ 111
34
/ 111
35
/ 111
36
/ 111
37
/ 111
38
/ 111
39
/ 111
40
/ 111
41
/ 111
42
/ 111
43
/ 111
44
/ 111
45
/ 111
46
/ 111
47
/ 111
48
/ 111
49
/ 111
50
/ 111
51
/ 111
52
/ 111
53
/ 111
54
/ 111
55
/ 111
56
/ 111
57
/ 111
58
/ 111
59
/ 111
60
/ 111
61
/ 111
62
/ 111
63
/ 111
64
/ 111
65
/ 111
66
/ 111
67
/ 111
68
/ 111
69
/ 111
70
/ 111
71
/ 111
72
/ 111
73
/ 111
74
/ 111
75
/ 111
76
/ 111
77
/ 111
78
/ 111
79
/ 111
80
/ 111
81
/ 111
82
/ 111
83
/ 111
84
/ 111
85
/ 111
86
/ 111
87
/ 111
88
/ 111
89
/ 111
90
/ 111
91
/ 111
92
/ 111
93
/ 111
94
/ 111
95
/ 111
96
/ 111
97
/ 111
98
/ 111
99
/ 111
100
/ 111
101
/ 111
102
/ 111
103
/ 111
104
/ 111
105
/ 111
106
/ 111
107
/ 111
108
/ 111
109
/ 111
110
/ 111
111
/ 111
More Related Content
PDF
201110 03
by
openrtm
PDF
4.総合演習(1)
by
openrtm
PDF
201111 04
by
openrtm
PDF
2.プログラミングの基礎
by
openrtm
PDF
201110 02 Polytech center 2
by
openrtm
PDF
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
by
Noriaki Ando
PDF
201110 01 Polytech Center 1
by
openrtm
PDF
201111 05
by
openrtm
201110 03
by
openrtm
4.総合演習(1)
by
openrtm
201111 04
by
openrtm
2.プログラミングの基礎
by
openrtm
201110 02 Polytech center 2
by
openrtm
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
by
Noriaki Ando
201110 01 Polytech Center 1
by
openrtm
201111 05
by
openrtm
What's hot
PDF
Rtコンポーネント作成入門
by
openrtm
PPTX
Pythonを中心としたチーム開発
by
Ryo Takahashi
PDF
OpenRTM概要
by
openrtm
PDF
Rtshell入門
by
openrtm
PDF
Rtミドルウェアサマーキャンプ2021_宮本信彦
by
openrtm
PDF
5.総合演習(2)
by
openrtm
PDF
RTミドルウェアサマーキャンプ2021_坂本武志_1
by
openrtm
PDF
NEDO講座 MoveIt! チュートリアル 第1部
by
openrtm
PDF
Rtmコンテスト必勝法
by
openrtm
PDF
Slam実習
by
openrtm
PDF
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
by
NoriakiAndo
PDF
SICE 2020 Rtm tutorial 2_online_ja
by
openrtm
PPTX
2015 1025 OSC-Fall Tokyo NETMF
by
Atomu Hidaka
PDF
ROBOMECH2021 RTMオンライン講習会 第1部
by
openrtm
PDF
1.コース概要
by
openrtm
PDF
ROBOMECH2021 RTM講習会 第1部
by
openrtm
PDF
190605 04
by
openrtm
PDF
2015 summercamp 09
by
openrtm
PDF
200923 01jp
by
openrtm
PPTX
200527 RTM Tutorial in ROBOMECH2020
by
openrtm
Rtコンポーネント作成入門
by
openrtm
Pythonを中心としたチーム開発
by
Ryo Takahashi
OpenRTM概要
by
openrtm
Rtshell入門
by
openrtm
Rtミドルウェアサマーキャンプ2021_宮本信彦
by
openrtm
5.総合演習(2)
by
openrtm
RTミドルウェアサマーキャンプ2021_坂本武志_1
by
openrtm
NEDO講座 MoveIt! チュートリアル 第1部
by
openrtm
Rtmコンテスト必勝法
by
openrtm
Slam実習
by
openrtm
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
by
NoriakiAndo
SICE 2020 Rtm tutorial 2_online_ja
by
openrtm
2015 1025 OSC-Fall Tokyo NETMF
by
Atomu Hidaka
ROBOMECH2021 RTMオンライン講習会 第1部
by
openrtm
1.コース概要
by
openrtm
ROBOMECH2021 RTM講習会 第1部
by
openrtm
190605 04
by
openrtm
2015 summercamp 09
by
openrtm
200923 01jp
by
openrtm
200527 RTM Tutorial in ROBOMECH2020
by
openrtm
Similar to 3.RTCプログラミング演習
PDF
200527 ur
by
NoriakiAndo
PDF
160705-w03 RTミドルウエア講習会・早稲田大
by
openrtm
ODP
130329 04
by
openrtm
ODP
20130329 rtm4
by
openrtm
PPT
170622 02
by
openrtm
PDF
SICE 2020 Rtm tutorial 2_online_en
by
openrtm
PDF
130710 02
by
openrtm
PDF
Rtミドルウェア講習会@名城大学 20140624 2
by
openrtm
PDF
Rtミドルウェア講習会@名城大学 20140624 3
by
openrtm
PDF
130711 02
by
openrtm
PDF
181106 02
by
openrtm
PDF
Rtm講習会 140626 02
by
openrtm
PDF
160705-02 RTミドルウエア講習会・名城大
by
openrtm
PDF
130719 02
by
openrtm
PDF
150629 02
by
openrtm
PDF
130522 rt講習会(説明用)
by
openrtm
PDF
RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミング
by
Noriaki Ando
PDF
181106 03
by
openrtm
PDF
Japan Robot Week 2016 RTM講習会 第2部
by
openrtm
PDF
プログラミング実習
by
openrtm
200527 ur
by
NoriakiAndo
160705-w03 RTミドルウエア講習会・早稲田大
by
openrtm
130329 04
by
openrtm
20130329 rtm4
by
openrtm
170622 02
by
openrtm
SICE 2020 Rtm tutorial 2_online_en
by
openrtm
130710 02
by
openrtm
Rtミドルウェア講習会@名城大学 20140624 2
by
openrtm
Rtミドルウェア講習会@名城大学 20140624 3
by
openrtm
130711 02
by
openrtm
181106 02
by
openrtm
Rtm講習会 140626 02
by
openrtm
160705-02 RTミドルウエア講習会・名城大
by
openrtm
130719 02
by
openrtm
150629 02
by
openrtm
130522 rt講習会(説明用)
by
openrtm
RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミング
by
Noriaki Ando
181106 03
by
openrtm
Japan Robot Week 2016 RTM講習会 第2部
by
openrtm
プログラミング実習
by
openrtm
More from openrtm
PDF
ROBOMECH2023 RTミドルウェア講習会 第1部
by
openrtm
PDF
SysML実習20220822SC_GA.pdf
by
openrtm
PDF
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
by
openrtm
PPTX
まねっこロボット
by
openrtm
PPTX
GNGを使った未知環境における経路計画
by
openrtm
PPTX
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
by
openrtm
PPTX
RTサマーキャンプ2022最終発表_都立大.pptx
by
openrtm
PPTX
ピッキングシステム
by
openrtm
PDF
RTミドルウェアサマーキャンプ資料2022.pdf
by
openrtm
PDF
商品自動補充ロボットシステム
by
openrtm
ROBOMECH2023 RTミドルウェア講習会 第1部
by
openrtm
SysML実習20220822SC_GA.pdf
by
openrtm
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
by
openrtm
まねっこロボット
by
openrtm
GNGを使った未知環境における経路計画
by
openrtm
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
by
openrtm
RTサマーキャンプ2022最終発表_都立大.pptx
by
openrtm
ピッキングシステム
by
openrtm
RTミドルウェアサマーキャンプ資料2022.pdf
by
openrtm
商品自動補充ロボットシステム
by
openrtm
3.RTCプログラミング演習
1.
3. RTCプログラミング演習 2021年11⽉09⽇ ⾼度ポリテクセンター・能⼒開発セミナー (E0771) 「RTミドルウェアによるロボットプログラミング技術」
2.
• 本⽇の講習会のWebページ – https://bit.ly/3EI3peN •
こちらに、必要な情報がま とまっていますので、ブッ クマークしてください。 2 はじめに
3.
3 概要 1. RTCBuilderによるひな形コードの⽣成 2. プログラムの作成とコンパイル 3.
システム構築とテスト ⽬標︓ 1.RTCのひな形コードをRTCBuilderを使って⽣成する⽅法を学ぶ。 2.RTCのコアロジックを実装しコンパイルする⽅法を学ぶ。 3.作成したRTCを他のRTCでシステムを構築する⽅法を学ぶ。
4.
(1)RTCBuilderによるひな形 コードの⽣成 4
5.
5 5 • 画像の反転を⾏うコンポーネントの作成 – InPortで受信した画像データを処理してOutPortから出⼒ •
データポートの使⽤⽅法を習得 – コンフィギュレーションパラメータにより反転する⽅向を設定 • コンフィギュレーションパラメータの使⽤⽅法を習得 – RT System Editorにより他のRTCと接続、RTCをアクティブ化 • RT System Editorの使い⽅を習得 実習内容
6.
6 6 • RTC Builderによるソースコード等のひな型の作 成 •
ソースコードの編集、ビルド – ビルドに必要な各種ファイルを⽣成 • CMakeLists.txtの編集 • CMakeにより各種ファイル⽣成 – ソースコードの編集 • Flip.hの編集 • Flip.cppの編集 – ビルド • Visual Studio • RTシステムエディタによるRTシステム作成、動 作確認 – RTシステム作成 • データポート接続、コンフィギュレーションパラメータ設定 全体の⼿順
7.
7 コンポーネント開発ツール RTCBuilderについて
8.
8 8 • コンポーネントのプロファイル情報を⼊⼒し, ソースコード等のひな型を⽣成するツール – C++、Python、Javaのソースコードを出⼒ RTCBuilder
9.
9 9 RTC Builderの起動 • 起動する⼿順 –
Windows 10 • 左下検索窓に「OpenRTP」を⼊⼒ – Ubuntu • 以下のコマンドを⼊⼒ • $ ./openrtp
10.
10 10 • Windows 10 RTC
Builderの起動 左下の検索窓に”openrtp”と⼊⼒ すると”OpenRTP”が候補として 出てくる
11.
11 11 • いちいちアプリビューから起動するのは⾮常に⼿間が かかるため、以下の作業をしてスタートメニューの フォルダを開いておくことをお勧めします。 RTC Builderの起動 ここを右クリックして「ファイルの 場所を開く」を選択
12.
12 12 RTC Builderの起動
13.
13 13 RTC Builderの起動
14.
14 14 プロジェクト作成 • Flipコンポーネントのひな形コードを作成する。 – 画像の反転を⾏うコンポーネント •
InPortで受信した画像データを処理してOutPortから出⼒ • コンフィギュレーションパラメータにより反転する⽅向を設定 • RT System Editorにより他のRTCと接続、RTCをアクティブ化
15.
15 15 資料 • 右図のようにOpenRTM-aist公 式サイトの本⽇の講習会のペー ジから、チュートリアルを開く – https://bit.ly/3EI3peN •
Windowsで開発を⾏いますので 「チュートリアル(画像処理コ ンポーネントの作成: Windows )」を開いてください – 参考のためLinux版のチュートリア ルも掲載しています • Openrtm.orgのメニューからは – ドキュメント→ケーススタディ→画 像処理コンポーネント – で到達可能
16.
16 16 プロジェクト作成 • Eclipse起動時にワークスペースに指定したディレクトリに「Flip」とい うフォルダが作成される – この時点では「RTC.xml」と「.project」のみが⽣成されている •
以下の項⽬を設定する – 基本プロファイル – アクティビティ・プロファイル – データポート・プロファイル – サービスポート・プロファイル – コンフィギュレーション – ドキュメント – ⾔語環境 – RTC.xml
17.
17 17 基本プロファイルの⼊⼒ • RTコンポーネントのプロファイル情報など,コンポーネントの基本情報 を設定. • コード⽣成,インポート/エクスポート,パッケージング処理を実⾏
18.
18 18 基本プロファイルの⼊⼒ • モジュール名 – Flip •
モジュール概要 – 任意(Flip image component) • バージョン – 任意(1.0.0) • ベンダ名 – 任意 • モジュールカテゴリ – 任意(ImageProcessing) • コンポーネント型 – STATIC • アクティビティ型 – PERIODIC • コンポーネントの種類 – DataFlow • 最⼤インスタンス数 – 1 • 実⾏型 – PeriodicExecutionContext • 実⾏周期 – 1000.0 • 概要 – 任意
19.
アクティビティの設定 • 指定アクティビティを有効にする⼿順 • 使⽤するアクティビティを設定する
20.
20 20 アクティビティの設定 コールバック関数 処理 onInitialize 初期化処理 onActivated
アクティブ化されるとき1度だけ呼ばれる onExecute アクティブ状態時に周期的に呼ばれる onDeactivated 非アクティブ化されるとき1度だけ呼ばれる onAborting ERROR状態に入る前に1度だけ呼ばれる onReset resetされる時に1度だけ呼ばれる onError ERROR状態のときに周期的に呼ばれる onFinalize 終了時に1度だけ呼ばれる onStateUpdate onExecuteの後毎回呼ばれる onRateChanged ExecutionContextのrateが変更されたとき1度だ け呼ばれる onStartup ExecutionContextが実行を開始するとき1度だ け呼ばれる onShutdown ExecutionContextが実行を停止するとき1度だ け呼ばれる
21.
21 21 アクティビティの設定 • 以下のアクティビティ を有効にする – onInitialize –
onActivated – onDeactivated – onExecute • Documentationは適 当に書いておいてくだ さい – 空⽩でも⼤丈夫です
22.
データポートの設定 • データポートを追加する⼿順 • InPort、OutPortの追加、設定を⾏う
23.
データポートの設定 • 以下のInPortを設定する – originalImage •
データ型︓ RTC::CameraImage • 他の項⽬は任意 • 以下のOutPortを設定す る – flippedImage • データ型︓ RTC::CameraImage • 他の項⽬は任意 • ※今回使⽤するのは RTC::CameraImageなので Img::CameraImageと間違え ないようにする。 • ※ポート名を間違えないよう にしてください。
24.
データポートについて • 連続したデータを通信するためのポート • 以下の例はデータフロー型がpush、サブスクリプション型が flush、インターフェース型がcorba_cdrの場合
25.
RTC::CameraImage型について • InterfaceDataTypes.idlで定義されている画像データ通信のためのデータ型
26.
コンフィギュレーションの設定 • コンフィギュレーションパラメータを追加する⼿順 • コンフィギュレーションパラメータの追加、設定を⾏う
27.
コンフィギュレーションの設定 • 以下のコンフィギュレー ションパラメータを設定す る – flipMode •
データ型︓int • デフォルト値︓0 • 制約条件︓(0,-1,1) • Widget︓radio • 他の項⽬は任意 • 反転する⽅向を設定可能にする
28.
コンフィギュレーションパラメータ の制約、Widgetの設定 • 制約条件︓ 0<=x<=100 • Widget︓slider •
Step︓10 • 制約条件︓ 0<=x<=100 • Widget︓spin • Step︓10 • Widget︓text • RT System Editorでコンフィギュレーションパラメータ を編集する際にGUIを表⽰する
29.
コンフィギュレーションパラメータ の制約、Widgetの設定 • 制約条件︓(0,1,2,3) • Widget︓checkbox •
制約条件︓(0,1,2,3) • Widget︓ordered_list • 制約条件︓(0,1,2,3) • Widget︓radio
30.
ドキュメントの設定 • 各種ドキュメント情報を設定 • 今回は適当に設定しておいてくださ い。 –
空⽩でも⼤丈夫です
31.
⾔語の設定 • 実装する⾔語,動作環境に関する情報を設定
32.
スケルトンコードの⽣成 • 基本タブからコード⽣成ボ タンを押すことでスケルト ンコードが⽣成される – Workspace¥Flip以下に⽣成 •
ソースコード – C++ソースファイル(.cpp) – ヘッダーファイル(.h) » このソースコードに画像を反 転させる処理を記述する • CMakeの設定ファイル – CMakeLists.txt • rtc.conf、Flip.conf • 以下略 – ファイルが⽣成できているか を確認してください
33.
33 (2)プログラムの作成とコンパイル
34.
34 34 • ビルドに必要な各種ファイルを⽣成 – CMakeLists.txtの編集 –
CMakeにより各種ファイル⽣成 • ソースコードの編集 – Flip.hの編集 – Flip.cppの編集 • ビルド –Windows︓ Visual Studio –Ubuntu︓ Code::Blocks ⼿順
35.
35 35 • ビルドに必要な各種ファイルを⽣成 – CMakeLists.txtに設定を記述 •
RTC Builderでスケルトンコードを作成した時にCMakeLists.txtも⽣成されている CMake
36.
• OpenCVを利⽤するためにCMakeLists.txtを修正する – worksapce¥FlipのsrcフォルダのCMakeLists.txtをメモ帳などで開 いて編集する 36 36 CMakeLists.txtの編集
37.
37 37 • CMakeを使⽤する – Windows
7 • 「スタート」→「すべてのプログラム」→「CMake 3.5.2」→「CMake (cmake- gui)」 – Windows 8.1 • 「スタート」→「アプリビュー(右下⽮印)」→「CMake 3.5.2」→「CMake (cmake-gui)」 – Windows 10 • 右下検索窓「cmake」→「CMake (cmake-gui)」 – Ubuntu • コマンドで「cmake-gui」を⼊⼒ ビルドに必要なファイルの⽣成
38.
38 38 ビルドに必要なファイルの⽣成
39.
39 39 ビルドに必要なファイルの⽣成
40.
40 40 ビルドに必要なファイルの⽣成
41.
41 41 ビルドに必要なファイルの⽣成
42.
42 42 ソースコードの編集 • Windows – buildフォルダの「Flip.sln」をダブルクリックして開く •
Ubuntu – buildフォルダの「Flip.cbp」をダブルクリックして開く
43.
43 43 ソースコードの編集 • Windows – Visual
Studioが起動 • Ubuntu – Code::Blocksが起動
44.
44 44 ソースコードの編集 • Flip.hの編集 Visual Studio
Code::Blocks
45.
45 45 ソースコードの編集 • Flip.hの編集
46.
46 46 ソースコードの編集 • Flip.cppの編集 – 配布したUSBメモリの「Flip」→「ソースコード」内に⾒本を同梱 Visual
Studio Code::Blocks
47.
47 47 ソースコードの編集 • Flip.cppの編集
48.
48 48 ソースコードの編集 • Flip.cppの編集 – 配布したUSBメモリの「Flip」→「ソースコード」内に⾒本を同梱
49.
49 49 ソースコードの編集 • データを読み込む⼿順 • データを書き込む⼿順
50.
50 50 ソースコードのコンパイル Visual Studio Code::Blocks
51.
51 (3)システム構築とテスト
52.
52 52 • RTCをGUIで操作するためのツール – データポート、サービスポートの接続 –
アクティブ化、⾮アクティブ化、リセット、終了 – コンフィギュレーションパラメータの操作 – 実⾏コンテキストの操作 • 実⾏周期変更 • 実⾏コンテキストの関連付け – 複合化 – マネージャからRTCを起動 – 作成したRTシステムの保存、復元 RT System Editor
53.
53 53 RT System Editorの起動
54.
54 54 RT System Editorの画⾯構成
55.
55 55 Flipコンポーネントの動作確認 • WEBカメラで撮影した画像を反転させて表⽰するRTシステムを作成する – ネームサーバーを起動する –
CameraViewerコンポーネント、OpenCVCameraコンポーネントを起動する • Windows – 「OpenRTM-aist 1.2.2」→「C++」→「Components」→「OpenCVExamples」 • Ubuntu – $ /usr/local/share/openrtm-1.1/components/c++/opencv-rtcs/CameraViewerComp – $ /usr/local/share/openrtm-1.1/components/c++/opencv-rtcs/OpenCVCameraComp – Flipコンポーネント起動 • Windows – build¥srcフォルダのRelease(もしくはDebug)フォルダ内にFlipComp.exeが⽣成され ているためこれを起動する • Ubuntu – build/srcフォルダにFlipCompが⽣成されているためこれを起動する – CameraViewerコンポーネント、OpenCVCameraコンポーネント、Flipコンポーネントを接続して 「All Activate」を⾏う
56.
56 56 • オブジェクトを名前で管理するサー ビス – RTCを⼀意の名前で登録する •
RTシステムエディタ等のツールはネームサー バーから名前でRTCの参照を取得する ネームサーバーの起動 • 起動⽅法 – RTSystemEditorのName Service Viewから起動 • 通常はこの⽅法 – コマンドを直接起動(スタートメニュー) • Windows: 「スタート」→あぷり⼀覧から「OpenRTM-aist 1.X.Y」→ 「Start Naming Service」を選択 • または︓「ここに⼊⼒して検索」からStart Naming程度まで⼊⼒する と「Start Naming Service」が表⽰される – Ubuntu • $ rtm-naming
57.
RTSystemEditorからのネームサーバー起動・接続 このアイコン 「ネームサービスを起動」 をクリック 5秒ほど待って “localhost” が現れたら起動・接続成功
58.
58 58 • Windows 10 (参考)ネームサーバー起動・接続を個別に⾏う 左下の検索窓に”start”と⼊⼒す ると”Start
Naming Service”が 候補として出てくる このアイコン 「ネームサーバを追加」 をクリック 現れるダイアログに 「ホスト名︓ポート番号」 を⼊⼒ (ポート番号は省略可能)
59.
59 59 Flipコンポーネントの動作確認 • WEBカメラで撮影した画像を反転させて表⽰するRTシステムを作成する – ネームサーバーを起動する –
CameraViewerコンポーネント、OpenCVCameraコンポーネントを起動する • Windows – 「OpenRTM-aist 1.2.2」→「C++」→「Components」→「OpenCVExamples」 • Ubuntu – $ /usr/share/openrtm-1.2/components/c++/opencv-rtcs/CameraViewerComp – $ /usr/share/openrtm-1.2/components/c++/opencv-rtcs/OpenCVCameraComp – Flipコンポーネント起動 • Windows – build¥srcフォルダのRelease(もしくはDebug)フォルダ内にFlipComp.exeが⽣成され ているためこれを起動する • Ubuntu – build/srcフォルダにFlipCompが⽣成されているためこれを起動する – CameraViewerコンポーネント、OpenCVCameraコンポーネント、Flipコンポーネントを接続して 「All Activate」を⾏う
60.
データポートの接続
61.
データポートの接続
62.
データポートの接続
63.
アクティブ化 • WEBカメラで撮影した画像が反転して表⽰されるかを確認し てください – 表⽰されない場合 •
カメラがPCに接続されていない • データポートを接続していない • RTCがアクティブになっていない
64.
RTコンポーネントの状態遷移 • RTCには以下の状態が存在する – Created •
⽣成状態 • 実⾏コンテキストを⽣成し、start()が呼ばれ て実⾏コンテキストのスレッドが実⾏中 (Runnning)状態になる • ⾃動的にInactive状態に遷移する – Inactive • ⾮活性状態 • activate_componentメソッドを呼び出すと 活性状態に遷移する • RT System Editor上での表⽰は⻘ – Active • 活性状態 • onExecuteコールバックが実⾏コンテキスト により実⾏される • リターンコードがRTC_OK以外の場合はエ ラー状態に遷移する • RT System Editor上での表⽰は緑 – Error • エラー状態 • onErrorコールバックが実⾏コンテキストに より実⾏される • reset_componentメソッドを呼び出すと⾮ 活性状態に遷移する • RT System Editor上での表⽰は⾚ – 終了状態
65.
RTコンポーネントの状態遷移(⽣成直後)
66.
RTコンポーネントの状態遷移(アクティブ化)
67.
67 67 コンフィギュレーションパラメータの操作 • コンフィギュレーションパラメータをRTシステムエディタから操 作する – 反転する⽅向を設定
68.
システムの保存
69.
システムの復元 • 以下の内容を復元 – ポート間の接続 –
コンフィギュレーション – 「Open and Create Restore」を選択した場合はマネージャからコンポーネント 起動
70.
⾮アクティブ化、終了 • ⾮アクティブ化 • 終了
71.
RTコンポーネントの状態遷移(⾮アクティブ化)
72.
72 RTCBuilder 補⾜
73.
リセット • RTCがエラー状態に遷移した場合にエディタ上には ⾚く表⽰される。 • 以下の操作で⾮アクティブ状態に戻す
74.
RTコンポーネントの状態遷移(エラー)
75.
RTコンポーネントの状態遷移(リセット)
76.
サービスポートの設定 • サービスポートの追加、インターフェースの追加、設定 を⾏う
77.
サービスポートの設定 • インターフェースを追加する
78.
サービスポートの設定 • コード⽣成後、Pythonの場合は idlcompile.bat(idlcompile.sh)を起動する • インターフェースの設定を⾏う
79.
サービスポートの設定 • IDLファイルについて – プログラミング⾔語に⾮依存のインターフェース定義⾔語 •
コンシュマー側でプロバイダ側のecho、get_valueなどのオペレー ションを呼び出す
80.
RTCBuilderに関する設定
81.
RTCBuilderに関する設定
82.
独⾃のデータ型の利⽤ • 独⾃のデータ型でデータポートの通信を⾏う⼿順 – IDLファイルを作成する •
MyDataType.idlを任意のフォルダ(ここではC:¥UserDefType)作成 • 別のIDLファイルをインクルードしている場合は同じフォルダにコピーす る
83.
独⾃のデータ型の利⽤ • 独⾃のデータ型でデータポートの通信を⾏う⼿順 – RTC
Builderの設定でIDLファイルの存在するディレクトリを 追加
84.
独⾃のデータ型の利⽤ • 独⾃のデータ型でデータポートの通信を⾏う⼿順
85.
85 RTSystemEditor 補⾜
86.
コネクタプロファイルの設定 項目 設定内容 Name 接続の名称 DataType
ポート間で送受信するデータの型. ex)TimedOctet,TimedShortなど InterfaceType データを送信方法.ex)corba_cdrなど DataFlowType データの送信手順.ex)push, pullなど SubscriptionType データ送信タイミング.送信方法がPushの場 合有効.New, Periodic, Flushから選択 Push Rate データ送信周期(単位:Hz). SubscriptionTypeがPeriodicの場合のみ有 効 Push Policy データ送信ポリシー.SubscriptionTypeが New,Periodicの場合のみ有効. all,fifo, skip,newから選択 Skip Count 送信データスキップ数.Push PolicyがSkip の場合のみ有効
87.
コネクタプロファイルの設定 • InterfaceTye – データの送信⽅法 •
corba_cdr (CORBAによる通信) • Direct (同⼀プロセスで起動したRTC間でデータを直接変数に渡す) • shared_memory (共有メモリによる通信) • DataFlowType – データの送信⼿順 • Push – OutPortがInPortにデータを送る • Pull – InPortがOutPortに問い合わせてデータを受け取る • SubscriptionType – データ送信タイミング(DataFlowTypeがPush型のみ有効) • flush(同期) – バッファを介さず即座に同期的に送信 • new(⾮同期) – バッファ内に新規データが格納されたタイミングで送信 • periodic(⾮同期) – ⼀定周期で定期的にデータを送信 • Push Policy(SubscriptionTypeがnew、periodicのみ有効) – データ送信ポリシー • all – バッファ内のデータを⼀括送信 • fifo – バッファ内のデータをFIFOで1個ずつ送信 • skip – バッファ内のデータを間引いて送信 • new – バッファ内のデータの最新値を送信(古い値は捨てられる)
88.
コネクタプロファイルの設定 • DataFlowType – Push –
Pull
89.
コネクタプロファイルの設定 • SubscriptionType – flush(同期) –
new、 periodic(⾮同期)
90.
コネクタプロファイルの設定 項目 設定内容 Buffer length
バッファの大きさ Buffer full policy データ書き込み時に,バッ ファフルだった場合の処理. overwrite,do_nothing, blockから選択 Buffer write timeout データ書き込み時に,タイ ムアウトイベントを発生さ せるまでの時間(単位:秒) Buffer empty policy データ読み出し時に,バッ ファが空だった場合の処 理.readback, do_nothing,blockから選 択 Buffer read timeout データ読み出し時に,タイ ムアウトイベントを発生さ せるまでの時間(単位:秒)
91.
サービスポートについて • コマンドレベルのやり取りを⾏うための仕組み – 任意のタイミングで操作を⾏いたい時などに使⽤ •
例えばロボットアームのサーボを停⽌させる、ハンドを閉じる等 • コンシューマ側がプロバイダ側が提供する関 数群(オペレーション、メソッド)を呼び出す • インターフェースはIDLファイルで定義する。
92.
サービスポートの接続
93.
コンフィギュレーションパラメータについて • パラメータを外部から操作する仕組み – コンポーネント作成後に変更が必要なパラメータを設定する •
例えばデバイスが接続されているCOMポート番号の設定等
94.
コンフィギュレーションパラメータの設定
95.
コンフィギュレーションパラメータの設定 • 方法1 • 方法2
96.
マネージャの操作 • CameraViewerComp.exe、OpenCVCameraComp.exeのプロ セスではマネージャが起動している – マネージャがコンポーネントを起動する
97.
マネージャの操作
98.
マネージャの操作 • マスターマネージャの起動、RT System
Editorから の操作によるRTCの⽣成までの⼿順を説明する – rtc.confの設定 • 「manager.is_master」を「YES」に設定して起動するマネージャをマ スターに設定する – manager.is_master: YES • モジュール探索パスの設定 – manager.modules.load_path: ., C:¥¥Program Files (x86)¥¥OpenRTM- aist¥¥1.2.2¥¥Components¥¥C++¥¥Examples¥¥vc12 – 作成したrtc.confを設定ファイルの指定してrtcd.exeを起動 する • rtcdはコマンドプロンプトからrtcd.exeを⼊⼒するか、OpenRTM-aist をインストールしたフォルダからコピーして使⽤する • rtcdはマネージャの起動のみを⾏う – 〜Comp.exeは起動時に特定のコンポーネントの起動も⾏う • RT Syetem Editorのネームサービスビューにマネージャが表⽰される
99.
マネージャの操作 • モジュールのロード
100.
マネージャの操作 • モジュールのロード
101.
マネージャの操作 • RTCの⽣成
102.
実⾏コンテキストの操作
103.
実⾏コンテキストの操作 • 実⾏周期の設定
104.
実⾏コンテキストの操作 • 実⾏コンテキストの関連付け – RTC起動時に⽣成した実⾏コンテキスト以外の実⾏コンテキストと関連付け •
関連付けた実⾏コンテキストでRTCを駆動させる – 他のRTCとの実⾏を同期させる
105.
実⾏コンテキストの操作 • 実⾏コンテキストの関連付け
106.
複合コンポーネントの操作 • 複合コンポーネントの⽣成
107.
複合コンポーネントの操作 • 複合コンポーネントの⽣成 • Type –
以下の3種類から選択可能 • PeriodicECShared – 実⾏コンテキストの共有 • PeriodicStateShared – 実⾏コンテキスト、状態の共有 • Grouping – グループ化のみ
108.
複合コンポーネントの操作
109.
複合コンポーネントの操作
110.
ゾンビの削除 • RTCのプロセスが異常終了する等してネームサーバー にゾンビが残った場合、以下の⼿順で削除する
111.
RT System Editorに関する設定
Download