Submit Search
181106 03
0 likes
446 views
O
openrtm
高度ポリテクセンター「RTミドルウェアによるプログラミング技術」2018年11月6日 (3)
Education
Read more
1 of 110
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
More Related Content
PDF
プログラミング実習
openrtm
PDF
RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミング
Noriaki Ando
PDF
181107 05
openrtm
PDF
160705-w02 RTミドルウエア講習会・早稲田大
openrtm
PDF
Japan Robot Week 2016 RTM講習会 第2部
openrtm
PDF
RTM講習会 2部
openrtm
PDF
マイコンロボット実習
Takehiko YOSHIDA
PDF
Bluetooth通信の仕組みと活用法紹介
Takehiko YOSHIDA
プログラミング実習
openrtm
RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミング
Noriaki Ando
181107 05
openrtm
160705-w02 RTミドルウエア講習会・早稲田大
openrtm
Japan Robot Week 2016 RTM講習会 第2部
openrtm
RTM講習会 2部
openrtm
マイコンロボット実習
Takehiko YOSHIDA
Bluetooth通信の仕組みと活用法紹介
Takehiko YOSHIDA
What's hot
(10)
PDF
RTコンポーネント作成入門
openrtm
PDF
Robovie Maker2éêàµê‡ñæèë
guesta33ba0
PDF
UEFI時代のブートローダ
Takuya ASADA
PDF
Miniseminar stm32 l4-iot-kit-updated-101018
hideyukiaraki
PDF
Dp tf stm32_cubemx0418j
hideyukiaraki
PDF
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Hiraku Toyooka
PPTX
Cisco ios
ssuser021e0d
PPTX
Cisco ios
ssuserc9df1e
PDF
運用ドキュメントから見たシステム運用を考える Vol.2.2 ベンチマーク計測
Naoya Hashimoto
PDF
最尤系統樹推定と系統樹の信頼性評価 講義編
astanabe
RTコンポーネント作成入門
openrtm
Robovie Maker2éêàµê‡ñæèë
guesta33ba0
UEFI時代のブートローダ
Takuya ASADA
Miniseminar stm32 l4-iot-kit-updated-101018
hideyukiaraki
Dp tf stm32_cubemx0418j
hideyukiaraki
Linuxのプロセススケジューラ(Reading the Linux process scheduler)
Hiraku Toyooka
Cisco ios
ssuser021e0d
Cisco ios
ssuserc9df1e
運用ドキュメントから見たシステム運用を考える Vol.2.2 ベンチマーク計測
Naoya Hashimoto
最尤系統樹推定と系統樹の信頼性評価 講義編
astanabe
Ad
Similar to 181106 03
(20)
PDF
RTコンポーネント作成入門
openrtm
PDF
SICE 2020 Rtm tutorial 2_online_en
openrtm
PPT
170622 02
openrtm
PDF
Getting Started with Jetson Nano
NVIDIA Japan
PDF
仮想化技術の今後の動向
VirtualTech Japan Inc.
PPTX
190925 python-windows
Takuya Nishimoto
PDF
RTミドルウエア講習会2015
Yuki Suga
PDF
openstack_neutron-ovs_osc2014tf_20141019
Takehiro Kudou
PDF
Rtミドルウェア講習会@名城大学 20140624 2
openrtm
PPTX
システムパフォーマンス勉強会#5
shingo suzuki
PDF
Let's scale-out PostgreSQL using Citus (Japanese)
Noriyoshi Shinoda
PPTX
Robotech2012講習会v01最終版v2
Yuki Suga
PDF
Archive: Git 入門(2014/1/10 社内勉強会)
Yoko TAMADA
PDF
160705-w01 RTミドルウエア講習会・早稲田大
openrtm
PDF
Windows 展開の自動化ツール - Microsoft Deployment Toolkit
shigeya
PPTX
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
NTT DATA Technology & Innovation
PDF
HeapStats: Introduction and Technical Preview
Yuji Kubota
PPTX
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
PPTX
Gstreamer Basics
Seiji Hiraki
PDF
200527 ur
NoriakiAndo
RTコンポーネント作成入門
openrtm
SICE 2020 Rtm tutorial 2_online_en
openrtm
170622 02
openrtm
Getting Started with Jetson Nano
NVIDIA Japan
仮想化技術の今後の動向
VirtualTech Japan Inc.
190925 python-windows
Takuya Nishimoto
RTミドルウエア講習会2015
Yuki Suga
openstack_neutron-ovs_osc2014tf_20141019
Takehiro Kudou
Rtミドルウェア講習会@名城大学 20140624 2
openrtm
システムパフォーマンス勉強会#5
shingo suzuki
Let's scale-out PostgreSQL using Citus (Japanese)
Noriyoshi Shinoda
Robotech2012講習会v01最終版v2
Yuki Suga
Archive: Git 入門(2014/1/10 社内勉強会)
Yoko TAMADA
160705-w01 RTミドルウエア講習会・早稲田大
openrtm
Windows 展開の自動化ツール - Microsoft Deployment Toolkit
shigeya
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
NTT DATA Technology & Innovation
HeapStats: Introduction and Technical Preview
Yuji Kubota
Slurmのジョブスケジューリングと実装
Ryuichi Sakamoto
Gstreamer Basics
Seiji Hiraki
200527 ur
NoriakiAndo
Ad
More from openrtm
(20)
PDF
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
PPTX
ピッキングシステム
openrtm
PPTX
GNGを使った未知環境における経路計画
openrtm
PPTX
まねっこロボット
openrtm
PDF
商品自動補充ロボットシステム
openrtm
PPTX
RTサマーキャンプ2022最終発表_都立大.pptx
openrtm
PDF
SysML実習20220822SC_GA.pdf
openrtm
PDF
RTミドルウェアサマーキャンプ資料2022.pdf
openrtm
PDF
NEDO講座 MoveIt! チュートリアル 第1部
openrtm
PDF
5.総合演習(2)
openrtm
PDF
4.総合演習(1)
openrtm
PDF
3.RTCプログラミング演習
openrtm
PDF
2.プログラミングの基礎
openrtm
PDF
1.コース概要
openrtm
PDF
OpenRTM概要
openrtm
PDF
Slam実習
openrtm
PDF
Rtshell入門
openrtm
PDF
Rtコンポーネント作成入門
openrtm
PDF
Rtミドルウェアサマーキャンプ2021_宮本信彦
openrtm
PDF
RTミドルウェアサマーキャンプ2021_坂本武志_1
openrtm
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
ピッキングシステム
openrtm
GNGを使った未知環境における経路計画
openrtm
まねっこロボット
openrtm
商品自動補充ロボットシステム
openrtm
RTサマーキャンプ2022最終発表_都立大.pptx
openrtm
SysML実習20220822SC_GA.pdf
openrtm
RTミドルウェアサマーキャンプ資料2022.pdf
openrtm
NEDO講座 MoveIt! チュートリアル 第1部
openrtm
5.総合演習(2)
openrtm
4.総合演習(1)
openrtm
3.RTCプログラミング演習
openrtm
2.プログラミングの基礎
openrtm
1.コース概要
openrtm
OpenRTM概要
openrtm
Slam実習
openrtm
Rtshell入門
openrtm
Rtコンポーネント作成入門
openrtm
Rtミドルウェアサマーキャンプ2021_宮本信彦
openrtm
RTミドルウェアサマーキャンプ2021_坂本武志_1
openrtm
181106 03
1.
RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミング
2.
22 • OpenRTM-aist – OpenRTM-aist-1.1.2-RELEASE_x86.msi –
インストール後に再起動する • Python – python-2.7.10.msi • 2.7.11は不具合が発⽣するため⾮推奨 – ※OpenRTM-aistの32bit版をインストールする場合Pythonも32bit 版をインストールする。 OpenRTM-aistの64bitをインストールする場合はPythonも64bit 版をインストールする。 • PyYAML – PyYAML-3.11.win32-py2.7.exe • CMake – cmake-3.5.2-win32-x86.msi • Doxygen – doxygen-1.8.11-setup.exe • Visual Studio – Visual Studio 2013 インストールの確認(Windows) より新しいバージョンがある場合、 そちらをインストールすること
3.
33 • OpenRTM-aist – $
sudo sh pkg_install_ubuntu.sh • CMake – $ sudo apt-get install cmake cmake-gui • Doxygen – $ sudo apt-get install doxygen • RT System Editor、RTC Builder – eclipse442-openrtp112v20160526-ja-linux-gtk-x86_64.tar.gzを適当な場所に展開 • Java – $ sudo apt-get default-jre • OpenCV – $ sudo apt-get install libopencv-dev libcv2.4 libcvaux2.4 libhighgui2.4 • OpenCVのサンプルコンポーネント – ⾃分でビルドする • $ svn co http://svn.openrtm.org/ImageProcessing/trunk/ImageProcessing/opencv/ • $ cd opencv • $ mkdir work • $ cd work • $ cmake .. • $ make • $ sudo make install • Code::Blocks(任意) – $ sudo apt-get install codeblocks インストールの確認(Ubuntu)
4.
44 • 画像の反転を⾏うコンポーネントの作成 – InPortで受信した画像データを処理してOutPortから出⼒ •
データポートの使⽤⽅法を習得 – コンフィギュレーションパラメータにより反転する⽅向を設定 • コンフィギュレーションパラメータの使⽤⽅法を習得 – RT System Editorにより他のRTCと接続、RTCをアクティブ化 • RT System Editorの使い⽅を習得 実習内容
5.
55 • RTC Builderによるソースコード等のひな型の作 成 •
ソースコードの編集、ビルド – ビルドに必要な各種ファイルを⽣成 • CMakeLists.txtの編集 • CMakeにより各種ファイル⽣成 – ソースコードの編集 • Flip.hの編集 • Flip.cppの編集 – ビルド • Visual Studio、Code::Blocks • RTシステムエディタによるRTシステム作成、動 作確認 – RTシステム作成 • データポート接続、コンフィギュレーションパラメータ設定 全体の⼿順
6.
6 コンポーネント開発ツール RTCBuilderについて
7.
77 • コンポーネントのプロファイル情報を⼊⼒し, ソースコード等のひな型を⽣成するツール – C++、Python、Javaのソースコードを出⼒ RTCBuilder
8.
88 RTC Builderの起動 • 起動する⼿順 –
Windows 7 • 「スタート」→「すべてのプログラム」→「OpenRTM-aist 1.1.2」→「Tools」→「OpenRTP」 – Windows 8.1 • 「スタート」→「アプリビュー(右下⽮印)」→「OpenRTM- aist 1.1.2」→「OpenRTP」 • ※同じフォルダに「RTSystemEditorRCP」がありますが、こ れはRTC Builderが使えないので今回は「OpenRTP」を起動し てください。 – Windows 10 • 左下検索窓に「OpenRTP」を⼊⼒ – Ubuntu • Eclipseを展開したディレクトリに移動して以下のコマンド • $ ./openrtp
9.
99 • Windows 8.1 RTC
Builderの起動 デスクトップ スタート画⾯ アプリビュー
10.
1010 • いちいちアプリビューから起動するのは⾮常に⼿間が かかるため、以下の作業をしてスタートメニューの フォルダを開いておくことをお勧めします。 RTC Builderの起動
11.
1111 RTC Builderの起動
12.
1212 RTC Builderの起動
13.
1313 プロジェクト作成 • Flipコンポーネントのスケルトンコードを作成 する。 – 画像の反転を⾏うコンポーネント •
InPortで受信した画像データを処理してOutPortから出⼒ • コンフィギュレーションパラメータにより反転する⽅向を設定 • RT System Editorにより他のRTCと接続、RTCをアクティブ化
14.
1414 資料 • 右図のようにOpenRTM- aist公式サイトからページ を開く – https://bit.ly/2yD1SX K •
もしくは配布のUSBメモリ のhtmlファイルを開く。 – 「Flip」→「作成⼿順」→ 「Windows」or「Ubuntu」→「画 像処理コンポーネントの作成 〜.html」 • Flipコンポーネントのソース コードはUSBメモリの以下の フォルダに同梱してあります。 – 「Flip」→「ソースコード」
15.
1515 プロジェクト作成 • Eclipse起動時にワークスペースに指定したディレクトリに「Flip」とい うフォルダが作成される – この時点では「RTC.xml」と「.project」のみが⽣成されている •
以下の項⽬を設定する – 基本プロファイル – アクティビティ・プロファイル – データポート・プロファイル – サービスポート・プロファイル – コンフィギュレーション – ドキュメント – ⾔語環境 – RTC.xml
16.
1616 基本プロファイルの⼊⼒ • RTコンポーネントのプロファイル情報など,コンポーネントの基本情報 を設定. • コード⽣成,インポート/エクスポート,パッケージング処理を実⾏
17.
1717 基本プロファイルの⼊⼒ • モジュール名 – Flip •
モジュール概要 – 任意(Flip image component) • バージョン – 任意(1.0.0) • ベンダ名 – 任意 • モジュールカテゴリ – 任意(ImageProcessing) • コンポーネント型 – STATIC • アクティビティ型 – PERIODIC • コンポーネントの種類 – DataFlow • 最⼤インスタンス数 – 1 • 実⾏型 – PeriodicExecutionContext • 実⾏周期 – 1000.0 • 概要 – 任意
18.
アクティビティの設定 • 指定アクティビティを有効にする⼿順 • 使⽤するアクティビティを設定する
19.
1919 アクティビティの設定 コールバック関数 処理 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度だ け呼ばれる
20.
2020 アクティビティの設定 • 以下のアクティビティ を有効にする – onInitialize –
onActivated – onDeactivated – onExecute • Documentationは適 当に書いておいてくだ さい – 空⽩でも⼤丈夫です
21.
データポートの設定 • データポートを追加する⼿順 • InPort、OutPortの追加、設定を⾏う
22.
データポートの設定 • 以下のInPortを設定する – originalImage •
データ型︓ RTC::CameraImage • 他の項⽬は任意 • 以下のOutPortを設定す る – flippedImage • データ型︓ RTC::CameraImage • 他の項⽬は任意 • ※今回使⽤するのは RTC::CameraImageなので Img::CameraImageと間違え ないようにする。 • ※ポート名を間違えないよう にしてください。
23.
データポートについて • 連続したデータを通信するためのポート • 以下の例はデータフロー型がpush、サブスクリプション型が flush、インターフェース型がcorba_cdrの場合
24.
RTC::CameraImage型について • InterfaceDataTypes.idlで定義されている画像データ通信のためのデータ型
25.
コンフィギュレーションの設定 • コンフィギュレーションパラメータを追加する⼿順 • コンフィギュレーションパラメータの追加、設定を⾏う
26.
コンフィギュレーションの設定 • 以下のコンフィギュレー ションパラメータを設定す る – flipMode •
データ型︓int • デフォルト値︓0 • 制約条件︓(0,-1,1) • Widget︓radio • 他の項⽬は任意 • 反転する⽅向を設定可能にする
27.
コンフィギュレーションパラメータ の制約、Widgetの設定 • 制約条件︓ 0<=x<=100 • Widget︓slider •
Step︓10 • 制約条件︓ 0<=x<=100 • Widget︓spin • Step︓10 • Widget︓text • RT System Editorでコンフィギュレーションパラメータ を編集する際にGUIを表⽰する
28.
コンフィギュレーションパラメータ の制約、Widgetの設定 • 制約条件︓(0,1,2,3) • Widget︓checkbox •
制約条件︓(0,1,2,3) • Widget︓ordered_list • 制約条件︓(0,1,2,3) • Widget︓radio
29.
ドキュメントの設定 • 各種ドキュメント情報を設定 • 今回は適当に設定しておいてくださ い。 –
空⽩でも⼤丈夫です
30.
⾔語の設定 • 実装する⾔語,動作環境に関する情報を設定
31.
スケルトンコードの⽣成 • 基本タブからコード⽣成ボ タンを押すことでスケルト ンコードが⽣成される – Workspace¥Flip以下に⽣成 •
ソースコード – C++ソースファイル(.cpp) – ヘッダーファイル(.h) » このソースコードに画像を反 転させる処理を記述する • CMakeの設定ファイル – CMakeLists.txt • rtc.conf、Flip.conf • 以下略 – ファイルが⽣成できているか を確認してください
32.
32 ソースコードの編集、RTCのビルド
33.
3333 • ビルドに必要な各種ファイルを⽣成 – CMakeLists.txtの編集 –
CMakeにより各種ファイル⽣成 • ソースコードの編集 – Flip.hの編集 – Flip.cppの編集 • ビルド –Windows︓ Visual Studio –Ubuntu︓ Code::Blocks ⼿順
34.
3434 • ビルドに必要な各種ファイルを⽣成 – CMakeLists.txtに設定を記述 •
RTC Builderでスケルトンコードを作成した時にCMakeLists.txtも⽣成されている CMake
35.
• OpenCVを利⽤するためにCMakeLists.txtを修正する – worksapce¥FlipのsrcフォルダのCMakeLists.txtをメモ帳などで開 いて編集する 3535 CMakeLists.txtの編集
36.
3636 • 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」を⼊⼒ ビルドに必要なファイルの⽣成
37.
3737 ビルドに必要なファイルの⽣成
38.
3838 ビルドに必要なファイルの⽣成
39.
3939 ビルドに必要なファイルの⽣成
40.
4040 ビルドに必要なファイルの⽣成
41.
4141 ソースコードの編集 • Windows – buildフォルダの「Flip.sln」をダブルクリックして開く •
Ubuntu – buildフォルダの「Flip.cbp」をダブルクリックして開く
42.
4242 ソースコードの編集 • Windows – Visual
Studioが起動 • Ubuntu – Code::Blocksが起動
43.
4343 ソースコードの編集 • Flip.hの編集 Visual Studio
Code::Blocks
44.
4444 ソースコードの編集 • Flip.hの編集
45.
4545 ソースコードの編集 • Flip.cppの編集 – 配布したUSBメモリの「Flip」→「ソースコード」内に⾒本を同梱 Visual
Studio Code::Blocks
46.
4646 ソースコードの編集 • Flip.cppの編集
47.
4747 ソースコードの編集 • Flip.cppの編集 – 配布したUSBメモリの「Flip」→「ソースコード」内に⾒本を同梱
48.
4848 ソースコードの編集 • データを読み込む⼿順 • データを書き込む⼿順
49.
4949 ソースコードのコンパイル Visual Studio Code::Blocks
50.
50 システム構築⽀援ツール RT System Editorについて
51.
5151 • RTCをGUIで操作するためのツール – データポート、サービスポートの接続 –
アクティブ化、⾮アクティブ化、リセット、終了 – コンフィギュレーションパラメータの操作 – 実⾏コンテキストの操作 • 実⾏周期変更 • 実⾏コンテキストの関連付け – 複合化 – マネージャからRTCを起動 – 作成したRTシステムの保存、復元 RT System Editor
52.
5252 RT System Editorの起動
53.
5353 RT System Editorの画⾯構成
54.
5454 Flipコンポーネントの動作確認 • WEBカメラで撮影した画像を反転させて表⽰するRTシステムを作成する – ネームサーバーを起動する –
CameraViewerコンポーネント、OpenCVCameraコンポーネントを起動する • Windows – 「OpenRTM-aist 1.1.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」を⾏う
55.
5555 • オブジェクトを名前で管理するサー ビス – RTCを⼀意の名前で登録する •
RTシステムエディタ等のツールはネームサー バーから名前でRTCの参照を取得する ネームサーバーの起動 • 起動する⼿順 – Windows 7 • 「スタート」→「すべてのプログラム」→「OpenRTM-aist 1.1.2」→ 「Tools」→「Start Naming Service」 – Windows 8.1 • 「スタート」→「アプリビュー(右下⽮印)」→「OpenRTM-aist 1.1.2」→「Start Naming Service」 – Ubuntu • $ rtm-naming
56.
5656 • Windows 8.1 ネームサーバーの起動 デスクトップ
スタート画面 アプリビュー
57.
ネームサーバーへ接続
58.
5858 Flipコンポーネントの動作確認 • WEBカメラで撮影した画像を反転させて表⽰するRTシステムを作成する – ネームサーバーを起動する –
CameraViewerコンポーネント、OpenCVCameraコンポーネントを起動する • Windows – 「OpenRTM-aist 1.1.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」を⾏う
59.
データポートの接続
60.
データポートの接続
61.
データポートの接続
62.
アクティブ化 • WEBカメラで撮影した画像が反転して表⽰されるかを確認し てください – 表⽰されない場合 •
カメラがPCに接続されていない • データポートを接続していない • RTCがアクティブになっていない
63.
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上での表⽰は⾚ – 終了状態
64.
RTコンポーネントの状態遷移(⽣成直後)
65.
RTコンポーネントの状態遷移(アクティブ化)
66.
6666 コンフィギュレーションパラメータの操作 • コンフィギュレーションパラメータをRTシステムエディタから操 作する – 反転する⽅向を設定
67.
システムの保存
68.
システムの復元 • 以下の内容を復元 – ポート間の接続 –
コンフィギュレーション – 「Open and Create Restore」を選択した場合はマネージャからコンポーネント 起動
69.
⾮アクティブ化、終了 • ⾮アクティブ化 • 終了
70.
RTコンポーネントの状態遷移(⾮アクティブ化)
71.
71 RTCBuilder 補⾜
72.
リセット • RTCがエラー状態に遷移した場合にエディタ上には ⾚く表⽰される。 • 以下の操作で⾮アクティブ状態に戻す
73.
RTコンポーネントの状態遷移(エラー)
74.
RTコンポーネントの状態遷移(リセット)
75.
サービスポートの設定 • サービスポートの追加、インターフェースの追加、設定 を⾏う
76.
サービスポートの設定 • インターフェースを追加する
77.
サービスポートの設定 • コード⽣成後、Pythonの場合は idlcompile.bat(idlcompile.sh)を起動する • インターフェースの設定を⾏う
78.
サービスポートの設定 • IDLファイルについて – プログラミング⾔語に⾮依存のインターフェース定義⾔語 •
コンシュマー側でプロバイダ側のecho、get_valueなどのオペレー ションを呼び出す
79.
RTCBuilderに関する設定
80.
RTCBuilderに関する設定
81.
独⾃のデータ型の利⽤ • 独⾃のデータ型でデータポートの通信を⾏う⼿順 – IDLファイルを作成する •
MyDataType.idlを任意のフォルダ(ここではC:¥UserDefType)作成 • 別のIDLファイルをインクルードしている場合は同じフォルダにコピーす る
82.
独⾃のデータ型の利⽤ • 独⾃のデータ型でデータポートの通信を⾏う⼿順 – RTC
Builderの設定でIDLファイルの存在するディレクトリを 追加
83.
独⾃のデータ型の利⽤ • 独⾃のデータ型でデータポートの通信を⾏う⼿順
84.
84 RTSystemEditor 補⾜
85.
コネクタプロファイルの設定 項目 設定内容 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 の場合のみ有効
86.
コネクタプロファイルの設定• InterfaceTye – データの送信⽅法 –
1.1.2ではcorba_cdr(CORBAによる通信)のみ選択可能 – 1.2.0では以下の通信⽅法も選択可能になる予定 • 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 – バッファ内のデータの最新値を送信(古い値は捨てられる)
87.
コネクタプロファイルの設定 • DataFlowType – Push –
Pull
88.
コネクタプロファイルの設定 • SubscriptionType – flush(同期) –
new、 periodic(⾮同期)
89.
コネクタプロファイルの設定 項目 設定内容 Buffer length
バッファの大きさ Buffer full policy データ書き込み時に,バッ ファフルだった場合の処理. overwrite,do_nothing, blockから選択 Buffer write timeout データ書き込み時に,タイ ムアウトイベントを発生さ せるまでの時間(単位:秒) Buffer empty policy データ読み出し時に,バッ ファが空だった場合の処 理.readback, do_nothing,blockから選 択 Buffer read timeout データ読み出し時に,タイ ムアウトイベントを発生さ せるまでの時間(単位:秒)
90.
サービスポートについて • コマンドレベルのやり取りを⾏うための仕組み – 任意のタイミングで操作を⾏いたい時などに使⽤ •
例えばロボットアームのサーボを停⽌させる、ハンドを閉じる等 • コンシューマ側がプロバイダ側が提供する関 数群(オペレーション、メソッド)を呼び出す • インターフェースはIDLファイルで定義する。
91.
サービスポートの接続
92.
コンフィギュレーションパラメータについて • パラメータを外部から操作する仕組み – コンポーネント作成後に変更が必要なパラメータを設定する •
例えばデバイスが接続されているCOMポート番号の設定等
93.
コンフィギュレーションパラメータの設定
94.
コンフィギュレーションパラメータの設定 • 方法1 • 方法2
95.
マネージャの操作 • CameraViewerComp.exe、OpenCVCameraComp.exeのプロ セスではマネージャが起動している – マネージャがコンポーネントを起動する
96.
マネージャの操作
97.
マネージャの操作 • マスターマネージャの起動、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.1.2¥¥Components¥¥C++¥¥Examples¥¥vc12 – 作成したrtc.confを設定ファイルの指定してrtcd.exeを起動 する • rtcdはコマンドプロンプトからrtcd.exeを⼊⼒するか、OpenRTM-aist をインストールしたフォルダからコピーして使⽤する • rtcdはマネージャの起動のみを⾏う – 〜Comp.exeは起動時に特定のコンポーネントの起動も⾏う • RT Syetem Editorのネームサービスビューにマネージャが表⽰される
98.
マネージャの操作 • モジュールのロード
99.
マネージャの操作 • モジュールのロード
100.
マネージャの操作 • RTCの⽣成
101.
実⾏コンテキストの操作
102.
実⾏コンテキストの操作 • 実⾏周期の設定
103.
実⾏コンテキストの操作 • 実⾏コンテキストの関連付け – RTC起動時に⽣成した実⾏コンテキスト以外の実⾏コンテキストと関連付け •
関連付けた実⾏コンテキストでRTCを駆動させる – 他のRTCとの実⾏を同期させる
104.
実⾏コンテキストの操作 • 実⾏コンテキストの関連付け
105.
複合コンポーネントの操作 • 複合コンポーネントの⽣成
106.
複合コンポーネントの操作 • 複合コンポーネントの⽣成 • Type –
以下の3種類から選択可能 • PeriodicECShared – 実⾏コンテキストの共有 • PeriodicStateShared – 実⾏コンテキスト、状態の共有 • Grouping – グループ化のみ
107.
複合コンポーネントの操作
108.
複合コンポーネントの操作
109.
ゾンビの削除 • RTCのプロセスが異常終了する等してネームサーバー にゾンビが残った場合、以下の⼿順で削除する
110.
RT System Editorに関する設定
Download