Your SlideShare is downloading. ×
0
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Pirtunit slideshare
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Pirtunit slideshare

611

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
611
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. RaspberryPi 用拡張入出力ボード:PiRT-Unit - RTミドルウエア教育用途への適用 - 〇安藤慶昭(産総研) 関山守(産総研) 神徳徹雄(産総研) 深澤篤史(ウィン電子工業) 片見剛人(ウィン電子工業)
  • 2. はじめに • ソフト・ハード融合領域と教育 • RaspberryPiとPiRT-Unit – RT-UnitとRTC-Lite – PiRT-Unitの仕様・特徴 • ROBOMEC2013 RTM講習会での利用 • まとめ 2
  • 3. ソフト・ハード融合領域と教育 3 ロボット工学、情報工学、メディア工学、先端計測工学、 高エネルギー物理学、先進製造分野、メディアアート、etc… メディアアートにおけるRTミドルウエアの利用 ロボットにおけるRTMの利用 DAQシステムでのRTMの利用 先端計測分野でのRTMの利用 ソフトウェア技術 ハードウェア技術 様々な分野で、ハードとソフトの融合が進み 両方の技術を習得した人材が必要とされている!!
  • 4. RTミドルウエア講習会 • これまでに約40回、 600名以上を対象に講 習会を開催 • ソフトとハードの技術を 短期間で習得すること は難しい • 理想: – 一人1台のロボット – すぐに試せる環境 – 十分な時間 4
  • 5. RaspberryPi • 低価格Linuxボード – 約3,000円 • debianが動作 – ≠ uClinux, busybox – セルフコンパイル可能 • リッチなスペック – CPU: ARM11 700MHz – メモリ: 512MB – ストレージ: SDメモリ • 多彩なIF,IO – Ethernet,USB,Composite Video, HDMI – GPIO, SPI, I2C, UART 5 HDMI LAN USB Video PWR Audi o 5V power 5V power Ground GPIO 14 (TXD) GPIO 15 (RXD) GPIO 18 (PCM_CLK) Ground GPIO 23 GPIO 24 Ground GPIO 25 GPIO 8 (CE0) GPIO 7 (CE1) 3.3V power GPIO 0 (I2C SDA) GPIO 1 (I2C SCL) GPIO 4 (GPCLK0) Ground GPIO 17 GPIO 21 (PCM_DOUT) GPIO 22 3.3V power GPIO 10 (MOSI) GPIO 9 (MISO) GPIO 11 (SCLK) Ground 1 2 25 26 Raspberry Pi
  • 6. RaspberryPi • 低価格Linuxボード – 約3,000円 • debianが動作 – ≠ uClinux, busybox – セルフコンパイル可能 • リッチなスペック – CPU: ARM11 700MHz – メモリ: 512MB – ストレージ: SDメモリ • 多彩なIF,IO – Ethernet,USB,Composite Video, HDMI – GPIO, SPI, I2C, UART 6 HDMI LAN USB Video PWR Audi o 5V power 5V power Ground GPIO 14 (TXD) GPIO 15 (RXD) GPIO 18 (PCM_CLK) Ground GPIO 23 GPIO 24 Ground GPIO 25 GPIO 8 (CE0) GPIO 7 (CE1) 3.3V power GPIO 0 (I2C SDA) GPIO 1 (I2C SCL) GPIO 4 (GPCLK0) Ground GPIO 17 GPIO 21 (PCM_DOUT) GPIO 22 3.3V power GPIO 10 (MOSI) GPIO 9 (MISO) GPIO 11 (SCLK) Ground 1 2 25 26 Raspberry Pi RaspberryPiとRTミドルウエアを利用することで、 ソフトとハードの技術を効率よく習得するための プラットフォームが実現できるのでは?
  • 7. RTUnit(2003年~) /RTC-Lite(2005年~) • ネットワーク型マイコン機器 – small/μRTUnitをRTMで統合 7 small RTUnit μRTUnit RTUnit 仕様 MPU Microchip PIC16F877A ROM 8kwords RAM 368 bytes EEPROM 256 bytes クロック max 20MHz A/D 10bit ×8ch DIO 24ch シリアル 2ch 通信 LANTRONIX XPort 電源 DC 5V
  • 8. モデルに基づくコード生成 8 コンポーネント仕様 MyComp temp.sensor device temp. sensor RTC STATIC PERIODIC mode:TimedBool temp: TimedDouble name: category: description: comp_type: act_type: InPorts: OutPorts: Template code generator C++ backend Java backend Python backend RTC-Lite backend RTC source for C++ RTC source for Java RTC source for Python RTC-Lite source for PIC C RTC-Lite proxy code class MyComp : public DataflowComponent { public: virutal onExecute(ec_id); : private: TimedBool m_mode; TimedDouble m_temp; }; import RTC.DataFlowComponent; public class MyCompImpl extends DataFlowComponent { public ConsoleInImpl(mgr) { } : }; #/usr/bin/env python import RTC class MyComp( DataFlowComponent): def __init__(self, manager): : def onExecute(self, ec_id): : #include <16f877a.h> #include "rtc_base.c“ int main (void) { rtc_connect_proxy(); rtc_mainloop(); return 0; } #/usr/bin/env python import RTC class Proxy( DataFlowComponent): def __init__(self, manager): : def onExecute(self, ec_id): : 同一のRTC仕様からは 言語が異なっていても、 同じ(コンポーネントモデ ルの)RTCが生成される
  • 9. モデルに基づくコード生成 9 コンポーネント仕様 MyComp temp.sensor device temp. sensor RTC STATIC PERIODIC mode:TimedBool temp: TimedDouble name: category: description: comp_type: act_type: InPorts: OutPorts: Template code generator C++ backend Java backend Python backend RTC-Lite backend RTC source for C++ RTC source for Java RTC source for Python RTC-Lite source for PIC C RTC-Lite proxy code class MyComp : public DataflowComponent { public: virutal onExecute(ec_id); : private: TimedBool m_mode; TimedDouble m_temp; }; import RTC.DataFlowComponent; public class MyCompImpl extends DataFlowComponent { public ConsoleInImpl(mgr) { } : }; #/usr/bin/env python import RTC class MyComp( DataFlowComponent): def __init__(self, manager): : def onExecute(self, ec_id): : #include <16f877a.h> #include "rtc_base.c“ int main (void) { rtc_connect_proxy(); rtc_mainloop(); return 0; } #/usr/bin/env python import RTC class Proxy( DataFlowComponent): def __init__(self, manager): : def onExecute(self, ec_id): : 同一のRTC仕様からは 言語が異なっていても、 同じ(コンポーネントモデ ルの)RTCが生成される Proxy Component Small RT-Unit I/O RTC-Lite PC RTC-Lite protocol フル規格RTCへフル規格RTCから
  • 10. PiRT-Unit PiRT-Unit諸元 ADコンバータ 10bit, 4ch, 200S/s DAコンバータ 12bit, 2ch PWM出力 1ch, RCサーボモータ用 RS232C D-SUB 9pinコネクタ Xbeeとジャンパにて切り替え XBee Xbeeモジュール接続コネクタ 電源入力 5V DC入力 RaspberryPiへ電源供給可能 RaspberryPiからの電源供給 でも動作(例:秋月のアダプタ) 10 PWR AD0AD1AD2AD3 DA0 DA1 PWM RS232C DSUB 9pin PiRT-Unit XBee GND 5V In GND 5V In GND 5V In GND 5V In 3.3V SCL SDA GND I2C シリアルポート Zigbee モジュール DA 2ch AD4chI2C PWM 普通のLinuxから普通に触れる入出力ボード ・クロスコンパイル不要 ・マシン語・アセンブリ言語不要 手軽にセンサ・アクチュエータ等を試せる環境
  • 11. PiRT-Unit 特長 • Xbeeを利用可能 – 手軽に無線利用 • Phidgetセンサを利用可能 – 様々なセンサを手軽に利用 可能 • チュートリアルとセットアッ プスクリプト – 環境構築を支援するプログラ ムを提供 – http://openrtm.org 11 AD GND 5V In Phidgetセンサユニット PiRT-Unit ADCコネクタ
  • 12. RTM講習会での利用 ROBOMEC2013(5月22日) NSNS localhost(デフォルト)に登録 localhost(デフォルト)に登録 RTSystemEditorに両方の ネームサーバを登録 それぞれにネームサーバを立てる Raspberry Pi + Kobuki RaspberryPi + PiRT-Unit Ministick Sensor PC MinistickとKobuki を接続 vel targetVelocity
  • 13. RTM講習会での利用 ROBOMEC2013(5月22日) • 課題 – Pythonによるプログラミング – ひな型を提供 – IO読み込みから移動ロボット の速度ベクトルへの変換コー ドを実装 • 結果 – Pythonは初心者にも容易に 理解できる – Linux上のCUIでの操作に難 あり – 無線接続が不安定なため接 続トラブルが発生 13
  • 14. まとめ • ソフト・ハード融合領域と教育用プラットフォームとし てのRaspberryPiとPiRT-Unit – セルフコンパイル可能なLinux – センサ等を容易に接続可能なIO拡張ボード – Webチュートリアル・自動セットアップスクリプト • ROBOMEC2013 RTM講習会での利用 – スクリプト言語の利用が有用 – Linux等CUIのレクチャーから必要:カリキュラムの改善 – RTミドルウエアによる拡張性、他のシステムとの接続 • PiRT-Unitを利用したチュートリアル作成を予定 – 大学の先生方のご意見をいただければ幸いです 14

×