これはシリーズのパート3です。パート1および2へのリンクを次に示します。数日間の苦労の末、ようやくドンキーカーで地下の線路を自律的に走行できるようになりました!ここに短いビデオがあります:
だからここで私がつまずいたのです。MacからPiにモデルをアップロードし、「ドライブ」コマンドを実行すると、モデルの読み込みエラーが発生していました。ステップを再実行し続け、同じエラーが発生しました。ドンキーカーと新しいバージョンのTensorFlow(1.8)の古いバージョンを実行していることに気づくまでに数日かかりましたMacBook Pro上のTensorFlow 1.12のバージョン。また、Donkey CarのヘルプSlackチャンネルに質問を投稿し、新しいTensorFlowバージョン1.12で構築されたモデルがTensorFlowの古いバージョンでは動作しないことを確認しました。MacでTensorFlowをダウングレードする方法を見つけたら(1行のpipシェルコマンド)、トレーニングを再実行し、SCPを使用して新しいモデルをPiに転送しました。カメラのレンズキャップをつけたままにしていた…
約16Kの画像からなる比較的小さなトレーニングセットから始めました。TensorFlow 1.12ではトレーニングに55分かかりましたが、TensorFlow 1.8では75分かかりました。1.8は2018年4月にリリースされました。DonkeyCarイメージがすぐにアップグレードされ、これらのパフォーマンスの改善をすべて活用できることを願っています。また、トラックを反時計回りに走行するテストセットを使用していました。実際のレースでは、時計回りと反時計回りの両方の走行で車を訓練します。しかし、それはまた、モデルを構築する時間を追加します。
車はトラックを回避できますが、床のライトの反射や側面のその他の白い物体に簡単にだまされます。これは、床に白いテープを1本だけ使用しているためです。それはビジョンシステムが使用するのに十分な信号ではありません。しかし、妻が本当にロバの公式トラックが使用しているように、真ん中に黄色いストライプのある広い黒い「道路」を描くことを望んでいたとは思わない。
私がついに自動車を自律モードで動作させるようになったとき、それは非常に満足でした。しかし、それは少し「不気味」でもありました。私は実際に小さな脳に床の線をたどるように「教えた」。それはほとんど私の貧しい運転を模倣するように見えた。ストレートでスピードアップする方法を学び、タイトなカーブでスローダウンしました。それは本当にクールでした!
TensorFlowとKerasを使って仕事をしていましたが、手順の多くは少し抽象的でした。一度ロバ・カーで遊ぶようになったとき、物事はより理解しやすくなりました。システムの長所と短所の両方が明らかになりました。また、トレーニングシステム(私のMacBook)と推論システム(Pi)の間でPythonとTensorFlowライブラリのバージョンを同期させることが重要なステップであることに気付きました。
すべての手順を一度行った後、ほとんどのコンポーネントを理解し、他の人がドンキーカーを実行するために知っておくべき概念を理解するために使用できる「コンセプトマップ」を作成しています。
私は今、学んだすべてのステップをたどり、そのステップを、地元のCoderDojoクラブのコンセプトカードを作成した以前の作業と統合しています。これは、ブログ投稿の上部にある図です。コンセプトマップの各ボックスは、最終的にアクティビティと質問が前面に、回答が背面にある1/2枚のラミネート紙になります。これらはビットサイズの学習であるため、CoderDojoでは「寿司カード」と呼ばれます。「Electric Motors」コンセプトカードのサンプル画像を次に示します。
私の友人Jon Herkeは、ドンキーカーを使用して、AIとロボット工学について子供たちに教えることを目標とする「AIレーシングリーグ」を構築することにも興味があります。ハックデイの基礎と、10週間、4時間/週のサマーキャンプタイプのプログラムを構築できるかどうか、ご期待ください。私たちは、これらのプログラムに少女や恵まれない若者を巻き込むことを望んでいます。あなたが私たちが始めるのを手伝うことに興味があれば教えてください。