2015-01-04

Rapiroで遊ぶ【カスタマイズ編】

今回はRapiroをRaspberry Piでさらにカスタマイズしていきます!

 

Rapiroの拡張というよりは、機能拡張したRaspberry PiをRapiroに載せる感じです。

 

今回の参考サイトは以下になります↓

[Raspberry Pi搭載系]

RAPIRO に Raspberry Pi を搭載する | アンドロイドな日々

RAPIRO: The Humanoid Robot Kit for your Raspberry Pi by Shota Ishiwatari — Kickstarter

[Bluetooth&PS3コントローラで遠隔操作系]

RapiroをPS3のDUALSHOCK3で動かしてみる | Makuake(マクアケ)NOTE クラウドファンディングブログ

シリコンハウスへようこそ:RAPIRO製作日誌 ~無線化への道~ Raspberry pi 搭載編 続章 bluetooth設定

工作と小物のがらくた部屋: Raspberry Pi で Dualshock3 (Bluetooth接続ゲームコントローラ)

[カメラモジュール系]

How to install / use the Raspberry Pi Camera | The Pi Hut

Raspberry Pi メモ (23) - カメラモジュールの使い方

無線LAN対応

Webに接続できるようにしないと、外部から遠隔操作したり

Webサービスとつないだりできないので、まずは無線LANに対応させます。

Raspberry PiにUSBの無線LANのドングルを繋いで色々と設定すればOKです。

詳細忘れちゃったので、「RaspberryPi LAN」とかで調べてもらえばハマること無く設定出来ると思いますw

Raspberry Piからのシリアル通信&Rapiro操作

Raspberry PiとRapiroは6極ケーブルを使って接続します。

rapiro-raspberrypi

あとは単純にシリアル通信すればOKでPythonだとpyserialを使って通信可能です。

pip経由でインストールするとこんな感じ

$ sudo apt-get install python-pip
$ sudo pip install pyserial

コードはこんな感じでOK

import serial
ser = serial.Serial('/dev/ttyAMA0', 57600, timeout = 10)
ser.write("#M1"); # 前進

Raspberry Piに既にssh経由でログインできるようにしている場合は

sudo pythonから上記コードを実行して遠隔操作が出来るようになります。

 

ただし、このままだとシリアル接続をしてしばらく経つと、"input/output error"と表示されて

シリアル通信が出来なくなります。

これを防ぐにはRaspberry Pi側のシリアルコンソールを止める必要があるらしく

以下のコマンドで対応できます。詳細はこちらを参照してください。

$ sudo wget https://raw.githubusercontent.com/lurch/rpi-serial-console/master/rpi-serial-console \
> -O /usr/bin/rpi serial-console && \
> sudo chmod +x /usr/bin/rpi-serial-console sudo rpi-serial-console disable
$ reboot

Bluetooth対応

Bluetoothに対応するとPS3のコントローラで接続できたり

iBeaconを検知できたり発信できたり遠隔操作の幅が広がります。

BluetoothのアダプタはBSHSBD04BKを使いました。

 

PS3のコントローラでRapiroを操作する設定に関しては以下の記事通りにやればOK。

シリコンハウスへようこそ:RAPIRO製作日誌 ~無線化への道~ Raspberry pi 搭載編 続章 bluetooth設定

工作と小物のがらくた部屋: Raspberry Pi で Dualshock3 (Bluetooth接続ゲームコントローラ)

 

BluetoothアダプタとPS3のペアリングをするために

一時的にお互いをUSBで接続する必要があり、PS3コントローラを接続するポート

無線LANのポート、Bluetoothのポートの3つが必要になるので

Raspberry Piに搭載されているUSBポートでは足りなくなります

USBハブ(電力不足を防ぐためにセルフパワータイプが良い)を使ってポートを増やすか

Raspberry Piの有線LANを使うようにして無線LANのアダプタを使わないようにするか

いずれかの方法を取る必要があります。

カメラモジュール

専用のカメラモジュールをRaspberry PIに取り付けて、rapiro視点で静画/動画を撮影できます。

設定に関してはこちらのサイトが詳しいです。

raspberry側はraspi-configコマンドを実行してcameraをenableにすればOK。

あとはraspistillコマンドで静画を撮れます。

 

Rapiroに取り付けるときは天地が逆になるので

$ raspistill -o test.jpg -rot 180

とすれば正しく静画を撮ることが出来ます。

動画も取ることができるので、ちょっとした監視ロボも作れちゃいます。

その他

Rapiroに搭載する場合はRaspberry PiはArduinoから電力を供給してもらうことになります。

よってカスタマイズすればするほど、Raspberry Pi自体の電力も下がってくるので

電力低下によりRaspberry Pi自体がうまく動かなくなることもあるらしいです。

USB経由のカスタマイズであればセルフパワータイプのUSBハブを使って電力をカバーするとか

無線LANは有線LAN+無線LANコンバータにして消費電力を減らす等の工夫が必要です。

据え置き型ロボであれば有線LANでも良いですね。

 

無線LAN、Bluetooth、カメラモジュール搭載のRapiroはこんな感じ↓

rapiro-equipment

USB部分が後頭部から飛び出します↑

額部分にカメラが埋め込まれます↓

rapiro-camera

このエントリーをはてなブックマークに追加