SlideShare a Scribd company logo
1 of 24
Download to read offline
SUGAR SWEET ROBOTICS CO., LTD.

RTシステムの再利用性を高めるための
オープンフレームワークの開発

菅 佑樹(早大,SSR)
尾形 哲也(早大)
SI2013 KOBE, Dec. 2013
SUGAR SWEET ROBOTICS CO., LTD.

コンテンツ
• RRTTシ�ステム全体を配布するためのパッケー
ジの概念の導入について	
 	
 
• パッケージの有効性検証のためのフレーム
ワークの開発について

SI2013 KOBE, Dec. 2013

2
SUGAR SWEET ROBOTICS CO., LTD.

パッケージの概念の導入
パッケージの概念の導入により,RRTTシ�ステムとしての再利用性に着
目し,RRTTMM利用者の拡大を目指す

SI2013 KOBE, Dec. 2013

3
SUGAR SWEET ROBOTICS CO., LTD.

コンセプト
• RRTTMMへのパッケージの概念の導入	
 	
 
• RRTTCCを配布するだけで終わりですか?	
 	
 
• 「○コ動」や「よう○べ」で見た××のような
ロボットを作りたい	
 	
 
• 通常,RRTTCCではなくRRTTシ�ステムに着目している	
 	
 
• 模倣から始まってもいいじゃない	
 	
 
• RRTTSSの単位で配布・共有して,それをカスタマ
イズするというロボットの作り方
SI2013 KOBE, Dec. 2013

4
SUGAR SWEET ROBOTICS CO., LTD.

パッケージとは何か?
• RTシステムおよび複数のRTCをひとまとまり
として共有するための概念
RTC

Pack
RTC

Pack

パッケージ
RTC収集情報

RTC

RTC

実行時の設定

RTCD

RTS

SI2013 KOBE, Dec. 2013

5
SUGAR SWEET ROBOTICS CO., LTD.

ROSおけるパッケージとその運用法
• ソフトウエアモジュールを配布するた
めの集まり

Package
 

• 一つのパッケージが複数のNodeを含む
• Nodeを連携実行するためのlaunch
ファイルを含む

! CMakeLists.txt

• パッケージ間の依存関係とビルド方法
が記述されている

! Node

!

Node

package.xml

.launch

SI2013 KOBE, Dec. 2013

6
SUGAR SWEET ROBOTICS CO., LTD.

ROSおけるパッケージとその運用法
workspace
 (catkin)
 
Package
 
!

• パッケージをビルドする際に依存対象
のパッケージをインストールする(apt
経由)
• 実行時はlaunchファイルから他のパッ
ケージを参照できる
• パッケージをグループ化するworkspace
の概念が導入された

! CMakeLists.txt ! package.xml
!
!
.launch
Node
Node
!
!
!
Package
 
! CMakeLists.txt !
!
!
Node
Node
!

package.xml

.launch

SI2013 KOBE, Dec. 2013

7
 
SUGAR SWEET ROBOTICS CO., LTD.

本研究におけるパッケージ
RTC
• RTシステムおよび複数のRTCをひと

Pack
RTC

Pack

まとまりとして共有するための概念
• RTSを配布するだけでなく,RTCを
連携して収集するための情報
• 複数の言語で書かれたRTCを連携し
て実行するための基礎情報

パッケージ
RTC収集情報

RTC

RTC

実行時の設定

RTCD

RTS

• 実行時のRTCの設定が書いてある
rtc.conf

RTC

RTC

SI2013 KOBE, Dec. 2013

8
SUGAR SWEET ROBOTICS CO., LTD.

本研究におけるパッケージ
パッケージ
RTC収集情報
リポジトリのURL
リポジトリのタイプ
ハッシュコード

実行時の設定
グローバルな設定
• ディレクトリ構造
• 実行すべきスクリプト
• コンソールへのバインド

RT System Profile
• コンフィグレーション
• RTC間の接続

•
•
•
•

rtc.conf
ネームサービス
ログ
ロードするモジュール
実行コンテキスト

SI2013 KOBE, Dec. 2013

9
SUGAR SWEET ROBOTICS CO., LTD.

フレームワークの開発
パッケージの利便性を検証するためにフレームワークの開発を行っ
ています.

SI2013 KOBE, Dec. 2013

