SlideShare a Scribd company logo
1 of 33
Download to read offline
RTミドルウェアツール紹介:
利用可能なRTコンポーネントや
ツールについて
宮本 信彦
国立研究開発法人産業技術総合研究所
ロボットイノベーション研究センター
ロボットソフトウェアプラットフォーム研究チーム
22
これからどうやってロボットシステム
を開発するのか?
33
設計
要求図 内部ブロック図
• システムの要件の決定
• 使用するハードウェアの検討
• 再利用するRTCの検討
ハードウェア、既存の
RTCの動作確認
新規RTCの開発
RTシステムの構築、
動作確認
• RTCの導入方法、使用方法
の調査
• RTCのインストール
• RTCの入出力の確認
• RTCの詳細な仕様を決める
• コーディング、ビルド
• RTCの動作確認、デバッグ
• RTシステム構築
• RT System Editor
• rtshell
• 動作確認
昨日説明があった
rtshellについては
後の講義で説明
がある
この講義ではRTCの動作確認、新規RTC
の開発で有用なツールを紹介する
RTC Builderの
利用方法は講習
会で説明済み
RT System Editor
の利用方法は講
習会で説明済み
44
紹介するツール
• 表計算ソフトとRTCを連携させるためのツール
– Excel、LibreOfficeCalcのセルの値をデータポートから入出力する
– 新規に開発したRTCの動作確認が簡単にできる
• OutPortから出力された値の確認
• InPortに任意の値を入力したときの挙動
– 既存のRTCについても、動作がよく分からない場合に確認できる
• OpenRTM Lua
– プログラミング言語LuaによるRTミドルウェアの実装
– 様々なアプリケーションに組み込み可能
• V-REP(ロボットシミュレータ)
• LÖVE(2Dゲームエンジン)
• Laputan Blueprints(剛体シミュレータ)
• BizHawk(ゲームエミュレータ)
• OpenResty(WEBアプリサーバー)
– 既存のアプリケーション上で動作するRTCを開発可能なため、高度
な機能を持つRTCが比較的簡単に開発できる
5
表計算ソフトとRTCの連携
66
表計算ソフトによるデータ入出力
77
デモ動画
88
デモ動画
99
• 配布のUSBメモリに以下のソフトウェアを同梱
– ポータブル版LibreOffice
– OpenRTM-aist-Python
– OpenOffice用RTコンポーネント
ポータブル版LibreOffice対応RTC
※Excelがインストールされている場合は、OpenRTM-aist 1.2付属のExcelRTCも使用可能
ポータブル版LibreOffice¥run_CalcRTC.bat
をダブルクリック
1010
• 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
を起動
事前準備
1111
• ネームサーバーを起動
事前準備
1212
動作確認用の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をクリック
1313
Calc用RTCを起動
• LibreOffice Calcの「RTC起動」ボタンをクリックする
1414
起動に失敗する場合
1515
OutPortの接続
• LibreOffice Calcの「操作ダイアログ起動」ボタンをクリックする
• 「ツリー表示」ボタンをクリックする
1616
OutPortの接続
• ツリーからConsoleInのoutを選択
• 「作成」ボタンをクリックする
1717
OutPortの動作確認
• RT System EditorでRTCをアクティブ化する
• ConsoleInのウィンドウに数値を入力する
1818
OutPortの動作確認
• 一旦、RTCを非アクティブ化する
1919
InPortの接続
• LibreOffice Calcの「操作ダイアログ起動」ボタンをクリック後、
「ツリー表示」ボタンをクリック
• ツリーからConsoleOutのinを選択
2020
InPortの接続
• 列番号をBに設定
• 「列を移動させるか」のチェックを外す
– ※2回クリックしないとチェックが外れない
• 「作成」ボタンをクリックする
2121
InPortの動作確認
• RT System EditorでRTCをアクティブ化する
• B2のセルに数値を入力する
2222
保存
• Calcファイル(.ods)を名前を付けて保存する
– 接続したポートの情報などはCalcファイル(.ods)に保存される
• 保存したCalcファイルをUSBメモリ内の
PortableApps¥LibreOfficePortable¥LibreOfficeCalcPortable.exe
にドラッグアンドドロップする
2323
復元
• 保存したCalcファイルをUSBメモリ内の
PortableApps¥LibreOfficePortable¥LibreOfficeCalcPortable.exe
にドラッグアンドドロップする
• 「RTC起動」ボタンを押すと、ポートに自動接続して状態を復元
する
Lua版RTミドルウェア
(OpenRTM Lua)
2525
OpenRTM Lua
• プログラミング言語Luaに対応したRTミドルウェア
– RTCをLua、もしくはMoonScript、LuneScriptで開発可能にする
Lua MoonScript
2626
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++に匹敵する性能
27
OpenRTM Lua
• プログラミング言語Luaに対応したRTミドルウェア
– 他のソフトウェアへの組み込み
ゲームエミュレータ
WEBアプリサーバー
ロボットシミュレータ
物理シミュレータ
2828
既存のアプリケーションへの組み込み
ライブラリA
従来のRTC 既存のアプリケーションへ組み込む
RTC RTC(.lua)
アプリケーションライブラリB ライブラリC
OpenCVやQt等の外部のライブラリ
ビルド時、実行時にライブラリとリンクする
アプリケーション実行時にRTCをロードする
• OpenRTM-Luaは既存のアプリケーションへ組み込むことを得
意としている
• V-REP等は自分でビルドすると大変だが、Luaにより容易に機能を追加可能
になっている
2929
• 配布のUSBメモリに以下のソフトウェアを同梱
– LÖVE(ゲームエンジン)
– OpenRTM-Lua
– LÖVE用RTCのサンプル
2Dゲームエンジン LÖVEでの応用例
Love2d(OpenRTM-Lua同梱)フォルダ内の
LOVESampleGameフォルダをlove.exeに
ドラッグアンドドロップ
• ジョイスティックコンポーネント(OpenRTM-aist Python版
サンプル)を起動して接続
30
2Dゲームエンジン LÖVEでの応用例
Windows 10の場合、左下の「ここに入力し
て検索」にPython_Examplesと入力して検
索して実行
TkJoyStickComp.batをダブルクリック
• ジョイスティックコンポーネント(OpenRTM-aist Python版サンプル)
を起動して接続
31
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関数等を実装する
32
LÖVE用RTCの作成手順
• 詳細な説明は以下に記載
– 「OpenRTM Lua」で検索すると出る
33
OpenRTM Lua
https://nobu19800.github.io/RTM-Lua/docs/

