コンパクトながらも強力な開発者キットが電子工作ファンのレーシング カーを加速して、レース記録を更新中
ジグザグ カーブを抜けてゴールするレーシング カー、声援を送る観客、ハイタッチするピットクルー。これはかの有名な NASCAR のレース会場ではなく、とあるハードウェア コワーキング スペースでの光景です。シリコンバレーでは今、このような場所が DIY ロボットカーを使ったレーシング カー ムーブメントの中心地になっています。
工具を手にしたメカニックではなく、テクノロジー業界のエンジニアや電子工作ファンが集まり、彼らはノート PC を駆使して、自らのマシンのニューラル ネットワークに調整を施しています。
このような場面において、NVIDIA の開発者キット Jetson Nano は自律運転領域への飛躍的なパフォーマンス向上を実現しています。レースの参加者たち (その多くは 1/16 スケール以下の「ストック」 カーカテゴリに参加) は、プロ仕様の AI がアマチュアの予算で手に入るということを知り、このキットを利用しています。
ロボットカー レースには学生や電子工作ファンだけでなく、Amazon や Google、Microsoft、NVIDIA といったテクノロジー企業の社員も、週末の楽しみのために集まっています。「このコミュニティにおける NVIDIA の存在感が、さらに高まりました」と、ドローンを手がけるスタートアップ 3DR の CEO であるクリス アンダーソン (Chris Anderson) 氏は述べています。「DIY ロボットカー レースは、フルサイズの自律走行車分野の代理戦争なのです」
今年 9 月のある日曜日に、カリフォルニア州オークランドにある Circuit Launch のスペースには、ロボットカー レースのために数百人の愛好家が集まりました。この DIY レーサーによる工作コミュニティでは、わずか数か月前までは Raspberry Pi を使う参加者が多かったのですが、今では彼らの大半が、競争に遅れを取るまいと Jetson Nano に乗り換えています。
NVIDIA のチームは、「ストック」 カー部門で 1 位を獲得しました。さらに高額の予算を使った車両が認められている「無制限」部門では、1 位と 2 位のロボットカーが Jetson を利用していました。
アンダーソン氏によると、世界全体のロボットレース コミュニティには、40 か国からの 10,000 人以上が参加しているとのことです。
ラップタイムの短縮
最近に入って、レースの内容は様変わりしています。現在のラップタイム記録は、今年初めの記録に比べて半分近くまで短縮されています。屋内コースを一周する時間が 12 秒から約 6 秒にまで縮んだ背景には、Jetson Nano のディープラーニングの力がありました。
NVIDIA の自律マシン担当デベロッパー テクノロジー エンジニアであり、このレースにも参加していたジョン ウェルシュ (John Welsh) は、次のように述べています。
「明らかに、Jetson Nano がメイカー プラットフォームとして選ばれ始めています。これは今起こっている、AI に向けたパラダイムシフトの一例です。私たちは、このメイカー コミュニティが飛躍を遂げる場面に立ち会っているのです」
Jetson Nano AI が選ばれる理由
コンパクトかつパワフルな開発者キット Jetson Nano は、Ubuntu Linux を実行し、PyTorch や Keras、TensorFlow、OpenCV ライブラリなど、スーパーコンピューターで使われているものと同一の AI フレームワークを活用します。
コンピューター ビジョンと自然言語処理に向けたオープンソースの機械学習ライブラリ PyTorch は、あらゆる種類のボットに視覚と会話能力を与えます。
Jetson Nano はライブラリ、ツール、テクノロジーの集合体である NVIDIA CUDA-X も実行し、AI アプリケーションのパフォーマンスを高めます。つまり Jetson Nano は、ソフトウェア ライブラリ TensorFlow をそのまま利用して、TensorRT によるディープラーニングによるモデルの最適化や推論の高速化を行えるわけです。
また 472 GFLOPS の演算性能を有する Jetson Nano は、難しい AI ワークロードの処理を可能にするのと同時に、わずか 5W で動作するため、あらゆる種類のバッテリー駆動のボットにとって最適なキットとなっています。
同じくレースに参加していた、NVIDIA の Jetson 担当アーキテクトであるガブリエレ ゴルラ (Gabriele Gorla) は、「この自律テクノロジーを皆様にお届けできるというのは、素晴らしいことです」と述べています。
自分だけの DIY レースカーを作ろう
オープンソース プロジェクトの JetRacer は、AI を使ったレースに向けた最初の足がかりを提供しています。手順は簡単です。Jetson Nano を含む JetRacer カーの部品を入手して、組み立てを始めましょう。JetRacer カーの組み立てに必要な部品のリストは、こちらとこちらのページに掲載されています。組み立て方法は、こちらとこちらのページで説明されています。
自分だけのカスタム車両をゼロから作り上げるという方法もあります。また、DIY Donkeycar を利用し、Jetson Nano に合わせて調整するのもよいでしょう。
JetCard ファイルを microSD カードに焼くことで、ソフトウェア開発をスピードアップできます。このシステム構成には、Web ベースのプログラミングに利用できる Jupyter Lab サーバーが組み込まれていて、ブート時に起動します。また LED ディスプレイを機体に搭載していれば、Jetson の IP アドレスやその他の有用な情報を表示できて便利です。
このシステム構成には、先にも述べた PyTorch や TensorFlow といった人気のあるディープラーニング フレームワークも組み込まれています。JetCard でセットアップを構成したら、Python を使った AI プロジェクトの開発を Web ブラウザから開始できます。
ロボット レースのその先へ
オープンソースの Ubuntu Linux は、ディープラーニングに向けた強力なプログラミングを実現します。Jupyter Notebook を利用すれば、プロでもアマチュアでも同じように、モデルを容易にトレーニングできます。トレーニングの流れは簡単で、コードの 1 ブロックを Web ブラウザ上で変更して、モデルの利用へ移行するだけです。
ロボット レースは初めの一歩に過ぎません。Jetson Nano は、医用画像処理や家庭用ロボット、産業用 IoT といったあらゆる領域で活躍する可能性を秘めています。Jetson Nano を使うことで、ユーザーは想像力の及ぶ限りどのような領域に向けても AI 開発を開始できます。Jetson コミュニティで開発が進められているプロジェクトの一覧は、こちらのページから確認できます。
NVIDIA の Jetson 担当テクニカル マーケティング マネージャーであり、ウェルシュのチームメイトとしてレースに参加した矢戸知得は、次のように述べています。「ディープラーニングを利用することには、さらに多くの可能性があると信じています。このため、他のユーザーの皆様に向けて自社プラットフォームをデモンストレーションしています。」