SlideShare a Scribd company logo
1 of 15
Download to read offline
国立研究開発法人 産業技術総合研究所
RTShell 入門
国立研究開発法人 産業技術総合研究所
ロボットイノベーション研究センター
黒瀬 竜一
1
国立研究開発法人 産業技術総合研究所
ソフトウェア開発
駄目なソフト開発
開発者を増員しても終わりが
見えない
バグを修正すると新しいバグ
が増える
リリース後に許容できないバ
グが発覚する
…
ソフト開発で重要なこと
目標品質の達成
十分な作業の効率化
2
システム
要求分析
システム
設計
ソフト要
求分析
ソフト構
造設計
ソフト詳
細設計
ソフト実
装
ソフト単
体テスト
ソフト結
合
ソフトテ
スト
システム
結合
システム
テスト
国立研究開発法人 産業技術総合研究所
RT Shell とは
RT System Editor (RTSE) 同様に RTC を操作できる
RTC のアクティベート、ポート接続、…
システム管理にも使える
複数の RTC に対する動作をサポート
テスト・デバッグにも使える
テストデータを RTC に送信、RTC の出力保存、…
コマンドラインで動作する
→ GUI よりも自動化が容易!
3
国立研究開発法人 産業技術総合研究所
実習1:準備
RTC を動作する
1. ConsoleOutComp の起動
2. ConsoleInComp の起動
3. RT System Editor
(OpenRTP) の起動
4. ネームサーバーの起動
5. RTC のポート接続
6. RTC のアクティベート
4
まずは OpenRTM の基本 (講習会の内容)を復習
国立研究開発法人 産業技術総合研究所
実習2:rtls
コマンドの実行
1. コマンドライン環境の起動
[Windows]
コマンドプロンプト
or PowerShell or WSL
[Linux]
任意のターミナル
2. 以下を実行
rtls localhost
rtls localhost/xxx.cxt/
rtls –R localhost
5
rtls : コンポーネントを確認するコマンド
注意:コマンドが存在しない場合
は rtshell のインストールミス
国立研究開発法人 産業技術総合研究所
実習3:スクリプト作成
Windows
1. 空ファイル rtc.bat を作る
空テキストのリネーム
2. 中身を書き保存する
3. rtc.bat を実行する
コマンドラインに rtc.bat を
ドラッグアンドドロップも可
ダブルクリック実行は一瞬で
終了するので pause を追加
Linux
1. rtc.sh という名前でファイ
ルを作る
2. 中身を書き保存
3. 必要に応じて権限付与する
chmod +x rtc.sh
4. rtc.sh を実行する
./rtc.sh
sh –x rtc.sh
6
#!/bin/sh
ls
dir
国立研究開発法人 産業技術総合研究所
(次への準備)
ここで RTC と OpenRTP は終了してください。
その後に RTC を再度起動してください
- ConsoleInComp
- ConsoleOutComp
7
国立研究開発法人 産業技術総合研究所
実習4:RTCの起動と操作
Windows Linux
8
rem コンポーネント確認
rtls -R localhost/
rtcat -l localhost/%H%.host_cxt/ConsoleIn0.rtc
rtcat -l localhost/%H%.host_cxt/ConsoleOut0.rtc
rem ポート接続
rtcon localhost/%H%.host_cxt/ConsoleIn0.rtc:out ^
localhost/%H%.host_cxt/ConsoleOut0.rtc:in
rem 動作開始
rtact localhost/%H%.host_cxt/ConsoleIn0.rtc ^
localhost/%H%.host_cxt/ConsoleOut0.rtc
#! /bin/sh -x
# コンポーネント確認
rtls -R localhost/
rtcat -l localhost/${H}.host_cxt/ConsoleIn0.rtc
rtcat -l localhost/${H}.host_cxt/ConsoleOut0.rtc
# ポート接続
rtcon localhost/${H}.host_cxt/ConsoleIn0.rtc:out¥
localhost/${H}.host_cxt/ConsoleOut0.rtc:in
# 動作開始
rtact localhost/${H}.host_cxt/ConsoleIn0.rtc¥
localhost/${H}.host_cxt/ConsoleOut0.rtc
スクリプトにより自動ポート接続・アクティベート
赤字は自分の環境に置き換えること
実行後に RTSE を起動して実習1と同じになったか確認
国立研究開発法人 産業技術総合研究所
演習5:環境の保存と復元
システム環境の保存
演習4の状態にしてください
RTSE でポート接続
rtcryo
システム環境の復元
rtresurrect
システムの実行・停止
rtstart
rtstop
rtteardown
RTSE も環境保存と復元がで
きます。活用しましょう。
9
# システムを保存
rtcryo localhost -o env.rtsys
echo “wait to exit
read (Windows の場合は pause)
# システムを復元
rtresurrect env.rtsys
# システム を 起動
rtstart env.rtsys
echo "Running ..."
read (Windows の場合は pause)
#システム を 停止
rtstop env.rtsys
# システムの接続を削除
rtteardown env.rtsys
国立研究開発法人 産業技術総合研究所
実習6:RTC のテスト
RTC Divisionをテストする
まずは手動で実行
自動実行のために Division 以
外を終了
スクリプトを作成・実行
Division 以外を終了し、実行
早くできた人は、RTCを修
正してみましょう
10
# 位置の移動
WORKDIR=/localhost/`hostname`.host_cxt/
(Windows の場合は set WORKDIR=/localhost/…)
# テスト結果の確認
rtprint ${WORKDIR}division0.rtc:result -n 100
# テストデータの送信
rtinject ${WORKDIR}division0.rtc:number -c
'RTC.TimedLong({time}, 10)'
rtinject ${WORKDIR}division0.rtc:denom -c
'RTC.TimedLong({time}, 2)'
rtinject ${WORKDIR}division0.rtc:number -c
'RTC.TimedLong({time}, 20)'
rtinject ${WORKDIR}division0.rtc:denom -c
'RTC.TimedLong({time}, 0)'
国立研究開発法人 産業技術総合研究所
実習7:ソフト結合後のデバッグ
RTC 接続後のシステム動作
の保存と再現
rtlog 保存
rtlog –p で再生
システム動作のテスト
センサーの情報再現
人間の操作ログ再現
11
# 位置の移動
WORKDIR=/localhost/`hostname`.host_cxt/
(Windows の場合は set WORKDIR=…)
# 10秒間の入力データを保存
rtlog -f test.log –t 10 ${WORKDIR}division0.rtc:number
${WORKDIR}division0.rtc:denom
read
# (Windows の場合は pause)
# ここでConsoleIn から入力いれる
# rtlog を終了する
# 出力データの再生
rtlog -p -f test.log ${WORKDIR}division0.rtc:number
${WORKDIR}division0.rtc:den
国立研究開発法人 産業技術総合研究所
RTShell のコマンドたち
rtact
rtcat
rtcwd
rtcheck
rtcomp
rtcon
rtconf
rtcprof
rtcryo
rtdeact
rtdel
rtdis
rtdoc
rtexit
rtfind
rtfsm
rtinject
rtlog
rtls
rtmgr
12
rtprint
rtpwd
rtreset
rtresurrect
restart
rtstodot
rtstop
rtteardown
rtlog
rtwatch
国立研究開発法人 産業技術総合研究所
困ったときは
コマンドのヘルプを見よう
例: rtls --help
rtshell のチュートリアルを見よう
http://openrtm.org/openrtm/ja/node/5014/
http://openrtm.org/openrtm/ja/node/5015/
http://www.youtube.com/playlist?list=PLE06F481CC7089B9
A
Github で質問しよう
https://github.com/OpenRTM/rtshell
Issue 発行で質問や要望を受け付けています
もちろんプルリクエストも受け付けています!
13
国立研究開発法人 産業技術総合研究所
最後に
RTShell による作業の自動化は重要です
ヒューマンエラーを排除しましょう
繰り返し作業は PC にやらせましょう
サマーキャンプでも活用してください
まずはスクリプトを一つ作ってみんなで共有しましょう
コンポーネント追加ごとにスクリプトを拡張しましょう
テストごとに別のスクリプトにするなどの工夫はお任せ
今回のような自動化はソフト開発で常に重要です
今回に限らず、常に自動化する癖をつけましょう
14
国立研究開発法人 産業技術総合研究所
参考情報
下記に本資料のスクリプトサンプルがあります。
https://github.com/r-kurose/rtm_summer_camp_2019
15

