受賞者(正式名):工学院大学 鈴木 将さん(大学生)

 技術賞の三つめは、工学院大学の現役大学生が開発した「手のひらサイズ自動運転車」です(図1)。全長約10cmのミニカーに小型カメラを搭載し、路面の車線を認識しながら自動走行します。車体の上部に、最小モデルのラズパイ「Raspberry Pi Zero W」を実装しています。

図1 技術賞を受賞した「手のひらサイズ自動運転車」

 ミニカーのボディーは43分の1スケールの京商製ラジコンカー「dNaNo」を使い、改造しました。モーターとステアリングサーボを制御する自作のモータードライブ基板を実装しています(図2)。

図2 車台に取り付けた自作のモータードライブ基板

 ラズパイやモーターに電源を供給するバッテリーは、手のひらサイズを実現するためにも薄型軽量なリチウムポリマー(Li-Po)電池が必要でした。けれども、Li-Po電池は電圧が3.7Vと低く、5V電圧のラズパイに供給するには昇圧が必要です。今回は昇圧機能を持つ電源管理基板を自作しました。マイコンの「ATmega328P」を使ったArduino互換機です(図3)。

図3 自作の電源管理基板

車線の認識処理は外部PCで実行

 カメラの撮影映像から路面の車線をリアルタイムに識別し、モータードライブ基板を制御して自動運転する処理は、Raspberry Pi Zero Wの処理性能が低すぎたことが課題になりました。車線を認識しながら自動走行できないほど、処理に時間がかかったのです。

 解決策として、カメラの撮影映像を無線LAN経由で外部のパソコンにストリーミング伝送し、外部のパソコン側で処理することにしました。ラズパイからパソコンへの映像伝送には、動画のストリーミングソフトウエア「MJPEG Streamer」を利用しています。

 パソコン側ではPythonを使って画像処理と車線認識処理を実行しています。具体的には、まずは送られてきた映像を2値化(白黒画像化)し、道路と車線の境目を探します(図4の【2】)。次に、境目と境目の中央を車線中央と見なして、車線中央(図4の【3】の白丸)とカメラの中央(図4の【3】の赤丸)が一致するように(車線の中央を維持して走行できるように)、ステアリングの角度と走行スピードを決定します。決定した走行データを、今度はBluetooth経由でラズパイに戻しています。

図4 画像処理から走行データを決定するまでの手順

 ラズパイ側では、受け取った走行データを基にしてモータードライブを制御します。シリアルポートから走行データを受信し、サーボ用のPWM信号とモータードライバ用のI2C信号を出力するプログラムをPythonで作成しました。

最新ラズパイB+などを作品応募者に無償提供!

「みんなのラズパイコンテスト2018」特別企画を開催中(7/24まで)

 Raspberry Pi(ラズパイ)を使った作品・アイデアを表彰する「みんなのラズパイコンテスト2018」で、最新の電子パーツを無償提供します。RSコンポーネンツの拡張基板「DesignSpark Pmod HAT」、ウフルの「(IoT開発環境enebularを利用するための)ラズパイ3 Model B+」、オムロンの「環境センサ」の3種類です。各社の製品・サービスを使ってコンテストに応募することが条件です。エントリー期間は2018/7/24まで。
 無償提供企画へのエントリーは<<こちらから!>>