SlideShare a Scribd company logo
RTミドルウェアツール紹介:
利用可能なRTコンポーネントや
ツールについて
宮本 信彦
国立研究開発法人産業技術総合研究所
インダストリアルCPS研究センター
ソフトウェアプラットフォーム研究チーム
2
2
ツールのダウンロード
• 以下からLibreOffice-portable.zipをダウンロードして適当な場所に展開
してください。
– https://drive.google.com/uc?id=1hvNcx3psttw-6b-
x1nuKGrVJwh9UOcJo&export=download
• 講義資料
– https://openrtm.org/openrtm/sites/default/files/6969/2020SummerCamp-
02.pdf.pdf
• 上記URLはZoomのチャットでお知らせします
3
3
これからどうやってロボットシステム
を開発するのか?
4
4
設計
要求図 内部ブロック図
• システムの要件の決定
• 使用するハードウェアの検討
• 再利用するRTCの検討
ハードウェア、既存の
RTCの動作確認
新規RTCの開発
RTシステムの構築、
動作確認
• RTCの導入方法、使用方法
の調査
• RTCのインストール
• RTCの入出力の確認
• RTCの詳細な仕様を決める
• コーディング、ビルド
• RTCの動作確認、デバッグ
• RTシステム構築
• RT System Editor
• rtshell
• 動作確認
昨日説明があった
rtshellについては
前の講義で説明
があった
この講義ではRTCの動作確認、新規RTC
の開発で有用なツールを紹介する
RTC Builderの
利用方法は講習
会で説明済み
RT System Editor
の利用方法は講
習会で説明済み
5
5
紹介するツール
• RtStorage
– 元々セックでOpenRTM.NETを開発していた人が作ったツール
– OutPortから出力されたデータをファイルに記録
– 保存したデータを、RTコンポーネントのInPortに対して再生
• 表計算ソフトとRTCを連携させるためのツール
– Excel、LibreOfficeCalcのセルの値をデータポートから入出力する
– 新規に開発したRTCの動作確認が簡単にできる
• OutPortから出力された値の確認
• InPortに任意の値を入力したときの挙動
– 既存のRTCについても、動作がよく分からない場合に確認できる
6
RtStorage
7
7
RtStorageの概要
• できる事
– OutPortから出力されたデータをファイルに記録
– 保存したデータを、RTコンポーネントのInPortに対して再生
– 上記の保存、再生がGUIで簡単にできる
• インストール手順
– 以下からRtStorage-ver.0.3.1.zipをダウンロードして展開
• https://github.com/zoetrope/RtStorage/releases
– RtStorage.slnをVisualStudioで開いてソリューションをビルド
– RtStorage¥bin¥ReleaseのRtStorage.exeを実行すると起動する
8
8
RtStorageの使い方
1. RtStorage.exeを実行する
2. ネームサーバーを登録する
3. ポートを登録追加、記録の開始
9
表計算ソフトとRTCの連携
10
10
表計算ソフトによるデータ入出力
11
11
デモ動画
12
12
デモ動画
13
13
• https://drive.google.com/uc?id=1hvNcx3psttw-6b-x1nuKGrVJwh9UOcJo&export=download
• 配布ファイルに以下のソフトウェアを同梱
– ポータブル版LibreOffice
– OpenRTM-aist-Python
– OpenOffice用RTコンポーネント
ポータブル版LibreOffice対応RTC
※Excelがインストールされている場合は、OpenRTM-aist 1.2付属のExcelRTCも使用可能
ポータブル版LibreOffice¥run_CalcRTC.bat
をダブルクリック
14
14
• OpenRTPを起動
– Windows 7
• 「スタート」→「すべてのプログラム」→「OpenRTM-aist 1.2.0」→「Tools」→
「OpenRTP」
– Windows 8.1
• 「スタート」→「アプリビュー(右下矢印)」→「OpenRTM-aist 1.2.0」→
「OpenRTP」
• ※同じフォルダに「RTSystemEditorRCP」がありますが、これはRTC Builder
が使えないので今回は「OpenRTP」を起動してください。
– Windows 10
• 左下の「ここに入力して検索」にOpenRTPと入力して、表示されたOpenRTP
を起動
事前準備
15
15
• ネームサーバーを起動
事前準備
16
16
動作確認用のRTCを起動
• ConsoleIn、ConsoleOutのサンプルコンポーネントを起動する
– Windows 7
• 「スタート」→「すべてのプログラム」→「OpenRTM-aist 1.2.0」→「Tools」→
「C++_Examples」
– Windows 8.1
• 「スタート」→「アプリビュー(右下矢印)」→「OpenRTM-aist 1.2.0」→
「C++_Examples」
– Windows 10
• 左下の「ここに入力して検索」にC++_Examplesと入力して、表示された
C++_Examplesをクリック
17
17
Calc用RTCを起動
• LibreOffice Calcの「RTC起動」ボタンをクリックする
18
18
起動に失敗する場合
19
19
OutPortの接続
• LibreOffice Calcの「操作ダイアログ起動」ボタンをクリックする
• 「ツリー表示」ボタンをクリックする
20
20
OutPortの接続
• ツリーからConsoleInのoutを選択
• 「作成」ボタンをクリックする
21
21
OutPortの動作確認
• RT System EditorでRTCをアクティブ化する
• ConsoleInのウィンドウに数値を入力する
22
22
OutPortの動作確認
• 一旦、RTCを非アクティブ化する
23
23
InPortの接続
• LibreOffice Calcの「操作ダイアログ起動」ボタンをクリック後、
「ツリー表示」ボタンをクリック
• ツリーからConsoleOutのinを選択
24
24
InPortの接続
• 列番号をBに設定
• 「列を移動させるか」のチェックを外す
– ※2回クリックしないとチェックが外れない
• 「作成」ボタンをクリックする
25
25
InPortの動作確認
• RT System EditorでRTCをアクティブ化する
• B2のセルに数値を入力する
26
26
保存
• Calcファイル(.ods)を名前を付けて保存する
– 接続したポートの情報などはCalcファイル(.ods)に保存される
• 保存したCalcファイルをUSBメモリ内の
PortableApps¥LibreOfficePortable¥LibreOfficeCalcPortable.exe
にドラッグアンドドロップする
27
27
復元
• 保存したCalcファイルをUSBメモリ内の
PortableApps¥LibreOfficePortable¥LibreOfficeCalcPortable.exe
にドラッグアンドドロップする
• 「RTC起動」ボタンを押すと、ポートに自動接続して状態を復元
する
28
28
まとめ
• RtStorage
– 出力データの保存と再生が簡単
– 一度保存したデータを再利用できるため、例えばセンサRTCのデー
タを保存しておいて再生することで、InPort側のRTCのテストだけを
実行できる(テストでセンサRTCを実行する必要がない)
• 表計算ソフトとRTCを連携させるためのツール
– 指定のデータの入力が簡単
– 出力データが視覚的に分かりやすい
– グラフ表示も併用するなど様々な使い方ができる
RTCの動作確認、テストで有用なツールを紹介した
Lua版RTミドルウェア
(OpenRTM Lua)
30
30
OpenRTM Lua
• プログラミング言語Luaに対応したRTミドルウェア
– RTCをLua、もしくはMoonScript、LuneScriptで開発可能にする
Lua MoonScript
31
31
OpenRTM Lua
• プログラミング言語Luaに対応したRTミドルウェア
– Luaは軽量なプログラミング言語であり、RTC実行環境一式で2MB程度
– スクリプト言語であるため、Pythonと同様に効率的な開発が可能
– LuaJITによる高速な動作
• Luaはゲーム開発で主に使用されるプログラミング言語のため、10000体×onExecute
関数1000回のキャラクターの当たり判定にかかる時間を計測
Lua(2MB)>>>>C++(8MB)>Python(10MB以上)>>>Java(笑)
言語 結果[s]
Lua 4.3324
LuaJIT 1.2459
C++ 0.6142
Python 6.4802
Pythonを圧倒し、C++に匹敵する性能
32
OpenRTM Lua
• プログラミング言語Luaに対応したRTミドルウェア
– 他のソフトウェアへの組み込み
ゲームエミュレータ
WEBアプリサーバー
ロボットシミュレータ
物理シミュレータ
33
33
既存のアプリケーションへの組み込み
ライブラリA
従来のRTC 既存のアプリケーションへ組み込む
RTC RTC(.lua)
アプリケーション
ライブラリB ライブラリC
OpenCVやQt等の外部のライブラリ
ビルド時、実行時にライブラリとリンクする
アプリケーション実行時にRTCをロードする
• OpenRTM-Luaは既存のアプリケーションへ組み込むことを得
意としている
• V-REP等は自分でビルドすると大変だが、Luaにより容易に機能を追加可能
になっている
34
34
• 配布のUSBメモリに以下のソフトウェアを同梱
– LÖVE(ゲームエンジン)
– OpenRTM-Lua
– LÖVE用RTCのサンプル
2Dゲームエンジン LÖVEでの応用例
Love2d(OpenRTM-Lua同梱)フォルダ内の
LOVESampleGameフォルダをlove.exeに
ドラッグアンドドロップ
• ジョイスティックコンポーネント(OpenRTM-aist Python版
サンプル)を起動して接続
35
2Dゲームエンジン LÖVEでの応用例
Windows 10の場合、左下の「ここに入力し
て検索」にPython_Examplesと入力して検
索して実行
TkJoyStickComp.batをダブルクリック
• ジョイスティックコンポーネント(OpenRTM-aist Python版サンプル)
を起動して接続
36
2Dゲームエンジン LÖVEでの応用例
TkJoyStick0のposからLoveSample0のin
にドラッグアンドドロップする。
※OpenRTM Luaの仕様上、LOVESample0から
TkJoyStick0にドラッグアンドドロップするとエラーに
なります。
Luaスクリプティング機能をサポートするアプリケーション
(今回はゲームエンジン)とOpenRTM-aistの連携が可能
• 以下のファイルが必要
– LOVESampleGameフォルダ(名前は任意)
• main.lua
– LÖVEがロードするスクリプトファイル
– LÖVEがmain.luaの以下の関数を呼び出す
» load関数:main.luaのロード時に呼び出し
» draw関数:描画更新時に呼び出し
» update関数:フレーム更新時に呼び出し
– 以下のLOVESample.luaをロードしてRTCを起動する
• LOVESample.lua (名前は任意)
– RTCの実装
– RTC Builderで生成できる
– onExecute関数等を実装する
37
LÖVE用RTCの作成手順
• 詳細な説明は以下に記載
– 「OpenRTM Lua」で検索すると出る
38
OpenRTM Lua
https://nobu19800.github.io/RTM-Lua/docs/

