Rpibot:組み込みシステム学習向け低コスト拡張性モバイルロボット
このシンプルで低コストなモバイルロボットプラットフォームは、開発者が組み込みシステムを実践的に学ぶために作られました。
ドイツ自動車会社の組み込みソフトウェアエンジニアとして、このプロジェクトを学習プラットフォームとして開始。元プロジェクトは早期中止されたが、情熱で趣味として継続しRpibotが誕生しました。
明確な要件を設定:
- 最小限のソフトウェア中心ハードウェア
- オールインワン100ユーロ予算
- 将来モジュール向け組み込み拡張性
- 単一5V電源(USBパワーバンク等)で全コンポーネント駆動
プラットフォームは教育、監視、ロボット競技など多目的ですが、初心者向けチュートリアルではありません。Pythonプログラミング、電子工作、PID制御の基礎知識を前提とします。
課題は不可避ですが、好奇心と粘り強さで克服可能。ソースコードは意図的に簡潔にし、重要部分にコメントを付与。
完全なソースコードとハードウェア回路図はGitHubで公開:https://github.com/makerobotics/RPIbot
必要な材料:
メカニクス
- 1 × A4合板、厚さ4mm
- 3 × M4 × 80mmネジとナット
- 2 × エンコーダー用セカンダリ出力軸付きギアモーター(ホイール用)
- 1 × フリーホイール
- 1 × パン/チルトカメラマウント(オプション)
エレクトロニクス
- 1 × Raspberry Pi Zero(ヘッダーとカメラ付き)
- 1 × PCA 9685サーボコントローラー
- 2 × 光学エンコーダーホイールと回路
- 1 × メスジャンパーワイヤー
- 1 × USBパワーバンク
- 1 × DRV8833デュアルモータードライバー
- 2 × SG90マイクロサーボ(カメラパン/チルト用、オプション)
- 1 × MPU9250 IMU(オプション)
- 1 × HC-SR04超音波センサー(オプション)
- 1 × ユニバーサル基板、はんだ線、ヘッダー等
ステップ1:シャーシ構築
シャーシは意図的にシンプル、軽量、組み立て/分解が高速になるよう設計。
- 低コスト材料
- クイック組み立て
- 将来センサー追加余地
- 軽量で消費電力削減
合板はフレットソーとドリルで容易に加工可能。小さな木片を接着しセンサーとモーター取り付けポイント作成。重要部品はネジ固定し、フレーム全分解なしで交換/デバッグ可能。ホットグルーは便利だが長期使用で耐久性懸念。3Dプリントは代替案だがコストと時間がかかる。
フリーホイールは軽量で摩擦フリー、スムーズな動きを実現。メインホイール装着後、シンプルな木製スペーサーで後輪レベル調整。
ホイール特性(ソフトウェア計算用)
円周:21.5cm
エンコーダーパルス:20パルス/回転
分解能:≒1cm/パルス(距離計算簡素化)
ステップ2:エレクトロニクスと配線
以下モジュールを図示通り相互接続。
Raspberry Pi Zero – 中央コントローラー。センサー読み取り、PWMでモーター駆動。Wi-FiでリモートPCと接続。
DRV8833 – デュアルHブリッジモータードライバー。PiのGPIOピンでは供給できない十分な電流をモーターに供給。
光学エンコーダー – ホイール光路遮断毎に矩形波出力。Piのハードウェア割り込みで各遷移捕捉。
PCA 9685 – I²Cサーボコントローラー。PWM信号とパン/チルトサーボ用5V電源供給。
MPU9250 – 3軸加速度計、ジャイロスコープ、磁力計。主に方位情報用途。
全コンポーネントをジャンパーケーブルで配線。ブレッドボードを配電ハブとして5V、3.3V、グラウンドレール提供。接続表(添付参照)で全リンク詳細。5Vを3.3Vピンに直接接続しないよう注意。ブレッドボードセットアップ後、メイン電源電圧をマルチメーターで測定。
モジュールはナイロンネジでシャーシ固定、安定かつメンテナンス用に取り外し可能。
はんだ付けはモーター端子、ブレッドボード、ヘッダーピンのみ。ジャンパーワイヤーは便利だが緩みやすい;ソフトウェア診断で間欠接続特定可能。
出典:Rpibot – ロボティクス学習について
製造プロセス
- 砂時計:歴史、職人技、現代的魅力
- Raspberry Piから卒業すべきタイミング:製品の次のフェーズへ
- 産業用モーターの種類、機能、応用:リニアモーターとBLDCモーターを中心に
- リニアガイド設置完全ガイド:信頼性の高い生産ライン構築のために
- デジタルインジケータ・ダイヤルゲージ完全ガイド:歴史・特徴・センサ連携・現場活用法
- 板金成形マスターガイド:技法・応用産業・歴史的変遷
- PID制御の達人:理論と実践の架橋
- 知っておくべき機械学習の必須アプリケーション9選
- EDMダイシンキング(キャビティ放電加工)の基礎と精密製造への応用
- アトラスコプコ「ネバー・ストップ・ラーニング・フェスティバル」:エアコンプレッサーから自己啓発までスキルアップ
- Pythonのtime.sleep()をマスター:ベストプラクティス、マルチスレッド、実例