SlideShare a Scribd company logo
1 of 18
Download to read offline
rtshell入門
宮本 信彦
国立研究開発法人産業技術総合研究所
インダストリアルCPS研究センター
ソフトウェアプラットフォーム研究チーム
2
2
資料
• 配布資料の「 WEBpage 」のHTMLファイルを開く
– チュートリアル(rtshell入門、Raspberry Pi Mouse) _ OpenRTM-aist.html
• もしくは以下のリンク
– https://openrtm.org/openrtm/ja/node/7097
3
3
RTシステム起動の自動化
ダブルクリックして起動
RTC起動 ポート接続、アクティブ化
GUIでの操作でポート接続、
RTCのアクティブ化
• 先ほどまでのRTシステム起動手順を再起動時も実行するのは
手間がかかる
• これらの処理を自動化するバッチファイル、シェルスクリプトの
作成手順を説明する。
4
4
• rtshellはコマンドラインでRTコンポーネントやRTシステム
を操作するツール
rtshell
> rtcon localhost/ConsoleIn0.rtc:out localhost/ConsoleOut0.rtc:in
> rtact localhost/ConsoleIn0.rtc localhost/ConsoleOut0.rtc
rtconコマンドで
ポートの接続
rtactコマンドで
アクティブ化
5
5
• 今回開発した「シミュレータ + RobotController」のシステ
ムを起動、終了するための手順は以下のとおりである。
1. RaspberryPiMouseSimulatorコンポーネント、
RobotControllerコンポーネントを起動する。
2. ポートをコネクタで接続する
3. RTCをアクティブ化する
4. RTCを終了する
RTシステムの起動、終了を自動化
• 1~4を実行するスクリプトファイル(バッチファイル、シェルスクリ
プト)を作成し、簡単にRTシステムを起動、終了できるようにする
– 1については以下のプログラムを実行するコマンドを記述するだけ
• RaspberryPiMouseSimulatorComp.exe
• RobotControllerComp.exe
– 2、3、4についてはrtshellのコマンドを使用する
6
6
事前準備
• この実習ではコマンドラインによる操作を行うため、コマンドプ
ロンプト(Windows)、ターミナル(Ubuntu)を起動してください。
– Windowsの場合は左下の「検索」に「コマンド プロンプト」と入力して検索する。
– コマンドプロンプトが起動したら「rtls」を入力してみてください。「‘rtls’ は、内部コ
マンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認
識されていません。」と表示された場合、Pythonのインストールフォルダ内の
Scriptsフォルダが環境変数Pathに設定されていません。
• 「C:¥Python38¥Scripts」といったフォルダを環境変数Pathに追加する必要
がありますが、分からない場合は質問してください。
7
7
1. RTSystemEditor上でデータポートを接続する。
2. コネクタの接続情報をファイルに保存する。
3. 再起動時にファイルの情報からコネクタを復元する。
ポート接続の自動化
> rtcryo -o C:¥work¥robotcontroller.xml localhost
RTSystemEditorで
ポートを接続する
rtcryoコマンドで接続情報な
どをXMLファイルに保存する
前準備
8
8
RTシステムの保存、復元
> rtresurrect C:¥work¥robotcontroller.xml
• 作成したXMLファイルからポートの接続情報を読み込み、
元のシステムを復元できる。
rtresurrectコマンドでXMLファイルの
情報からポートを接続する。
• rtcryoコマンドを試してみる
– RTSystemEditorでポートを接続した状態にする。
– rtcryoコマンドでシステムの情報をXMLファイルに保存する
– Pyyamlがインストールされていないとエラーになる
• pip install pyyaml
9
9
RTシステムの保存、復元
> rtcryo -o C:¥work¥robotcontroller.xml localhost
XMLファイルを保存するパスを
指定する。適宜パスは分かりや
すい場所に変更してください
ネームサーバーを指定する。
今回はlocalhostのみ。
• rtresurrectコマンドを試してみる
1. RTSystemEditorでコネクタを切断した状態にする。
• コネクタを切断するには、コネクタを選択してDeleteキーを押すか、右
クリックしてDeleteを選択する。
2. rtresurrectコマンドでポートの接続情報を復元する
10
10
RTシステムの保存、復元
> rtresurrect C:¥work¥robotcontroller.xml
XMLファイルのパスはrtcryoコマンドで保存したパスに変更する
• rtstartコマンドでXMLファイルに保存したシステムのRTCをアクティ
ブ化する
– 以下のコマンドを試してみてください
11
11
RTCのアクティブ化の自動処理
> rtstart C:¥work¥robotcontroller.xml
XMLファイルのパスはrtcryoコマンドで保存したパスに変更する
• rtstopコマンドでXMLファイルに保存したシステムのRTCを非アク
ティブ化する
– 以下のコマンドを試してみてください
12
12
RTCの非アクティブ化
> rtstop C:¥work¥robotcontroller.xml
XMLファイルのパスはrtcryoコマンドで保存したパスに変更する
• rtexitコマンドでXMLファイルに保存したシステムのRTCを非アク
ティブ化する
– 以下のコマンドを試してみてください
13
13
RTCの終了の自動化
> rtexit localhost/RaspberryPiMouseSimulator0.rtc
> rtexit localhost/%COMPUTERNAME%.host_cxt/RobotController0.rtc
デフォルトの設定でRobotControllerはネームサーバーで
ホスト名.host_cxtの下に登録される。
※Ubuntuの場合は「%COMPUTERNAME%」
を「${HOSTNAME}」に変更する。
• rtshellのコマンドを用いて、RTシステムの起動、終了を自動化す
るバッチファイル(Windows)、シェルスクリプト(Ubuntu)を作成す
る。
– まずは適当な場所に以下のファイルを作成
• Windowsの場合はバッチファイル(拡張子.bat)
– 今回は「robotcontroller_start.bat」、
「robotcontroller_exit.bat」というファイルを作成
– テキストファイルを新規作成後、 名前を変更することで作成する。
– エクスプローラーで拡張子を非表示にしている場合は注意
• Ubuntuの場合はシェルスクリプト(拡張子.sh)
– 今回は「robotcontroller_start.sh」、
「robotcontroller_exit.sh」というファイルを作成
14
14
スクリプトファイルの作成
15
15
バッチファイル作成,編集
エクスプローラーで
右クリックして、
「新規作成」->
「テキスト ドキュメント」
を選択する
名前を
「robotcontroller_start.bat」、
「robotcontroller_exit.bat」に
変更する。
ファイルを右クリックして「編集」を選
択する。
• まずは「robotcontroller_start.bat」、
「robotcontroller_start.sh」を編集する。
• RaspberryPiMouseSimulator、RobotControllerのプログラ
ムを実行するコマンドを記述する。
– バッチファイル
• ファイルのパスは適宜変更する
– シェルスクリプト
• ファイルのパスは適宜変更する
16
16
起動自動化のスクリプトファイルの作成
start "" /d C:¥workspace¥RobotController¥build¥src¥Release RobotControllerComp.exe
start "" /d C:¥work¥RTM_Tutorial¥EXE RaspberryPiMouseSimulatorComp.exe
timeout 2
cd ~/workspace/RobotController/build/src/
./RobotControllerComp&
cd ~/RasPiMouseSimulatorRTC/build/src
./RaspberryPiMouseSimulatorComp&
sleep 2
• RTシステムを復元、RTCのアクティブ化を実行するコマンドを
記述する。
– XMLファイルのパスは適宜変更する。
• 記述が完了したら、robotcontroller_start.bat、
robotcontroller_start.shを実行してシミュレータが起動する
かを確認してください。
– RTCが起動しない場合、実行ファイルのパスが違う可能性があるため
確認してください。
17
17
起動自動化のスクリプトファイルの作成
rtresurrect C:¥work¥robotcontroller.xml
rtstart C:¥work¥robotcontroller.xml
• まずは「robotcontroller_exit.bat」、
「robotcontroller_exit.sh」を編集する。
• RTC終了のコマンドを記述する。
– Windows
– Ubuntu
• 記述が完了したら、robotcontroller_exit.bat、
robotcontroller_exit.shを実行して以下の事を確認してくださ
い。
– シミュレータが終了する(ウィンドウが消える)。
– ネームサーバーからRTCが消える。
18
18
終了自動化のスクリプトファイルの作成
rtexit localhost/RaspberryPiMouseSimulator0.rtc
rtexit localhost/ %COMPUTERNAME%.host_cxt/RobotController0.rtc
HOSTNAME=`hostname`
rtexit localhost/RaspberryPiMouseSimulator0.rtc
rtexit localhost/${HOSTNAME}.host_cxt/RobotController0.rtc

