SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
統合知能研究グループ
組込み用Linuxボード,BeagleBone Black
における RT ミドルウェアの
動作と開発支援ツール
・村上 青児(筑波大/産総研)
・ 安藤 慶昭(産総研)
・ 関山 守(産総研)
・ 鍛冶 良作(産総研)
・ 谷川 民生(産総研)
・ 神徳 徹雄(産総研)
統合知能研究グループ
概要
• 最近のLinuxボード事情
• 小型Linuxボードで開発を行なう際の問題点
の抽出
• 解決方法の提案とその効果
• まとめ
統合知能研究グループ
最近のLinuxボード事情
• 近年安価で通常のLinux (uCLinuxなどの組込みでは無い)
が動作するボードが続々と発売されている。
• クロスコンパイルが不要(ボード上でのコンパイルが可能)
• 通常(RTC-Lite、miniRTC等ではない)のOpenRTM-aistが
実行可能。
AriaG25BeagleBone Black Raspberry Pi ODROID-XU
引用:http://www.hardkernel.com
しかし
PC上での開発とまったく同じというわけにはいかない
統合知能研究グループ
BeagleBone Black
CPU Coretex-A8 1GHz
RAM 512MB
OS AngstromLinux
価格 $45
IO A/D×7
PWM×6
タイマ×4
シリアル×4
CAN SPI I2C
組み込みLinuxボードでRTM・RTCを
簡単に開発・利用できる仕組みを構築する
• ターゲット:BeagleBone Black
–多様なIO
–十分なスペック
• 組み込みボード特有の問題
– CPU・ディスクの速度
–マイナーなOS
–運用時の問題
–ヘッドレスシステム
統合知能研究グループ
小型Linuxボードの開発フロー
• 開発するまでに煩雑な手順や機材が
多く、ハードルが高く感じる。
• BeagleBone Blackを使ってこの開発
フローを検討、問題点を抽出した。
2.組み込みボードをネットワークに接続して起動する.
5.必要な環境設定を行う(Avahiのインストールなど).
3.画面に接続した状態でIPアドレスを調べる.
4.別の端末からssh経由でログインする.
6.OpenRTM-aistやomniORBのインストール.
7.RTコンポーネントの開発・デバッグ・実行
1.組み込みボードにモニタ・キーボードを繋ぐ.
煩雑で難しい!
統合知能研究グループ
理想的だと考えられる開発フロー
• 手順2~5を自動的に行える仕組
みを考える。
• 必要な周辺機器も最小限にする
ため、ヘッドレスシステムで開発
できることを考える。
簡単になった!
この状態でCOM接続、SSH接続が出来る
開発がしやすいボード
2.別端末からssh経由でログイン.
4.OpenRTM等をパッケージでインストールする.
3.必要な設定を行う.
5.RTコンポーネントの開発・デバッグ・実行
1.組み込みボードをネットワークに接続して起動する.
統合知能研究グループ
RT コンポーネント開発・運用環境の構築
1. BeagleBone Finderの作成
– ヘッドレス運用時の問題を解決
2. RTミドルウェアのバイナリをパッケージ形式で提供する
– OpenRTM-aistのコンパイルの負担を軽減
3. RTミドルウェアの自動起動の仕組みを作る
– 実運用時の枠組みを提供
• 実験としてKobukiコンポーネントを自動起動させ、
BeagleBone Blackから操作を行った。
統合知能研究グループ
1.BeagleBone Finder
BeagleBone Finderの動作
• ARPプロトコルによりネットワーク
上のMACアドレスとそのIPアドレス
のリストを作成
• MACアドレスからBeagleBoneの
IPアドレスのを取得
– BeagleBone BlackのベンダID:
C8:A0:30:*:*:*
BeagleBone Finderを実行し、IPアドレスの取得を行えた
SSHによるログインが可能に
→ヘッドレスシステムの実現
ネットワーク上のBeagleBoneを検索するツール
ルーター
母艦PC BeagleBone Black
LAN接続
IP
BBF実行
統合知能研究グループ
2.RTMをパッケージ形式でインストール
• RTM実行に必要なパッケ
ージのコンパイル
– 約4時間を要する
• バイナリパッケージを提
供することで、ユーザー
の負担を大幅に軽減でき
る。
RTMソースコード
RTMバイナリ
RTM実行可能
数時間にわたる
コンパイル!
インストール
RTMバイナリ
RTM実行可能
インストール
サーバーにある
RTMバイナリ
ダウンロード
オリジナルの手法 改善された方法
http://openrtm.org/pub/Linux/Angstrom/armv7l/omniorb.opk
http://openrtm.org/pub/Linux/Angstrom/armv7l/openrtm-aist.opk
Angstrom Linuxのパッ
ケージ管理システム:opkg
opkgの作成スクリプトも公開予定
omniORB/OpenRTM-
aistのパッケージを
作成・公開
パッケージの公開場所
統合知能研究グループ
3.RTMの自動起動
• 開発者がシステムを起動するまでも無く、電源を入れるだけで
RTミドルウェアおよび、狙ったRTコンポーネントが自動的に起動
する仕組みを構築。
→問題としてAngstrom Linuxに自動起動を行うrc.localが
存在しない
• 独自にrc.localを作成し、init.dからコールする仕組みを作成。
→自動起動が行え、RTMを起動する
際の手順を一気に省くことに成功。
この一連の流れを以下にまとめた。
http://openrtm.org/pub/Linux/Angstrom/armv7l/setuprtm.sh
センサ1 センサ2
センサ4センサ3
モニタリング
運用が非常に楽になった!
統合知能研究グループ
実験:Kobukiを使って検証
• BeagleBone Blackで自動起動させ
たkobuki用RTコンポーネントと
windowsで起動させた仮想ジョイス
ティック、TKJoystickを接続して、動
作確認を行った。
• また、開発における煩雑さの低減に
効果があったかの検証を行った。
OpenRTM-aistのインストールから、
Kobukiコンポーネントを立ち上げて
実際に動かすまで約5分程度で出来
た。
統合知能研究グループ
まとめ
• BeagleBone Finder、パッケージの配布、実行ファイルの自
動起動を行なう仕組みの提供、この三つを整えたことで、数
時間に及ぶ環境構築を数分まで短縮。
• 開発者の敷居を大幅に下げ、実際の運用を見据えた開発が
出来るようになった。
• 本論文で発表したBeagleBone Finder、パッケージ、自動起
動スクリプトや、その使い方は以下のサイトに掲載。今後充
実させていく予定。
http://www.openrtm.org/openrtm/ja/node/5420
統合知能研究グループ
今後の課題
• 今後の課題として、BeagleBone Blackには非常に多くのIO
ピンがあるため、開発者がこれをなるべくストレスを感じずに
使えるような仕組みを提供していく。
• BeagleBone Blackを使ったRTミドルウェアの開発手順を充
実させる。
統合知能研究グループ
ご清聴ありがとうございました
統合知能研究グループ
BeagleBone Blackの開発プロセス公開場所

