AIでRCカーを走らせよう!
「AIカー」と呼ばれるものをご存じでしょうか? ひとことでいえば、AI(人工知能)で自動走行する模型の自動車。市販RCカーにRaspberry Piなどのコンピューターをのせてグーグルの機械学習AIプラットフォームであるTensorFlowなどをインストールして走らせます。
こう書くとだいぶ難しそうに聞こえますが、実は、キットさえ買ってくればとりあえず誰でも体験できる。私も受講したことがある超入門編の“手書き数字の認識”と同じようなAIプログラムで冗談のようにちゃんと走る。ここ数年で注目されている多層ニューラルネットワークという技術がどれだけの意味を持つのかを、手で触れて理解できる。
しかも、実験室でノロノロ走るクルマではなくの市販のオフロードやレーサータイプのRCカーなので、一般の人にも楽しめるエンタメ性がある。一方、腕に覚えのある人はハードウェアもソフトウェアも技術的に掘り下げていくことができるものです。
これをやっていると実感するのは、AIも、このたった4~5年で、本当に身近になったものだということです。なにしろ、“掃除機”以外のものを走らせられる!しかも、その中身に自分が直接かかわっていくことができる。自分のクセまで学んで走るどこか心の琴線に触れるものもあるような気がします。
このAIカーを走らせるイベントが、8月3・4日、東京ビッグサイトで開催された「Maker Faire Tokyo 2019」の会場内で行われました。
私と仲間たちでやっている「AIでRCカーを走らせよう!」というフェイスブックグループのメンバーたちが全面的に協力。そこで、イベント名もグループ名と同じ「AIでRCカーを走らせよう!」となりました。オライリー・ジャパンの田村英男さんにお声がけいただいて、主催者プログラムとして実施されました(共催:角川アスキー総研)。
今回は、このレースのようすをお伝えしたいと思っていますが、この機会にAIカーがどんなものかを知っていただきたいと思います。
AIカーってどんなものか?
まず、AIカーとして、現状、「ドンキーカー」(DonkeyCar)、アマゾンの「AWS DeepRacer」、NVIDIAの「JetRacer」が御三家的な存在。教育を目的とした「JetBot」などがあるほか、自作AIカーを作っている人たちもいます。
自作AIカーは、形も大きさも千差万別で、ドンキーカーを応用しただけのものからLiDER(レーザー測距センサー)や複数のカメラなど、本物の自動運転車に近いハードウェア、ソフトウェアを活用したものまであり。もっとも、今回のMaker Faire Tokyo 2019のレースでは、26チーム、34人の参加者中、自作AIカーは数台、ほんどがドンキーカーによるものでした。
AIカーの基本といえるドンキーカーは、オープンソースで提供されているキット。市販の1/16スケールのRCカーに、Raspberry Piとサーボコントローラー、電源コンバーターの3つをのせて、これに3Dプリント出力されたロールバーとPiカメラを取り付けます。RCカー自体に“目”(カメラ)、“脳”(Raspberry Pi)、“神経”(サーボコントローラー)がついたイメージでしょうか?
上記のパーツすべてが入った状態で、国内ではFaBo Store、海外では香港のRobocar Storeで入手可能(米国サイトなどで購入される場合はバッテリの輸入規制などに十分ご注意くたざい)。これを、大人なら人によりますが1時間程度で組み立てることができ、公開されているソフトウェアを組み合わせることで走らせることになります。
ドンキーカーの走らせ方
AIカーの厳密な定義があるわけではありませんが、ドンキーカーの場合には、おおまかに次のようなな手順で走らせることができます。米国のコミュニティで行われている競技もこれを前提に行われているようです。
(1) 学習走行
人間が操作して10~15周くらいコース上を走らせます。コース上には赤いコーンなどを配置してもよいでしょう。この間に、ドンキーカーは数千から数万枚の“画像”と人間が操作した“ステアリング”と“スロットル”の値を一緒に記録します。通常、PS3のコントローラやロジクールF710などのゲームパッドで操作します。
■動画
(2) 学習モデル生成
記録したデータの書き込まれたMicroSDの内容をPCにコピーして、必要に応じてクラウドを利用しながらグーグルの機械学習AIプラットフォームであるTensorFlowを使って学習モデルを生成します。
(3) 自律走行
学習モデルをドンキーカーに戻してコースに放ってやると人間が操作しているかのように走ります。カメラの画像からRasoberry Pi上のAIが「こんな風景のときは“ステアリング”と“スロットル”こうだったよね」という具合にRCカーを走らせるわけです。
■動画
最初に触れたように、ドンキーカーは、AIプログラムの入門編で定番の“手書き数字の認識”とほとんと同じようなものが使われています。手書き数字の認識で文字画像に対する数字のラベリング(“5”であるとか“6”であるとか)が、ドンキーカーでは学習走行時の風景と“ステアリング”と“スロットル”の値になっているわけです。
このプログラムが凄いと思うのは、たとえば、走行会の途中から赤いコーンやほかの障害物などをコース上に置くようにしたとしましょう。いままでのプログラムなら「さあどうする? プログラム書き換えるか?」みたいな話になりますが、AIカーならあらたにコースを周回して教えてやるだけで上手に避けて走るようになります。
あるとき、私はドンキーカーを自分のほうに走らせてきてスニーカーぶつけてしまいました。それで学習モデルを作ったら、彼は、すっかり私の黄色いSALOMONのスニーカーを好きになってしまい、最後は、私はそれを隠さなければなりませんでした。これって、もの凄くインスピレーションを刺激される体験ではないでしょうか?
これはあくまで個人的な意見ですが、AIの正体はあくまでプログラミングのパラダイムだと考えるのが1つの整理ではないかと思います。どこで切り分けてこのAIの柔軟性(可塑性)を生かしてやるか?いかにもな人工知能アプリケーションは結果なのではないですかね?
とはいえ、なんといってもドンキーカーの魅力は、走らせてみるととてもカワイイこと。ロールバーが取っ手の役割をはたすようにもなっていて、あらぬ方向に走っていったときに「おいおい、そっちじゃないよ!」と捕まえて引き戻すときの感じも楽しい。
とはいっても、ここまでのお話はキットで提供されているドンキーカーのお話。たぶん、自作AIカーを作っている人たちはもっと深い世界に入り込んでいるのではないでしょうか? 鉄腕アトムを作った天馬博士になったみたいな気分ですかね? これから、世の中の機器がどんどんこっちの世界に入ってくるのは間違いないでしょう。
Maker Faire Tokyo 2019でのレース結果
「Maker Faire Tokyo 2019」では、2日間の期間中、都合4回のレースを行うことができました。「子ども v.s. AI」も4回で都合20人近い子どもたちとのレースを実施。「AIでRCカーを走らせよう!」のメンバーのなかでも、私が、技術面でお世話になりっぱなしの株式会社GClueの佐々木陽さんはじめたくさんの方々が盛り上げてくれました。
そんな中で、1つだけ触れておきたい技術的なトピックがありました。それは、ビッグサイトなどで開催されるテック系イベントでのWiFiの混雑問題です。過去、WiFiやBluetoothを使った人たちのお話を聞くと、「落ちる」、「繋がらない」、「再接続を繰り返す」とのこと。学習走行でBluetoothかWiFiで操作するドンキーカーにとって、これは致命的です。
最終的に、同じ2.4GHz帯を使っていてもはるかに安定して繋がるドローン用のプロポを用意して、レシーバーを繋いだArduinoをWiFiドングルに見せかけることで回避。瓢箪から駒みたいなアプローチですが、ひょっとしたら「ビッグサイトメセッド」などと名前を付けてもよいかもしれません(詳しくはコチラ をご覧ください)。
これで、1セッション最大8チームまで、学習走行は各自1時間の中で行ってもらいます。学習モデル生成やセッティングのために30分。そして、自律走行によるレースは2台ずつトーナメント形式で30分の時間を用意して行いました。なお、コースはドンキーカー公式の10×7メートルのものを使用。3周して先にゴールしたチームを勝者とします。各セッションの勝者には、NVIDIAさんより話題のシングルボードコンピューター「Jetson nano」がプレゼントされました。
さて、実際のレースですが、“走りださない”、“コースを直角方向に縦断”、“フェンス激突”など、AIカーでは基本のトラブルに見舞われながらも、なかなか白熱した内容となりました。実は、とくに1日目は、トーナメントがぎりぎり成立するくらいセッティングと時間の戦いでした。ここは初めての試みなので反省しなければいけないこともたくさんありました(見物に来てくれた人たちに対しても1日目はビデオ映像だけで説明がなく急遽2日目にチラシを用意することになど)。各セッションの優勝者は以下のとおり。
午後セッション 会津大学チーム
8月4日(日)
午前セッション 会津大学チーム
午後セッション1 会津大学チーム
午後セッション2 熊澤剛さん
4セッションのうち3セッションを制したのは、奥山祐市先生ひきいる会津大学チーム(学部2年の安藤くん、田中くん、修士1年の福知くん、Yaqubくん、修士2年の新明くんの5人のメンバー)。1日目が自作シャーシ、2日目は自作シャーシとドンキーカーで参戦。ソフトウェアはDonkeyCar3.0.2ですが、車体やソフトウェアのチューニングだけでなく、学習走行を「なるべくなめらかにコントロール(操舵)する」、「 なるべく色々な角度からの画像(と操舵)を取得する」ことを心掛けたそうです。
最後のセッションで優勝して「すべてを会津大に持っていかれるのを阻止できてよかった」とコメントしてくれたのは名古屋から参加してくれた熊澤剛さんでした。TAMIYAのCC-01に基板をのせるためのレーザー加工したアクリル板を装着。なかなか迫力のあるAIカーに仕上がっています。DonkeyCar 3.0.2とのこと。
当日は、ロボスタの関連記事「NVIDIAが「Jetson Nano」搭載のAIレースカー「JetRacer」情報を公開!NVIDIA担当者に聞く、Jetson最新情報やTPUとの比較」にも登場された矢戸知得さんが、これのために米国から駆けつけてくれました。特別参加のため受賞とはなりませんでしたが、矢戸さんのJetRacerがコース記録だったことを記しておきたいとおもいます。
子ども v.s. AI
レースの間に開催された「子ども v.s. AI」は、小学生の子どもがコントローラーでドンキーカーを操作、それと学習済みドンキーカーの対決です。子どもは興奮して走らせるのに対して、ドンキーカーは少し人間らしいもののやはりロボットなので淡々と走り切ります。もっとも、子どもがAIに勝ったことも何度かありました。たぶん初めてAIで動くクルマと直接対決した子どもたち、あるときこの日の体験を思い出すんじゃないかと思います。
ドローンがそうであったようにオモチャの先に未来がある
ところで、なぜAIカーを走らせるのか? 私は、ただコースを作ってドンキーカーを走らせるだけでも、どこか“茶の湯”をたしなむような価値があると思っています。「AIってどういうものか?」、「実空間にAIがきたときどうなるのか?」、AIで大切なことがそこにすべて繰り広げられているような気がするからです。
そんなふうにAIカーをとらえていたところ、米国のAIカーコミュニティ「DIY Robocars」を主催しているクリス・アンダーソン氏が、もっと違った考え方でやっていると知って感動しました。
クリス・アンダーソン氏といえば、ドローンで有名な3D Robotics社CEOで、元『WIRED』編集長。『ロングテール』、『フリー』、『メイカーズ』とネット・テクノロジーの変化を先んじて論じてきた人物です。その彼に、今回のイベントのためにコメントをいただきました。「AIでRCカーを走らせよう!」の会場やチラシにも掲載しましたが、最後にその全文を紹介させてもらいます。
世界の最も優れた企業や大企業がすでに取り組んでいる自動運転をわれわれが試みるのはなぜか? その理由は、彼らにできないことがDIYのAIカーならできるからです。
100年ほどの間、自動車は、F1に代表される「レース」によって技術革新してきました。ところが、現在、自動車メーカーや大手IT企業が取り組んでいる自動運転車はゆっくりと慎重にしか走りません。人をのせないロボカーなら制約なくチャレンジできます。
ドローンがそうであったように、デジタルの大波(The Next big thing)は、現在ある形の延長ではなくオモチャのようなものから生まれるのです。
私たちのやり方が、新たなパフォーマンスと安全への道をあきらかにできたらいいと思います。
Jul.2019
Chris Anderson
たしかに、AIカーをレースのような形で突き詰めることで、なにか突出したワザが発見されるような気がします。そもそも、自動運転が当たり前の時代にはクルマは鉄の塊である必要もないですよね。米国では、買い物代行のPostmatesや元Waymo(グーグルの自動運転の会社)のエンジニアによる「nuro」、さらにはアマゾンなど“無人配達”カーもホットな話題です。
もっとも、この話をしたらフェイスブックグループのメンバーからは、日本は“茶の湯”理論でよいのではないか? という意見がありました。なにしろ相手は“知と機械制御”といういままでになかった出会いの話です。グルリと回って禅や東洋思想のかまえで行くのもありかもしれません。
AIカーの走行会やハンズオンは、角川アスキー総研や六本木のTechShop、柏の葉KOILなどで行われています。また、今回は、オライリー・ジャパン、NVIDIA、コミュニティのみなさんのおかげで実現しましたが(ありがとうございました!)、AIカー日本GPみたいなイベントもできたらと思います。そのあたりの情報も「AIでRCカーを走らせよう!」で交わされています。
■動画
AIでRCカーを走らせよう!
筆者と仲間たちがやっているフェイスブックグループ。
FaBo DonkeyCar Docs
Donkey Car 2.x、Donkey Car 3.x(Raspberry PiだけでなくJetson nanoにも対応してAIカー単独で学習モデルを作れるようになりソフトウェアも大幅拡充)での入門ドキュメント。
FaBo Store
株式会社FaBoのストアでDonkeyCar、AIカー関連のパーツ等が揃う。
Robocar Store
ドンキーカーやコースなど関連商品のストア(香港)
DIY Robocars
米国のAIカーコミュニティでレースのレギュレーションなども策定している。
株式会社GClue
角川アスキー総研
TechShop
柏の葉KOIL
「遠藤諭のプログラミング+日記/テクノロジーの大波は「オモチャ」のようなものからやってくる」
ABOUT THE AUTHOR /
遠藤諭(角川アスキー総研)遠藤 諭(えんどう さとし)。 株式会社角川アスキー総合研究所 主席研究員。 1991年より『月刊アスキー』編集長。株式会社アスキー取締役などを経て2013年より現職。雑誌編集のかたわら124万部を売った『マーフィーの法則』など単行本も手掛ける。現在は、調査・コンサルティング、セミナー、テクノロジートレンドに関する発信を行っている。デジタルとコンテンツ関連で、テレビや雑誌等でコメントするほか、経産省、文化庁などの委員等を務める。アスキー入社前には『東京おとなクラブ』を創刊、サブカル界隈にも造詣が深い。著書に『計算機屋かく戦えり』、『ソーシャルネイティブの時代』など。趣味はカレーと文具作り。