ArduinoとCNNを用いて、学習〜推論〜自動制御まで一貫したRCカー自動運転システムを構築しました。
📝 開発の詳細や技術背景はZennにて公開中👇
🔗 Zenn記事(詳細解説)
🎓 プロジェクト概要
2023年の卒業研究で、ArduinoとCNNを用いたAI自動運転RCカーの開発に取り組みました。
組み込み開発とAI(機械学習)を組み合わせ、実機ベースでのリアルタイム自動運転制御を目指しました。
⚙️ 技術構成と使用環境
-
ハードウェア:
- Arduino UNO(DC/サーボモーター制御)
- Raspberry Pi(映像取得+推論処理)
-
ソフトウェア技術:
- Python + TensorFlow(CNNモデル構築)
- OpenCV(前処理・Canny Edge検出)
- 学習環境:DonkeyCarシミュレータ + 実機RCカー
🛠️ 実装プロセス(概要)
-
データ収集
- RCカーを手動操作し、カメラ映像と操作データを蓄積
- 画像+ラベル(左/直進/右)で学習用データを作成
-
CNNモデル学習
- グレースケール変換、リサイズ処理後、方向分類モデルを学習
- モデル軽量化とリアルタイム推論に最適化
-
リアルタイム推論と自動制御
- 推論はRaspberry Pi上で実行
- ステアリング出力はArduino経由でモーター制御に反映
-
モーター制御(Arduino側)
- DCモーター:PWM制御で速度・方向を調整
- サーボモーター:角度指定による舵取り制御
🧪 結果と評価
- シミュレータ走行:安定した走行ラインを維持
- 実機走行:特定条件下で自動運転が可能に
- 軽量な構成でも十分にAIによる制御が実現できることを確認
🔧 技術的工夫と課題
- CNNの構造をシンプルに設計 → 推論高速化
- ROI+エッジ検出で画像ノイズを低減
- データセットに夜間・逆光・カーブなどを追加し、多様性を確保
- 実機ではタイムラグ補正など細かな調整も実施
✍️ まとめ
この卒業研究では、AI×組み込み技術の統合的な開発体験を得ることができました。
特に、センサーデータとAIモデルをリアルタイムで組み合わせて実機制御を行うという経験は、今後エンジニアとして大きな財産になると感じています。
将来的には、日本の大手IT企業にてAI・制御技術を活かしたプロダクト開発に携わりたいと考えています。
✅ 実行環境
- Raspberry Pi 4
- Arduino UNO
- Python 3.10
- TensorFlow 2.x / OpenCV
- DonkeyCarシミュレータ
🏷️ タグ
#Arduino
#RaspberryPi
#自動運転
#Python
#TensorFlow
#CNN
#組み込み開発
#卒業研究