More Related Content Similar to Raspberry pi+mono を使ってlegoを制御
Similar to Raspberry pi+mono を使ってlegoを制御 (20) Raspberry pi+mono を使ってlegoを制御2. 自己紹介
増田 智明 masdua@moonmile.net
執筆業&プログラマ
C#によるiOS, Android, Windowsアプリケーション開発入門
逆引き大全 Visual C# 2013, Visual Basic 2013
逆引き大全 iPhone/iPad アプリ開発
作って覚える iPhone/iPad アプリ入門
4. 目的
Mono(.NET Framwork)を使っても、機器制御が簡単にできるよ
組み込みはC言語のイメージが強いが、今となっては手軽とはいえない。
C言語のライブラリを Python を使う例が多い。
日本では Python をあつかう人が少ないのが難点
C# でもよいのでは?
画像解析とロボット制御の組み合わせをやってみたい
ロボット制御を C# から
画像解析 OpenCV + .NET Framework
14. Raspberry Pi – Model B
Wi-Fi
Bluetooth
専用カメラ
モジュール
BrickPi
I2C接続
専用液晶
ディスプレイ
Linux/Raspbian
Debian互換
CPU ARM
700MHz 512MB
私のは初期ロットなので256MB
15. Raspberry Piでロボット制御をやる意味
自走&自立型のロボットの構築
センサーは、Arduinoを通して制御可能?
LEGO Mindstorms EV3 のセンサーを利用
赤外線センサー、3軸センサー、 超音波センサーなど
センサーによるフィードバックを Raspberry Pi 内で判断する
自己制御プログラム
C#やF#を使ってロジックを組む
TDD、Visual Studio、Xamarin Studio の利用
母艦PCと通信する
Raspberry Piと母艦PCで通信する(Wi-Fi)
通信量を制限できる
前処理済みのカメラデータなど
16. Raspberry Pi でロボット制御をやる準備
Raspberry Pi
Linux(Debian)
Mono(.net framework)
モーター制御
自走は車で行う(二足歩行は別に)
I2Cモジュールでサーボ制御
センサー制御
Arduino経由でシリアル制御?
LEGO Mindstorms EV3 のセンサーを
流用
コントローラー
PS3 Dualstock 3 コントローラー
Wii コントローラー?
Arduinoのコントローラー?
スマートフォン
ノートPCなど
17. 制御するプログラム言語
Linux 上で、Mono を動かす
apt-get install mono-complete で、簡単インストール
シリアルポートへの読み書き(C言語経由)
Bluetoothの読み込み(ファイルストリーム経由)
センサー読み取りを制御する → C#
通信は HTTP → 簡易 HTTP サーバを作成
クライアント
ノートPC -> C#
スマートフォン -> Xamarin.iOS/Android で C# を使う
18. Raspberry Pi - BrickPi で LEGO のモーターを
制御
Raspberry Pi に差し込むだけで動作する。
http://www.dexterindustries.com/BrickPi/
BrickPi のサンプルは C, Python なので、C# で使えるようにした。
https://github.com/moonmile/BrickPiNet
19. Raspberry Pi で Bluetooth コントローラを使
う
標準で /dev/input/js がある。
これを System.IO.BinaryStream で読み込んで、モーターを制御している
PS3 Dualstock を使ってロボット制御ができる。
http://github.com/moonmile/BrickPiNet/blob/master/src/BrickPiNet/BPiJoystick.
cs
Welcome to QtSixA!
DualShock3コントローラー
http://qtsixa.sourceforge.net/
20. ロボットを遠隔操作する
HTTP経由で BrickPiNet を制御すればOK
簡易 HTTP サーバー
https://github.com/moonmile/BrickPiNet/tree/master/example/WebBrick
iPhone/Android用クライアント
https://github.com/moonmile/BrickPiNet/tree/master/example/WebBrickClient
24. 参考文献
Rasberry Pi http://www.raspberrypi.org/
BrickPi http://www.dexterindustries.com/BrickPi/
LEGO Mindstorms EV3 http://education.lego.com/ja-jp/preschool-and-
school/secondary/mindstorms-education-ev3
Arduiono http://www.arduino.cc/
meArm http://www.phenoptix.com/products/mearm-pocket-sized-robot-arm
FEZ Spider https://www.ghielectronics.com/docs/170/fez-spider
「ハルロック」http://www.moae.jp/comic/harurock/1/1