More Related Content

PDF
RTミドルウェアサマーキャンプ2021_坂本武志_1
PDF
2019 summercamp 04
PDF
2019 summercamp 02
PDF
OpenRTM概要
PDF
2019 summercamp 03
PDF
ROBOMECH2021 RTM講習会 第1部
PDF
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
PDF
RTミドルウェアサマーキャンプ2018「開発プロセスと RT コンポーネントのデバッグ・テスト手法」
RTミドルウェアサマーキャンプ2021_坂本武志_1
2019 summercamp 04
2019 summercamp 02
OpenRTM概要
2019 summercamp 03
ROBOMECH2021 RTM講習会 第1部
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
RTミドルウェアサマーキャンプ2018「開発プロセスと RT コンポーネントのデバッグ・テスト手法」

What's hot (20)

PDF
NEDO講座 MoveIt! チュートリアル 第1部
PDF
ROBOMECH2021 RTMオンライン講習会 第1部
PDF
201110 01 Polytech Center 1
PDF
190605 04
PDF
201111 04
PDF
201110 02 Polytech center 2
PDF
Rtshell入門
PDF
2.プログラミングの基礎
PDF
Rtコンポーネント作成入門
PDF
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
PDF
2017 summercamp 04
PDF
RTコンポーネント作成入門
PDF
RTミドルウェア応用実習
PDF
Slam実習
PDF
190605 01
PDF
Rtmコンテスト必勝法
PPTX
Japan Robot Week 2016 RTM講習会 第1部
PPT
170622 02
PDF
OpenRTM-aist入門
PDF
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
NEDO講座 MoveIt! チュートリアル 第1部
ROBOMECH2021 RTMオンライン講習会 第1部
201110 01 Polytech Center 1
190605 04
201111 04
201110 02 Polytech center 2
Rtshell入門
2.プログラミングの基礎
Rtコンポーネント作成入門
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
2017 summercamp 04
RTコンポーネント作成入門
RTミドルウェア応用実習
Slam実習
190605 01
Rtmコンテスト必勝法
Japan Robot Week 2016 RTM講習会 第1部
170622 02
OpenRTM-aist入門
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
Ad