More Related Content

What's hot

2013 summercamp 06
2013 summercamp 062013 summercamp 06
2013 summercamp 06
openrtm
 
Rtmコンテスト必勝法
Rtmコンテスト必勝法Rtmコンテスト必勝法
Rtmコンテスト必勝法
openrtm
 
Robomec2015講習会 150517 01
Robomec2015講習会 150517 01Robomec2015講習会 150517 01
Robomec2015講習会 150517 01
openrtm
 

What's hot (20)

RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1
 
2016 summercamp rtshell入門
2016 summercamp rtshell入門2016 summercamp rtshell入門
2016 summercamp rtshell入門
 
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要
 
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
 
ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部
 
Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料
 
2013 summercamp 06
2013 summercamp 062013 summercamp 06
2013 summercamp 06
 
190605 04
190605 04190605 04
190605 04
 
170622 02
170622 02170622 02
170622 02
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部
 
160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大
 
Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部
 
RTミドルウェア応用実習
RTミドルウェア応用実習RTミドルウェア応用実習
RTミドルウェア応用実習
 
Rtmコンテスト必勝法
Rtmコンテスト必勝法Rtmコンテスト必勝法
Rtmコンテスト必勝法
 
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
 
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」
 
Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料
 
Robomec2015講習会 150517 01
Robomec2015講習会 150517 01Robomec2015講習会 150517 01
Robomec2015講習会 150517 01
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 

Similar to 2019 summercamp 02

131017 cnr研究会 ando
131017 cnr研究会 ando131017 cnr研究会 ando
131017 cnr研究会 ando
openrtm
 
Rsj2013 sekiyama 3
Rsj2013 sekiyama 3Rsj2013 sekiyama 3
Rsj2013 sekiyama 3
openrtm
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
openrtm
 
Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1
openrtm
 
130711 01
130711 01130711 01
130711 01
openrtm
 
130710 01
130710 01130710 01
130710 01
openrtm
 
130711 02
130711 02130711 02
130711 02
openrtm
 
130522 01
130522 01130522 01
130522 01
openrtm
 
Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2
openrtm
 

Similar to 2019 summercamp 02 (20)

160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大
 
160705-w03 RTミドルウエア講習会・早稲田大
160705-w03 RTミドルウエア講習会・早稲田大160705-w03 RTミドルウエア講習会・早稲田大
160705-w03 RTミドルウエア講習会・早稲田大
 
DSoC-RTCs
DSoC-RTCsDSoC-RTCs
DSoC-RTCs
 
iREX2015 RTM講習会
iREX2015 RTM講習会iREX2015 RTM講習会
iREX2015 RTM講習会
 
131017 cnr研究会 ando
131017 cnr研究会 ando131017 cnr研究会 ando
131017 cnr研究会 ando
 
Rsj2013 sekiyama 3
Rsj2013 sekiyama 3Rsj2013 sekiyama 3
Rsj2013 sekiyama 3
 
200520 ユビキタスロボティクス特論
200520 ユビキタスロボティクス特論200520 ユビキタスロボティクス特論
200520 ユビキタスロボティクス特論
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
 
RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要 RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要
 
151026 東工大授業「ロボット技術」資料
151026 東工大授業「ロボット技術」資料151026 東工大授業「ロボット技術」資料
151026 東工大授業「ロボット技術」資料
 
Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1
 
2015RTミドルウエア講習会
2015RTミドルウエア講習会2015RTミドルウエア講習会
2015RTミドルウエア講習会
 
130711 01
130711 01130711 01
130711 01
 
130710 01
130710 01130710 01
130710 01
 
201111 04
201111 04201111 04
201111 04
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 
130711 02
130711 02130711 02
130711 02
 
130522 01
130522 01130522 01
130522 01
 
Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2
 
160608 02
160608 02160608 02
160608 02
 

More from openrtm

More from openrtm (20)

ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
 
ピッキングシステム
ピッキングシステムピッキングシステム
ピッキングシステム
 
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.プログラミングの基礎
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
Slam実習
Slam実習Slam実習
Slam実習
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
 
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
 
201111 05
201111 05201111 05
201111 05
 
201110 03
201110 03201110 03
201110 03
 

Recently uploaded

Recently uploaded (10)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

2019 summercamp 02