Más contenido relacionado

Similar a Rsj2013 murakami

YoctoでLTSディストリを作るには
YoctoでLTSディストリを作るにはYoctoでLTSディストリを作るには
YoctoでLTSディストリを作るにはwata2ki
 
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界Shingo Kitayama
 
札幌シムトラ学会 発表資料
札幌シムトラ学会 発表資料札幌シムトラ学会 発表資料
札幌シムトラ学会 発表資料myagami
 
YoctoLTSについて調べてみた
YoctoLTSについて調べてみたYoctoLTSについて調べてみた
YoctoLTSについて調べてみたwata2ki
 
Open design computer project(boost)
Open design computer project(boost)Open design computer project(boost)
Open design computer project(boost)Ito Takahiro
 

Similar a Rsj2013 murakami (6)

YoctoでLTSディストリを作るには
YoctoでLTSディストリを作るにはYoctoでLTSディストリを作るには
YoctoでLTSディストリを作るには
 
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
 
札幌シムトラ学会 発表資料
札幌シムトラ学会 発表資料札幌シムトラ学会 発表資料
札幌シムトラ学会 発表資料
 
LattePandaの紹介
LattePandaの紹介LattePandaの紹介
LattePandaの紹介
 
YoctoLTSについて調べてみた
YoctoLTSについて調べてみたYoctoLTSについて調べてみた
YoctoLTSについて調べてみた
 
Open design computer project(boost)
Open design computer project(boost)Open design computer project(boost)
Open design computer project(boost)
 

Más de openrtm

ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部openrtm
 
ピッキングシステム
ピッキングシステムピッキングシステム
ピッキングシステムopenrtm
 
GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画openrtm
 
まねっこロボット
まねっこロボットまねっこロボット
まねっこロボットopenrtm
 
商品自動補充ロボットシステム
商品自動補充ロボットシステム商品自動補充ロボットシステム
商品自動補充ロボットシステムopenrtm
 
RTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptxRTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptxopenrtm
 
SysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdfSysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdfopenrtm
 
RTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdfRTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdfopenrtm
 
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部openrtm
 
5.総合演習(2)
5.総合演習(2)5.総合演習(2)
5.総合演習(2)openrtm
 
4.総合演習(1)
4.総合演習(1)4.総合演習(1)
4.総合演習(1)openrtm
 
3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習openrtm
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎openrtm
 
1.コース概要
1.コース概要1.コース概要
1.コース概要openrtm
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要openrtm
 
Slam実習
Slam実習Slam実習
Slam実習openrtm
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門openrtm
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門openrtm
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦openrtm
 
RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1openrtm
 

Más de 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.コース概要
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要
 
Slam実習
Slam実習Slam実習
Slam実習
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦
 
RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1
 

Rsj2013 murakami