More Related Content

What's hot

マネージャーやコンポーネントのコンポジット化
マネージャーやコンポーネントのコンポジット化マネージャーやコンポーネントのコンポジット化
マネージャーやコンポーネントのコンポジット化
openrtm
 

What's hot (20)

RTコンポーネント作成入門
RTコンポーネント作成入門RTコンポーネント作成入門
RTコンポーネント作成入門
 
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要OpenRTM-aistおよび RTコンポーネントプログラミングの概要
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
 
190605 03
190605 03190605 03
190605 03
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1
 
RTミドルウェア応用実習
RTミドルウェア応用実習RTミドルウェア応用実習
RTミドルウェア応用実習
 
200923 01jp
200923 01jp200923 01jp
200923 01jp
 
SICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_jaSICE 2020 Rtm tutorial 2_online_ja
SICE 2020 Rtm tutorial 2_online_ja
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要
 
4.総合演習(1)
4.総合演習(1)4.総合演習(1)
4.総合演習(1)
 
OpenRTM-aist入門
OpenRTM-aist入門OpenRTM-aist入門
OpenRTM-aist入門
 
170622 02
170622 02170622 02
170622 02
 
200527 RTM Tutorial in ROBOMECH2020
200527 RTM Tutorial in ROBOMECH2020200527 RTM Tutorial in ROBOMECH2020
200527 RTM Tutorial in ROBOMECH2020
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦
 