Similar to Rtミドルウェアサマーキャンプ2021_宮本信彦 (20)

PPTX
Visual Studio App Centerで始めるCI/CD(Android)
PDF
2015RTミドルウエア講習会
PDF
iREX2015 RTM講習会
PDF
Rsj2013 sekiyama 3
PDF
RTミドルウエア: OpenRTM-aist概要
PDF
150629 02
PDF
ROBOMECH2023 RTミドルウェア講習会 第1部
PPTX
Visual Studio App Centerで始めるCI/CD(iOS)
PDF
Rtミドルウェア講習会 第2部資料
PDF
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
PDF
160705-w01 RTミドルウエア講習会・早稲田大
PDF
OpenEL for Robot(Japanese)
PDF
私とOSSの25年
PPTX
第4回 SoftLayer勉強会 資料
PDF
200520 ユビキタスロボティクス特論
PDF
Twitterのデータを取得する準備
PDF
IBM Rational Team Concertに触れてみた
PDF
Jslug2 nagoya-shibata
PDF
コンテナーによるIT基盤変革 - IT infrastructure transformation -
PPTX
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
Visual Studio App Centerで始めるCI/CD(Android)
2015RTミドルウエア講習会
iREX2015 RTM講習会
Rsj2013 sekiyama 3
RTミドルウエア: OpenRTM-aist概要
150629 02
ROBOMECH2023 RTミドルウェア講習会 第1部
Visual Studio App Centerで始めるCI/CD(iOS)
Rtミドルウェア講習会 第2部資料
コンピュータビジョンの最新ソフトウェア開発環境 SSII2015 チュートリアル hayashi
160705-w01 RTミドルウエア講習会・早稲田大
OpenEL for Robot(Japanese)
私とOSSの25年
第4回 SoftLayer勉強会 資料
200520 ユビキタスロボティクス特論
Twitterのデータを取得する準備
IBM Rational Team Concertに触れてみた
Jslug2 nagoya-shibata
コンテナーによるIT基盤変革 - IT infrastructure transformation -
Visual Studio App CenterでAndroid開発にCI/CDを導入しよう
Ad

More from openrtm (17)

PPTX
ピッキングシステム
PPTX
GNGを使った未知環境における経路計画
PPTX
まねっこロボット
PDF
商品自動補充ロボットシステム
PPTX
RTサマーキャンプ2022最終発表_都立大.pptx
PDF
SysML実習20220822SC_GA.pdf
PDF
RTミドルウェアサマーキャンプ資料2022.pdf
PDF
5.総合演習(2)
PDF
4.総合演習(1)
PDF
3.RTCプログラミング演習
PDF
1.コース概要
PPTX
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
PDF
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
PDF
201111 05
PDF
201110 03
PDF
SICE 2020 Rtm tutorial 2_online_ja
PDF
SICE 2020 Rtm tutorial 2_online_en
ピッキングシステム
GNGを使った未知環境における経路計画
まねっこロボット
商品自動補充ロボットシステム
RTサマーキャンプ2022最終発表_都立大.pptx
SysML実習20220822SC_GA.pdf
RTミドルウェアサマーキャンプ資料2022.pdf
5.総合演習(2)
4.総合演習(1)
3.RTCプログラミング演習
1.コース概要
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
201111 05
201110 03
SICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_en

Rtミドルウェアサマーキャンプ2021_宮本信彦