道路に見立てた白線に沿って走行する模型の自動車(自律運転車)を作りました。「人工知能を使って何かしてみたい」というのが開発の動機でした。

 自動車のベースには、タミヤの「バギー工作基本セット」を使いました。全長175mmとコンパクトな模型自動車です。これに制御用のRaspberry Pi Zeroと道路撮影用のRaspberry Pi Camera Boardを組み込んでいます。さらに、バギーの方向を変えるステアリング機構をサーボモーター(SG90)で実現しました。モーターの制御や電力供給のためのコントロール基板も新たに設計しています。パーツが多いので、バッテリーも二つ積んでいます(図1)。

図1●AIで走る自律運転車の外観
図1●AIで走る自律運転車の外観
[画像のクリックで拡大表示]

 続いてソフトウエアの開発です、今回はPython 2.7を使用しました。人工知能の手法の一つである、「ニューラルネットワーク」の処理には「PyBrain」という機械学習ライブラリを用いています。これにより、「データ収集」「機械学習」「自律運転」という3パートのプログラムを作りました。

 まず、Wi-Fiに接続したパソコンからの遠隔操作によって、自動車を走らせます。走行時に、カメラはずっと道路(白線)上を撮影します。このときに撮影した画像データを階層型ニューラルネットワークによる機械学習プログラムで学習させました。

 そして最後に、学習したデータを基に自動車を走らせます。カメラの映像データをリアルタイムでニューラルネットワークに送信し、「前進」「停止」「右折」「左折」のどの状態に一番近いか判断させています。なお、走っている様子を撮影したビデオをYouTubeで公開しています。ぜひご覧ください。