More Related Content

What's hot

Rtmコンテスト必勝法
Rtmコンテスト必勝法Rtmコンテスト必勝法
Rtmコンテスト必勝法
openrtm
 
Robomec2015講習会 150517 01
Robomec2015講習会 150517 01Robomec2015講習会 150517 01
Robomec2015講習会 150517 01
openrtm
 
2013 summercamp 06
2013 summercamp 062013 summercamp 06
2013 summercamp 06
openrtm
 
Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1
openrtm
 
Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2
openrtm
 

What's hot (20)

2016 summercamp rtshell入門
2016 summercamp rtshell入門2016 summercamp rtshell入門
2016 summercamp rtshell入門
 
Rtmコンテスト必勝法
Rtmコンテスト必勝法Rtmコンテスト必勝法
Rtmコンテスト必勝法
 
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
 
Rtshell 2017
Rtshell 2017Rtshell 2017
Rtshell 2017
 
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
 
160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大
 
Robomec2015講習会 150517 01
Robomec2015講習会 150517 01Robomec2015講習会 150517 01
Robomec2015講習会 150517 01
 
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
 
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ミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料
 
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部
 
170622 02
170622 02170622 02
170622 02
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部
 
190605 04
190605 04190605 04
190605 04
 
2015 summercamp 09
2015 summercamp 092015 summercamp 09
2015 summercamp 09
 
