Roomberry:Raspberry Pi Zero WでRoombaを監視ロボット化
Roomberryは、iRobot RoombaをRaspberry Pi Zero WとCSIカメラモジュール駆動の移動カメラプラットフォームへと変えるカスタム監視ロボットです。
このガイドでは、Roombaのオープンインターフェース(OI)配線、RoombaバッテリーからのPi給電、ヘッドレス動作のためのRaspberry Pi設定、全ポートにアクセス可能なコンパクトな筐体構築を学びます。
デモ動画でRoomberryの動作、ライブストリーミングカメラ、Webベースのコントロールインターフェースをご覧ください。
Roomba OIの理解
iRobotのRoomba 600/700/800シリーズはミニDINコネクターを公開し、オープンインターフェース(OI)を実装しています。OIは双方向TTLシリアルリンク(115,200ボーレート)で、移動コマンド送信、センサーデータ読み取り、LEDとスピーカー制御が可能です。
OIは4つの動作モードをサポート:
- Off – デフォルト状態。
Startコマンドを待機。 - Passive – センサー読み取りのみ可能、モーター制御不可。
- Safe – 安全チェック(段差、ホイールドロップ、充電器)付きでフルモーター制御。
- Full – 安全チェックなしでフルモーター制御。要注意。
Passiveモードでは5分間非アクティブで自動スリープ。Safe/Fullモードでは無限に起動し続けるため、作業完了後はPassiveまたはOffに戻してバッテリーを保護してください。
シリアル接続とロジックレベル変換
RoombaのTxDピンは5V出力で、Raspberry Pi Zero Wの3.3Vロジックを破損させる恐れがあります。双方向ロジックレベルコンバーター(例:Adafruitの双方向レベルシフター)または低速データ用抵抗分圧を使用。115,200ボーレート対応のためアクティブデバイス推奨。
RoombaからRaspberry Piへの給電
ミニDIN 7ピンの電源ピン(Vcc-Gnd)直接利用は、PTCリセッタブルヒューズにより200mAに制限されます。Pi Zero W単体なら150-180mAで動作可能ですが、カメラ追加で300-450mAのピーク電流が発生しヒューズが頻繁に飛びます。
解決策はヒューズをバイパスし、Roombaマザーボードのバッテリーパッドから直接給電すること。ロボットを部分分解後、バッテリーパッドにはんだでケーブルを接続。これにより10-20.5Vの全出力が得られ、これを安定化5Vに降圧します。
スイッチングバックレギュレーター(Pololu D24V5F5推奨)を使用。最大36V入力、5V出力、効率85-90%、500mA対応でPi Zeroとカメラに十分。レギュレーター出力をmicro-USBケーブル経由でPiの電源入力へ。
筐体とハードウェアレイアウト
クリーンな構築のため、12×10ピンPCBを小型HATとして使用し、ロジックレベルコンバーター、モメンタリリセットボタン、Pi Zero Wを搭載。ケースは標準Raspberry Piケースを改造し、micro-USBケーブル用ノッチとCSIカメラコネクター用穴を追加。
リセットボタンをPiのRUNピンに配線し、電源を抜かずにシステム再起動可能。
Raspbian(Stretch Lite)設定
- シリアルコンソール無効化:
raspi-config → Interfacing Options → Serial(ログインシェル「No」、UART「Yes」)。または/boot/config.txtでconsole=serial0,115200をコメントアウトしenable_uart=1追加。 - カメラ有効化:
raspi-config → Interfacing Options → Cameraまたは/boot/config.txtにstart_x=1、gpu_mem=128、disable_camera_led=1設定。 - スワップ無効化し
/tmpを50MB RAMディスクにマウント。/etc/fstabとcommit_time=30調整でSDカード摩耗軽減。 - オプション省電力設定:HDMI無効(
tvservice -o)、アクティビティLED無効、Bluetooth無効(dtoverlay=pi3-disable-bt)。
シリアルインターフェースのテスト
minicomインストール(sudo apt-get install minicom)しRoombaシリアルポートに接続:
minicom -b 115200 -o -D /dev/serial0
ドック中ならセンサーデータのライブストリームが表示されるはず。Ctrl-A→Xで終了。
Roomberryの実行
Pi給電、カメラ有効化、シリアルリンク確立後、Roomberry制御スクリプト(ここでは省略)を起動。Webインターフェースで移動コマンド、画像取得、動画ストリーミングが可能。
完全なウォークスルーはデモ動画と上記ステップバイステップ手順を参照。
安全上のヒント
- 使用後は必ずPassiveまたはOffモードに戻し、ディープディスチャージを防止。
- 信頼できるバックレギュレーターを使用。安価な中国製クローンは信頼性に欠ける。
- バッテリーパッド接続時は極性を再確認し、配線を整理してショート防止。
- 新品大容量microSDカードを用意し寿命延長。
製造プロセス
- ROCR:テナガザルのように壁を登る軽量・高効率ロボット
- Raspberry Pi と Arduino を連携させてロボットを自作:ステップバイステップガイド
- BrickPi Bookreader:Raspberry Pi と LEGO Mindstorms で Kindle 読書を自動化
- DIY Wall-E 風 Raspberry Pi CD ボックスロボット
- ローリングアラームロボット:Raspberry Pi と Google カレンダーで動くスマートモバイル目覚ましシステム
- Arduinoで作るモーター駆動のマインクラフト クリーパー ロボット
- アーキメデス:感情センシングAIロボットフクロウ
- Roomberry:Raspberry Pi Zero WでRoombaを監視ロボット化
- Windows 10 IoT Coreで音声制御コンピュータビジョンロボットを構築
- ROSロボット:Raspberry Piでターミナル操作ナビゲーション
- シンプルPiロボット - Raspberry Piで2WD自律ローバーを構築