Rtshell 2017
Rtshell 2017Rtshell 2017
Rtshell 2017
 
160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大160705-02 RTミドルウエア講習会・名城大
160705-02 RTミドルウエア講習会・名城大
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎
 
3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習
 
Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部
 
ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部
 
マネージャーやコンポーネントのコンポジット化
マネージャーやコンポーネントのコンポジット化マネージャーやコンポーネントのコンポジット化
マネージャーやコンポーネントのコンポジット化
 

Similar to Rtshell入門

150629 02
150629 02150629 02
150629 02
openrtm
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3
openrtm
 
Rsj2013 hara
Rsj2013 haraRsj2013 hara
Rsj2013 hara
openrtm
 
Personal Cloud Automation
Personal Cloud AutomationPersonal Cloud Automation
Personal Cloud Automation
Etsuji Nakai
 
Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部
openrtm
 

Similar to Rtshell入門 (20)

150629 02
150629 02150629 02
150629 02
 
RTミドルウェアサマーキャンプ2018「Rtshellj入門」
RTミドルウェアサマーキャンプ2018「Rtshellj入門」RTミドルウェアサマーキャンプ2018「Rtshellj入門」
RTミドルウェアサマーキャンプ2018「Rtshellj入門」
 
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用までPacketbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3
 
RouterBOARD with OpenFlow
RouterBOARD with OpenFlowRouterBOARD with OpenFlow
RouterBOARD with OpenFlow
 
2016 summercamp 効率よいRTシステム運用法
2016 summercamp 効率よいRTシステム運用法2016 summercamp 効率よいRTシステム運用法
2016 summercamp 効率よいRTシステム運用法
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2
 
Rsj2013 hara
Rsj2013 haraRsj2013 hara
Rsj2013 hara
 
Atc15_reading_networking_session
Atc15_reading_networking_sessionAtc15_reading_networking_session
Atc15_reading_networking_session
 
iREX2015 RTM講習会
iREX2015 RTM講習会iREX2015 RTM講習会
iREX2015 RTM講習会
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料
 
2015RTミドルウエア講習会
2015RTミドルウエア講習会2015RTミドルウエア講習会
2015RTミドルウエア講習会
 
How to run P4 BMv2
How to run P4 BMv2How to run P4 BMv2
How to run P4 BMv2
 
RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要 RTミドルウエア: OpenRTM-aist概要
RTミドルウエア: OpenRTM-aist概要
 
Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料
 
Personal Cloud Automation
Personal Cloud AutomationPersonal Cloud Automation
Personal Cloud Automation
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
 
Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部
 
2016 summercamp rtshell入門
2016 summercamp rtshell入門2016 summercamp rtshell入門
2016 summercamp rtshell入門
 

More from openrtm

More from openrtm (16)

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)
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1
 
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
 
SICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_enSICE 2020 Rtm tutorial 2_online_en
SICE 2020 Rtm tutorial 2_online_en
 

Rtshell入門