15
統合知能研究グループ 組込み用Linuxボード,BeagleBone Black における RT ミドルウェアの 動作と開発支援ツール ・村上 青児(筑波大/産総研) 安藤 慶昭(産総研) 関山 守(産総研) 鍛冶 良作(産総研) 谷川 民生(産総研) 神徳 徹雄(産総研)

Rsj2013 murakami

  • Upload
    openrtm

  • View
    653

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rsj2013 murakami

統合知能研究グループ

組込み用Linuxボード,BeagleBone Black

における RT ミドルウェアの

動作と開発支援ツール

・村上 青児(筑波大/産総研) ・ 安藤 慶昭(産総研) ・ 関山 守(産総研) ・ 鍛冶 良作(産総研) ・ 谷川 民生(産総研) ・ 神徳 徹雄(産総研)

Page 2: Rsj2013 murakami

統合知能研究グループ

概要

•最近のLinuxボード事情

•小型Linuxボードで開発を行なう際の問題点の抽出

•解決方法の提案とその効果

• まとめ

Page 3: Rsj2013 murakami

統合知能研究グループ

最近のLinuxボード事情

• 近年安価で通常のLinux (uCLinuxなどの組込みでは無い)が動作するボードが続々と発売されている。

• クロスコンパイルが不要(ボード上でのコンパイルが可能)

• 通常(RTC-Lite、miniRTC等ではない)のOpenRTM-aistが実行可能。

AriaG25 BeagleBone Black Raspberry Pi ODROID-XU

引用:http://www.hardkernel.com

しかし

PC上での開発とまったく同じというわけにはいかない

Page 4: Rsj2013 murakami

統合知能研究グループ

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

–運用時の問題

–ヘッドレスシステム

Page 5: Rsj2013 murakami

統合知能研究グループ

小型Linuxボードの開発フロー

• 開発するまでに煩雑な手順や機材が多く、ハードルが高く感じる。

• BeagleBone Blackを使ってこの開発フローを検討、問題点を抽出した。

2.組み込みボードをネットワークに接続して起動する.

5.必要な環境設定を行う(Avahiのインストールなど).

3.画面に接続した状態でIPアドレスを調べる.

4.別の端末からssh経由でログインする.

6.OpenRTM-aistやomniORBのインストール.

7.RTコンポーネントの開発・デバッグ・実行

1.組み込みボードにモニタ・キーボードを繋ぐ.

煩雑で難しい!

Page 6: Rsj2013 murakami

統合知能研究グループ

理想的だと考えられる開発フロー

• 手順2~5を自動的に行える仕組みを考える。

• 必要な周辺機器も最小限にするため、ヘッドレスシステムで開発できることを考える。

簡単になった! この状態でCOM接続、SSH接続が出来る

開発がしやすいボード

2.別端末からssh経由でログイン.

4.OpenRTM等をパッケージでインストールする.

3.必要な設定を行う.

5.RTコンポーネントの開発・デバッグ・実行

1.組み込みボードをネットワークに接続して起動する.

Page 7: Rsj2013 murakami

統合知能研究グループ

RT コンポーネント開発・運用環境の構築

1. BeagleBone Finderの作成

– ヘッドレス運用時の問題を解決

2. RTミドルウェアのバイナリをパッケージ形式で提供する

– OpenRTM-aistのコンパイルの負担を軽減

3. RTミドルウェアの自動起動の仕組みを作る

–実運用時の枠組みを提供

• 実験としてKobukiコンポーネントを自動起動させ、BeagleBone Blackから操作を行った。

Page 8: Rsj2013 murakami

統合知能研究グループ

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実行

Page 9: Rsj2013 murakami

統合知能研究グループ

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のパッケージを

作成・公開

パッケージの公開場所

Page 10: Rsj2013 murakami

統合知能研究グループ

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

モニタリング

運用が非常に楽になった!

Page 11: Rsj2013 murakami

統合知能研究グループ

実験:Kobukiを使って検証

• BeagleBone Blackで自動起動させたkobuki用RTコンポーネントとwindowsで起動させた仮想ジョイスティック、TKJoystickを接続して、動作確認を行った。

• また、開発における煩雑さの低減に効果があったかの検証を行った。

OpenRTM-aistのインストールから、Kobukiコンポーネントを立ち上げて実際に動かすまで約5分程度で出来た。

Page 12: Rsj2013 murakami

統合知能研究グループ

まとめ

• BeagleBone Finder、パッケージの配布、実行ファイルの自動起動を行なう仕組みの提供、この三つを整えたことで、数時間に及ぶ環境構築を数分まで短縮。

• 開発者の敷居を大幅に下げ、実際の運用を見据えた開発が出来るようになった。

• 本論文で発表したBeagleBone Finder、パッケージ、自動起動スクリプトや、その使い方は以下のサイトに掲載。今後充実させていく予定。 http://www.openrtm.org/openrtm/ja/node/5420

Page 13: Rsj2013 murakami

統合知能研究グループ

今後の課題

• 今後の課題として、BeagleBone Blackには非常に多くのIO

ピンがあるため、開発者がこれをなるべくストレスを感じずに使えるような仕組みを提供していく。

• BeagleBone Blackを使ったRTミドルウェアの開発手順を充実させる。

Page 14: Rsj2013 murakami

統合知能研究グループ

ご清聴ありがとうございました

Page 15: Rsj2013 murakami

統合知能研究グループ

BeagleBone Blackの開発プロセス公開場所