10
SUGAR SWEET ROBOTICS CO., LTD.

パッケージの有用性を検証する
ためのフレームワーク
• フレームワークとは	
 	
 
• RRaaiillssやDDjjaannggooなどのウェブフレームワーク	
 	
 
• 記述性の高いプログラミング言語によるデータベー
スとの連携	
 	
 
• MMVVCCモデルの適用によるビューとアルゴリズム,デー
タ構造の分離	
 	
 
• プラグインの導入によるカスタマイズ性と再利用性	
 	
 
• プロジェクト全体の再利用性の向上

SI2013 KOBE, Dec. 2013

11
SUGAR SWEET ROBOTICS CO., LTD.

!

リポジトリの参照・管理

RTC
!

Pack
RTC

Pack

RTCの収集・ビルド

!

複数言語rtcdの同時実行

パッケージ
RTC収集情報

RTC

RTC

実行時の設定

RTCD

RTS

!

!

RTCのロード・実体化

RTシステムの自動構築

RTC

RTC
SI2013 KOBE, Dec. 2013

12
SUGAR SWEET ROBOTICS CO., LTD.

本研究で開発中のフレームワーク
• wwaassaannbboonn	
 	
 ((わさんぼん,和三盆)香川の美味しい砂糖	
 	
 
• マルチプラットフォーム	
 	
 
• OOSSXX,,	
 	
 WWiinn,,	
 	
 UUbbuunnttuu	
 	
 LLiinnuuxx	
 	
 //	
 	
 CC++++,,	
 	
 JJaavvaa,,	
 	
 PPyytthhoonn	
 	
 
• 環境構築・インストールを自動化	
 	
 
• コマンド一発で,ggiittなどのツールから,RRTTMM,eecclliippsseeをDDLL	
 	
 
• パッケージ・RRTTCCのリポジトリ管理と収集・配布	
 	
 
• 主にggiitthhuubbと連携.ssvvnnやhhggも参照可能	
 	
 
• ビルド	
 	
 
• ccmmaakkee,,	
 	
 ggccccおよびmmssbbuuiillddと連携	
 	
 
• 実行管理・RRTTシ�ステムの構築・保存	
 	
 
• rrttcc..ccoonnffの自動編集やRRTTSSPPの作成

SI2013 KOBE, Dec. 2013

13
SUGAR SWEET ROBOTICS CO., LTD.

マルチプラットフォーム化
• OOSSXX,,	
 	
 LLiinnuuxx,,	
 	
 WWiinnなどで動作するDDjjaannggooを
参考にPPyytthhoonnで実装	
 	
 
• PPyytthhoonnなのでrrttsshheellllなどの既存のツー
ルとの相性が良い	
 	
 
• PPyyGGiitthhuubbなどのWWEEBB連携やレポジトリ管
理が可能なツールがそろっている

SI2013 KOBE, Dec. 2013

14
SUGAR SWEET ROBOTICS CO., LTD.

自動環境構築
• wwaassaannbboonn--aaddmmiinn..ppyy	
 	
 iinniitt	
 	
 
• 上記のコマンドで	
 	
 
•
•
•
•

複数のインストーラのダウンロードと実行	
 	
 
一部ツールをコードからコンパイル	
 	
 
..bbaasshhrrccなどの設定ファイルの更新�	
 	
 
eemmaaccssやeecclliippssee等,非インストール系ツー
ルの適宜配置と設定

SI2013 KOBE, Dec. 2013

15
SUGAR SWEET ROBOTICS CO., LTD.

パッケージ管理
• wwaassaannbboonn--aaddmmiinn..ppyy	
 	
 ppaacckkaaggee	
 	
 ccrreeaattee	
 	
 …	
 	
 
• 上記のコマンドで	
 	
 
• パッケージのひな形を作成	
 	
 
• マネージャスクリプト	
 	
 mmggrr..ppyyを配置	
 	
 
• mmggrr..ppyy	
 	
 [[aarrgg11]]	
 	
 …でパッケージ管理

SI2013 KOBE, Dec. 2013

16
SUGAR SWEET ROBOTICS CO., LTD.

リポジトリ管理
!
• レポジトリ管理はPPyyGGiitthhuubbを利用	
 	
 
• SSSSHHキーの登録	
 	
 ((wwaassaannbboonn--aaddmmiinn..ppyy	
 	
 ggiitthhuubb__iinniitt))	
 	
 
• RRTTCCやパッケージのリポジトリの作成	
 	
 
• コードの収集はssuubbpprroocceessssを使ってggiittやhhggコマンドを
呼び出す	
 	
 
• 作成したパッケージのggiittリポジトリ化とggiitthhuubb登録も
mmggrr..ppyyから

SI2013 KOBE, Dec. 2013

17
SUGAR SWEET ROBOTICS CO., LTD.

リポジトリファイル
• wwaassaannbboonn__rreeppoossiittoorriieess..ggiitt	
 	
 
• sseettttiinngg..yyaammll…対応OOSSごとのディレクトリ,著者情報など,
子リポジトリファイルの位置	
 	
 
• rrttccss	
 	
 
• ○○..yyaammll	
 	
 
• ××..yyaammll	
 	
  DoubleSeqViewer :	
description : 'Double Sequence Data Viewer RT-component.'	
type : hg	
• ppaacckkaaggeess
url : 'https://ysuga0731@code.google.com/p/doubleseqviewer/'	
platform : [osx, ubuntu, win]	
StringViewer :	
description : 'String Value Viewer RT-component'	
type : git	
url : 'https://github.com/sugarsweetrobotics/StringViewer.git'	
platform : [osx, ubuntu, win]	
TimedLongSeqViewer :	
description : 'TimedLongSeq viewer RT-component'	
type : git	
url : 'https://github.com/sugarsweetrobotics/TimedLongSeqViewer.git'	
platform : [osx, ubuntu, win]	

SI2013 KOBE, Dec. 2013

18

More Related Content

Similar to Wasanbonの開発

RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミング
RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミングRTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミング
RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミングNoriaki Ando
 
Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用QlikPresalesJapan
 
組み込み入門
組み込み入門組み込み入門
組み込み入門Yuki Suga
 
組み込み入門
組み込み入門組み込み入門
組み込み入門Yuki Suga
 
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?Takakiyo Tanaka
 
130329 04
130329 04130329 04
130329 04openrtm
 
20130329 rtm4
20130329 rtm420130329 rtm4
20130329 rtm4openrtm
 
OpenRTM-aist入門
OpenRTM-aist入門OpenRTM-aist入門
OpenRTM-aist入門Yuki Suga
 
ロボットについて (ロボットのソフトウェア的側面と分散モジュール開発)
ロボットについて (ロボットのソフトウェア的側面と分散モジュール開発)ロボットについて (ロボットのソフトウェア的側面と分散モジュール開発)
ロボットについて (ロボットのソフトウェア的側面と分散モジュール開発)Yuki Suga
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜Masaya Aoyama
 
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Masahito Zembutsu
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2Preferred Networks
 
GC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdfGC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdfssuser41f27b
 
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsiderMoq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider貴志 上坂
 
Qlik composeのインストール
Qlik composeのインストールQlik composeのインストール
Qlik composeのインストールQlikPresalesJapan
 
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Takashi Honda
 
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善Developers Summit
 

Similar to Wasanbonの開発 (20)

RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミング
RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミングRTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミング
RTミドルウェアによるロボットプログラミング技術 3. RTMによるプログラミング
 
Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用Google BigQueryのターゲットエンドポイントとしての利用
Google BigQueryのターゲットエンドポイントとしての利用
 
組み込み入門
組み込み入門組み込み入門
組み込み入門
 
組み込み入門
組み込み入門組み込み入門
組み込み入門
 
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
クラウド、クラウドというけれどJavaのシステムにとってクラウドってメリットあるの?
 
130329 04
130329 04130329 04
130329 04
 
20130329 rtm4
20130329 rtm420130329 rtm4
20130329 rtm4
 
OpenRTM-aist入門
OpenRTM-aist入門OpenRTM-aist入門
OpenRTM-aist入門
 
今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 2020/12/19今さら聞けない人のためのGit超入門 2020/12/19
今さら聞けない人のためのGit超入門 2020/12/19
 
ロボットについて (ロボットのソフトウェア的側面と分散モジュール開発)
ロボットについて (ロボットのソフトウェア的側面と分散モジュール開発)ロボットについて (ロボットのソフトウェア的側面と分散モジュール開発)
ロボットについて (ロボットのソフトウェア的側面と分散モジュール開発)
 
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
 
Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技Docker 9 tips~意外と知られていない日常で役立つ便利技
Docker 9 tips~意外と知られていない日常で役立つ便利技
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
GC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdfGC_Naiseika_Day_q3_0706_Keynote.pdf
GC_Naiseika_Day_q3_0706_Keynote.pdf
 
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsiderMoq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
 
Mercurial入門
Mercurial入門Mercurial入門
Mercurial入門
 
Qlik composeのインストール
Qlik composeのインストールQlik composeのインストール
Qlik composeのインストール
 
Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善Infrastructure as Codeの取り組みと改善
Infrastructure as Codeの取り組みと改善
 
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
【20-E-5】実践!Infrastructure as a Codeの取り組みと改善
 
オープンソースソフトウェアによるビジネス支援セミナー
オープンソースソフトウェアによるビジネス支援セミナーオープンソースソフトウェアによるビジネス支援セミナー
オープンソースソフトウェアによるビジネス支援セミナー
 

More from Yuki Suga

機械図面の基礎
機械図面の基礎機械図面の基礎
機械図面の基礎Yuki Suga
 
適応アルゴリズムとコミュニケーションロボット
適応アルゴリズムとコミュニケーションロボット適応アルゴリズムとコミュニケーションロボット
適応アルゴリズムとコミュニケーションロボットYuki Suga
 
RTミドルウエア活用について
RTミドルウエア活用についてRTミドルウエア活用について
RTミドルウエア活用についてYuki Suga
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Yuki Suga
 
ネットワーク通信入門
ネットワーク通信入門ネットワーク通信入門
ネットワーク通信入門Yuki Suga
 
SI2008 RT-middleware Contest
SI2008 RT-middleware ContestSI2008 RT-middleware Contest
SI2008 RT-middleware ContestYuki Suga
 
RTミドルウエアコンテスト2011応募作品「RTno」
RTミドルウエアコンテスト2011応募作品「RTno」RTミドルウエアコンテスト2011応募作品「RTno」
RTミドルウエアコンテスト2011応募作品「RTno」Yuki Suga
 

More from Yuki Suga (8)

機械図面の基礎
機械図面の基礎機械図面の基礎
機械図面の基礎
 
適応アルゴリズムとコミュニケーションロボット
適応アルゴリズムとコミュニケーションロボット適応アルゴリズムとコミュニケーションロボット
適応アルゴリズムとコミュニケーションロボット
 
RTミドルウエア活用について
RTミドルウエア活用についてRTミドルウエア活用について
RTミドルウエア活用について
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2
 
ネットワーク通信入門
ネットワーク通信入門ネットワーク通信入門
ネットワーク通信入門
 
SI2008 RT-middleware Contest
SI2008 RT-middleware ContestSI2008 RT-middleware Contest
SI2008 RT-middleware Contest
 
RTC-scilab
RTC-scilabRTC-scilab
RTC-scilab
 
RTミドルウエアコンテスト2011応募作品「RTno」
RTミドルウエアコンテスト2011応募作品「RTno」RTミドルウエアコンテスト2011応募作品「RTno」
RTミドルウエアコンテスト2011応募作品「RTno」
 

Wasanbonの開発

  • 1. SUGAR SWEET ROBOTICS CO., LTD. RTシステムの再利用性を高めるための オープンフレームワークの開発 菅 佑樹(早大,SSR) 尾形 哲也(早大) SI2013 KOBE, Dec. 2013
  • 2. SUGAR SWEET ROBOTICS CO., LTD. コンテンツ • RRTTシ�ステム全体を配布するためのパッケー ジの概念の導入について • パッケージの有効性検証のためのフレーム ワークの開発について SI2013 KOBE, Dec. 2013 2
  • 3. SUGAR SWEET ROBOTICS CO., LTD. パッケージの概念の導入 パッケージの概念の導入により,RRTTシ�ステムとしての再利用性に着 目し,RRTTMM利用者の拡大を目指す SI2013 KOBE, Dec. 2013 3
  • 4. SUGAR SWEET ROBOTICS CO., LTD. コンセプト • RRTTMMへのパッケージの概念の導入 • RRTTCCを配布するだけで終わりですか? • 「○コ動」や「よう○べ」で見た××のような ロボットを作りたい • 通常,RRTTCCではなくRRTTシ�ステムに着目している • 模倣から始まってもいいじゃない • RRTTSSの単位で配布・共有して,それをカスタマ イズするというロボットの作り方 SI2013 KOBE, Dec. 2013 4
  • 5. SUGAR SWEET ROBOTICS CO., LTD. パッケージとは何か? • RTシステムおよび複数のRTCをひとまとまり として共有するための概念 RTC Pack RTC Pack パッケージ RTC収集情報 RTC RTC 実行時の設定 RTCD RTS SI2013 KOBE, Dec. 2013 5
  • 6. SUGAR SWEET ROBOTICS CO., LTD. ROSおけるパッケージとその運用法 • ソフトウエアモジュールを配布するた めの集まり Package
  • 7.   • 一つのパッケージが複数のNodeを含む • Nodeを連携実行するためのlaunch ファイルを含む ! CMakeLists.txt • パッケージ間の依存関係とビルド方法 が記述されている ! Node ! Node package.xml .launch SI2013 KOBE, Dec. 2013 6
  • 8. SUGAR SWEET ROBOTICS CO., LTD. ROSおけるパッケージとその運用法 workspace
  • 11.   ! • パッケージをビルドする際に依存対象 のパッケージをインストールする(apt 経由) • 実行時はlaunchファイルから他のパッ ケージを参照できる • パッケージをグループ化するworkspace の概念が導入された ! CMakeLists.txt ! package.xml ! ! .launch Node Node ! ! ! Package
  • 13.  
  • 14. SUGAR SWEET ROBOTICS CO., LTD. 本研究におけるパッケージ RTC • RTシステムおよび複数のRTCをひと Pack RTC Pack まとまりとして共有するための概念 • RTSを配布するだけでなく,RTCを 連携して収集するための情報 • 複数の言語で書かれたRTCを連携し て実行するための基礎情報 パッケージ RTC収集情報 RTC RTC 実行時の設定 RTCD RTS • 実行時のRTCの設定が書いてある rtc.conf RTC RTC SI2013 KOBE, Dec. 2013 8
  • 15. SUGAR SWEET ROBOTICS CO., LTD. 本研究におけるパッケージ パッケージ RTC収集情報 リポジトリのURL リポジトリのタイプ ハッシュコード 実行時の設定 グローバルな設定 • ディレクトリ構造 • 実行すべきスクリプト • コンソールへのバインド RT System Profile • コンフィグレーション • RTC間の接続 • • • • rtc.conf ネームサービス ログ ロードするモジュール 実行コンテキスト SI2013 KOBE, Dec. 2013 9
  • 16. SUGAR SWEET ROBOTICS CO., LTD. フレームワークの開発 パッケージの利便性を検証するためにフレームワークの開発を行っ ています. SI2013 KOBE, Dec. 2013 10
  • 17. SUGAR SWEET ROBOTICS CO., LTD. パッケージの有用性を検証する ためのフレームワーク • フレームワークとは • RRaaiillssやDDjjaannggooなどのウェブフレームワーク • 記述性の高いプログラミング言語によるデータベー スとの連携 • MMVVCCモデルの適用によるビューとアルゴリズム,デー タ構造の分離 • プラグインの導入によるカスタマイズ性と再利用性 • プロジェクト全体の再利用性の向上 SI2013 KOBE, Dec. 2013 11
  • 18. SUGAR SWEET ROBOTICS CO., LTD. ! リポジトリの参照・管理 RTC ! Pack RTC Pack RTCの収集・ビルド ! 複数言語rtcdの同時実行 パッケージ RTC収集情報 RTC RTC 実行時の設定 RTCD RTS ! ! RTCのロード・実体化 RTシステムの自動構築 RTC RTC SI2013 KOBE, Dec. 2013 12
  • 19. SUGAR SWEET ROBOTICS CO., LTD. 本研究で開発中のフレームワーク • wwaassaannbboonn ((わさんぼん,和三盆)香川の美味しい砂糖 • マルチプラットフォーム • OOSSXX,, WWiinn,, UUbbuunnttuu LLiinnuuxx // CC++++,, JJaavvaa,, PPyytthhoonn • 環境構築・インストールを自動化 • コマンド一発で,ggiittなどのツールから,RRTTMM,eecclliippsseeをDDLL • パッケージ・RRTTCCのリポジトリ管理と収集・配布 • 主にggiitthhuubbと連携.ssvvnnやhhggも参照可能 • ビルド • ccmmaakkee,, ggccccおよびmmssbbuuiillddと連携 • 実行管理・RRTTシ�ステムの構築・保存 • rrttcc..ccoonnffの自動編集やRRTTSSPPの作成 SI2013 KOBE, Dec. 2013 13
  • 20. SUGAR SWEET ROBOTICS CO., LTD. マルチプラットフォーム化 • OOSSXX,, LLiinnuuxx,, WWiinnなどで動作するDDjjaannggooを 参考にPPyytthhoonnで実装 • PPyytthhoonnなのでrrttsshheellllなどの既存のツー ルとの相性が良い • PPyyGGiitthhuubbなどのWWEEBB連携やレポジトリ管 理が可能なツールがそろっている SI2013 KOBE, Dec. 2013 14
  • 21. SUGAR SWEET ROBOTICS CO., LTD. 自動環境構築 • wwaassaannbboonn--aaddmmiinn..ppyy iinniitt • 上記のコマンドで • • • • 複数のインストーラのダウンロードと実行 一部ツールをコードからコンパイル ..bbaasshhrrccなどの設定ファイルの更新� eemmaaccssやeecclliippssee等,非インストール系ツー ルの適宜配置と設定 SI2013 KOBE, Dec. 2013 15
  • 22. SUGAR SWEET ROBOTICS CO., LTD. パッケージ管理 • wwaassaannbboonn--aaddmmiinn..ppyy ppaacckkaaggee ccrreeaattee … • 上記のコマンドで • パッケージのひな形を作成 • マネージャスクリプト mmggrr..ppyyを配置 • mmggrr..ppyy [[aarrgg11]] …でパッケージ管理 SI2013 KOBE, Dec. 2013 16
  • 23. SUGAR SWEET ROBOTICS CO., LTD. リポジトリ管理 ! • レポジトリ管理はPPyyGGiitthhuubbを利用 • SSSSHHキーの登録 ((wwaassaannbboonn--aaddmmiinn..ppyy ggiitthhuubb__iinniitt)) • RRTTCCやパッケージのリポジトリの作成 • コードの収集はssuubbpprroocceessssを使ってggiittやhhggコマンドを 呼び出す • 作成したパッケージのggiittリポジトリ化とggiitthhuubb登録も mmggrr..ppyyから SI2013 KOBE, Dec. 2013 17
  • 24. SUGAR SWEET ROBOTICS CO., LTD. リポジトリファイル • wwaassaannbboonn__rreeppoossiittoorriieess..ggiitt • sseettttiinngg..yyaammll…対応OOSSごとのディレクトリ,著者情報など, 子リポジトリファイルの位置 • rrttccss • ○○..yyaammll • ××..yyaammll DoubleSeqViewer : description : 'Double Sequence Data Viewer RT-component.' type : hg • ppaacckkaaggeess url : 'https://ysuga0731@code.google.com/p/doubleseqviewer/' platform : [osx, ubuntu, win] StringViewer : description : 'String Value Viewer RT-component' type : git url : 'https://github.com/sugarsweetrobotics/StringViewer.git' platform : [osx, ubuntu, win] TimedLongSeqViewer : description : 'TimedLongSeq viewer RT-component' type : git url : 'https://github.com/sugarsweetrobotics/TimedLongSeqViewer.git' platform : [osx, ubuntu, win] SI2013 KOBE, Dec. 2013 18
  • 25. SUGAR SWEET ROBOTICS CO., LTD. RRTTCCの収集・ビルド機能 • $$ mmggrr..ppyy rrttcc cclloonnee CCoonnssoolleeIInnppuutt • リポジトリ内の名前でRRTTCCを自動的に収集 • $$ mmggrr..ppyy rrttcc bbuuiilldd CCoonnssoolleeIInnppuutt • bbuuiillddディレクトリを作成してコマンドをコール • CC++++版 • UUnniixx系…ccmmaakkeeとggcccc • WWiinnddoowwss系…ccmmaakkeeとmmssbbuuiilldd • JJaavvaa版…jjaavvaaccでコンパイル,jjaarrでアーカイブ化 • PPyytthhoonn版…iiddllccoommppiilleeのみ • 作成したバイナリと個別RRTTCC..ccoonnffを検索して,特定のディレクトリ (デフォルトでbbiinn)にコピーする機能 • 個別にRRTTCCを実行する機能 SI2013 KOBE, Dec. 2013 19
  • 26. SUGAR SWEET ROBOTICS CO., LTD. 実行管理・RRTTSS構築 • RRTTCCをRRTTCC DDaaeemmoonnと結びつける • $$ mmggrr..ppyy ssyysstteemm iinnssttaallll ****RRTTCC • 対応するRRTTCCのディレクトリからバイナリを検索して,bbiinnディレクトリ にコピー ((CC++++,, JJaavvaa)).RRTTCC..ccoonnffもコピー • 対応するrrttccddのrrttcc..ccoonnffを書き換える • RRTTSSの構築 • RRTTSSEEの利用 • rrttccddを起動してからRRTTSSEEを起動.終了後にrrttrreessuurrrreeccttでRRTTSSPPを保存 • コンソール上手動接続 • rrttccddを起動し,すべての可能な接続ペアについて,yy//nnで接続を確 認. • 各RRTTCCについてコンフィグレーシ�ョンを設定 • rrttrreessuurrrreeccttで保存 SI2013 KOBE, Dec. 2013 20
  • 27. SUGAR SWEET ROBOTICS CO., LTD. wwaassaannbboonnの実行管理・RRTTSS構築 • ネームサービスの自動実行 • CC++++,, JJaavvaa,, PPyytthhoonnのRRTTCC DDaaeemmoonnを同時に実行(バインド するポートを別にしておく) • それぞれのrrttcc..ccoonnffでRRTTCCをロードして実体化 • rrttsshheellllの機能でRRTTSSを構築,アクティブ化 • プロセスIIDDを管理して,終了時にはシ�グナルを送り止める SI2013 KOBE, Dec. 2013 21
  • 28. SUGAR SWEET ROBOTICS CO., LTD. 結言 • RRTTシ�ステム全体を配布するためのパッケー ジの概念の導入について • パッケージの有効性検証のためのフレーム ワークの開発について SI2013 KOBE, Dec. 2013 22
  • 29. SUGAR SWEET ROBOTICS CO., LTD. 今後の展望 • RRTTCC作成時をもっとスピーディに • 現状ではRRTTCCBBを利用している • ひな形をコマンドラインから簡単に • IIDDLLの収集を効率的に • パッケージのマージ機能 • 複数のRRTTSSを組み合わせたシ�ステム構築 • DDDDCC44RRTTCCによるパッケージ間の遷移 • wwaassaannbboonn..oorrggでの配布を目指す SI2013 KOBE, Dec. 2013 23
  • 30. SUGAR SWEET ROBOTICS CO., LTD. ご清聴ありがとうございました 菅 佑樹 ((yyssuuggaa@@yyssuuggaa..nneett)) 株式会社SSUUGGAARR SSWWEEEETT RROOBBOOTTIICCSS代表取締役 早稲田大学ヒューマノイド研究所招聘研究員 芝浦工業大学SSIITT研究所客員研究員 東京大学情報理工学系研究科特任研究員(JJSSKK--SSTTAARRTT))プロジェクト hhttttpp::////yyssuuggaa..nneett hhttttpp::////ssuuggaarrsswweeeettrroobboottiiccss..ccoomm hhttttpp::////ooppeennssoouurrccee--rroobboottiiccss..ttookkyyoo..jjpp ! ! 尾形 哲也 ((ooggaattaa@@wwaasseeddaa..jjpp)) 早稲田大学基幹理工学部表現工学科 教授 科学技術振興機構さきがけ研究「情報と人」領域研究員 hhttttpp::////ooggaattaa--llaabb..jjpp ! 本研究の一部はJJSSTTさきがけ領域「情報環境と人」及び文科省科研費新�学術領域研究「構成論的発達 科学」(NNoo.. 2244111199000033)の助成を受けています.ここに感謝の意を表します. SI2013 KOBE, Dec. 2013 24