自律走行ビール運搬タンク:Walabot+Arduino+Raspberry Pi+Alexa統合
必要な部品と材料
| 部品 | 数量 |
|---|---|
| Walabot Creator | 1 |
| Arduino MKR1000 | 1 |
| Raspberry Pi 3 Model B | 1 |
| Amazon Echo(またはechosim.io) | 1 |
| SparkFun TB6612FNG モータードライバー | 1 |
| タンクシャーシ(ブラシ付きDCモーター×2内蔵) | 1 |
| サーボ MG996R | 3 |
| メタルビルダーキット | 1 |
| ステッピングモーター 28BYJ-48 + ドライバー | 1 |
| 7.4V LiPoバッテリー | 1 |
| 7.4V LiPo充電器 | 1 |
| ロータリーポテンショメーター 10kΩ | 1 |
| LED(ストリップ1セグメント) | 2 |
| 釣り糸 | 1 |
| 薄いプラスチック/厚紙(カバー用) | 1 |
| 5V BEC回路 | 1 |
| 抵抗 10kΩ, 22.1kΩ, 2.21kΩ | 各1 |
| ダーリントン トランジスタ | 1 |
| 30cm木製定規 | 2 |
| 電圧計(任意) | 1 |
| RC送受信機(任意:手動操作用) | 1 |
| ビール(動力源?) | 1 |
必要な工具
- はんだごて、ホットグルーガン、ノコギリ、ドリル、ヤスリ
使用ソフトウェア・サービス
- Arduino IDE
- AWS IoT、AWS Lambda、Alexa Skills Kit
- Walabot SDK
- Python(Raspberry Pi側制御)
プロジェクト概要
コンセプト
「ビールと戦車」という男の夢を実現。音声制御でビールを運び、自律追従「Follow me」機能とRC手動操作を両立するタンクを製作。
シャーシ
Banggoodで購入した安価なタンクシャーシをベースに使用。輸送中の破損を接着修復。
クレーン機構
ビールを格納・昇降するクレーンをステッピングモーター(28BYJ-48)と釣り糸で実装。初期は構造強度不足で曲がり、木製定規で補強し安定化。ポテンショメーターを軸に取り付け角度フィードバックを実現。
ケース・外装
Walabotをマグネットマウントで前面に固定。黒い厚紙・プラ板でカバーし、上部ハッチはサーボ2個で開閉。隠しヘッドライト(12V LEDストリップを7.4V駆動、中間LEDをバイパスして高輝度化)をサーボで露出制御。
回路設計
Arduino MKR1000を採用(外部割り込み3ピン必要なためUno不可)。TB6612FNGでDCモーター2個制御、サーボ3個、ステッパー、LED等を制御。電圧分圧でバッテリー電圧監視、独立した電圧計も搭載。
RC制御(手動モード)
3ch PWM読み取り:
- ch1(縦):基本速度 `motorSpeedBase = (pulse-1500)/2`
- ch2(横):旋回差分 `motorSpeedChange = (pulse-1500)/3`
- ch3(スイッチ):クレーン昇降 `elevated = pulse<1500`
左右モーター速度 = `base ± change` で計算、±255でクリップ。
Raspberry Pi連携(自律モード)
シリアル通信でコマンド送受信:
- `s`:RC無効化・シリアル制御開始(応答`OK`)
- `r`:RC有効化
- `e`/`d`:クレーン昇降
- `m X Y`:モーター速度直接指定
- `b`:バッテリー電圧取得(×100で整数返却)
- `l`/`o`:ライトON/OFF
安全のためch3(スイッチ)割り込みは常時有効。
Walabotによる「Follow me」
Walabotはマイクロ波3Dセンサー。Moving Target Identification (MTI) モードで移動物体を検出(最大4ターゲット、1.5m)。Y/Z座標で水平位置を追跡。
初期位置合わせ(80cm前方に立つ)後、最近接ターゲットを人物とみなし、前回位置からの最近接ターゲットを追従。フレームレート約6FPS(0.16秒周期)のため、低速で動作し旋回と前進を分離制御。
Alexa音声制御
AWS Lambda + AWS IoT で実装。スキル名「Beer Tank」。コマンド例:
- 「ビールタンクを開始」
- 「ライトをオン/オフ」
- 「カーゴを開けて/閉めて」
- 「追従を開始/停止」
ngrokからAWS移行で安定運用。Kurt Braun氏のチュートリアル動画が参考になった。
中止機能:タコメーター
車輪に白黒パターンと反射型IRセンサーで回転数検出を試作したが、GPIO不足と不要判断で未採用。
ソースコード
Arduino(MKR1000)とRaspberry Pi用コード一式:
https://github.com/abysmalsb/Beer-Tank
回路図
Fritzingファイル(beer_tank_YN88vVuS9b.fzz)と画像をSchematicsセクションに掲載。WalabotはUSBでRaspberry Pi接続。
製造プロセス
- 酸素タンク製造:原材料から品質保証まで
- 集積回路(IC):現代エレクトロニクスを支える微小強力チップ
- Raspberry PiとPythonでAmazon AlexaからChromecastを制御
- NVIDIA Jetson NanoとIsaac SDKで作る低コスト自律レゴ戦車
- Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
- MOSMusicプロジェクトキット: MOSFET、Arduinoで音楽同期照明制御
- ボール盤の主要構成部品と機能:ベースからモーターまで完全解説
- 内燃機関の主要コンポーネント:構造と機能
- SPICEネットリスト構文マスター:コンポーネント命名、受動・能動素子、電源定義
- マイクロエレクトロニクス:微小化電子技術の科学
- リザーブタンク(予備タンク)の目的・種類・メリット:燃料・水・油のバックアップ供給源