OpenRTM-aist入門
OpenRTM-aist入門OpenRTM-aist入門
OpenRTM-aist入門
 
2013 summercamp 06
2013 summercamp 062013 summercamp 06
2013 summercamp 06
 
160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大
 
Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1
 
Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2Rtミドルウェア講習会@名城大学 20140624 2
Rtミドルウェア講習会@名城大学 20140624 2
 

Similar to 2019 summercamp 04

130710 01
130710 01130710 01
130710 01
openrtm
 
130711 02
130711 02130711 02
130711 02
openrtm
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
openrtm
 

Similar to 2019 summercamp 04 (20)

OSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSCOSC2018 hiroshima session slide by OSSC
OSC2018 hiroshima session slide by OSSC
 
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
[3rd 長崎QDG] チームで、長期間で、たくさんのソフトウェアを快適に開発し、価値を生み続けるためのエンジニアリング
 
130710 01
130710 01130710 01
130710 01
 
Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料
 
160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大
 
130711 02
130711 02130711 02
130711 02
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1
 
Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1Hardware control by .NET Core 3.1
Hardware control by .NET Core 3.1
 
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
Windows8のクライアントHyper-V入門(.NETラボ勉強会 2013/6/22 日本マイクロソフト)
 
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話Redmineの情報を自分好みに見える化した話
Redmineの情報を自分好みに見える化した話
 
Klocworkのご紹介
Klocworkのご紹介Klocworkのご紹介
Klocworkのご紹介
 
OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料OutSystems ユーザー会 セッション資料
OutSystems ユーザー会 セッション資料
 
iREX2015 RTM講習会
iREX2015 RTM講習会iREX2015 RTM講習会
iREX2015 RTM講習会
 
RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要 RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
 
201110 02 Polytech center 2
201110 02 Polytech center 2201110 02 Polytech center 2
201110 02 Polytech center 2
 
2015RTミドルウエア講習会
2015RTミドルウエア講習会2015RTミドルウエア講習会
2015RTミドルウエア講習会
 
ADO.NET Entity Framework
ADO.NET Entity Framework ADO.NET Entity Framework
ADO.NET Entity Framework
 

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
 
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.プログラミングの基礎
 
Slam実習
Slam実習Slam実習
Slam実習
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 
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
 
201111 04
201111 04201111 04
201111 04
 
201110 03
201110 03201110 03
201110 03
 

Recently uploaded

Recently uploaded (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: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
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介: 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
 
論文紹介: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の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

2019 summercamp 04