AI Drill:車の形状を進化させよう

ラボ「51. 車の形状を進化させよう!」では、凸凹道を走る車を紹介しています。この車は、「Mind Render / AI Drill 車の形状進化」で機械学習を行い、できるだけ遠くまで走れるように形状を進化させた車です。

Mind Render / AI Drill は、東京大学伊庭研究室とモバイルインターネットテクノロジーが共同開発したAI学習・実験環境です。AI(機械学習)を学びたい専門学校生や大学生を主な対象ユーザーとして、Unityで独自のAI学習プログラムを実装し、AIモデルを作成することができます。

ご利用にはUnityやプログラミング、機械学習に関するある程度の知識が必要となりますが、ここではサンプルプログラムのみで学習を行い、結果をMind Renderに読み込む手順を説明します(Unityでのプログラム編集は行いません)。

「Mind Render / AI Drill 車の形状進化」は、Unity Asset Storeから無料でダウンロードしていただけます。使用されている手法(遺伝的アルゴリズム)の詳細や、サンプルプログラムの解説などはアセットと一緒に提供されるドキュメントをご参照ください。

1 必要なもの

  • Windows PC、またはmac

*Mind Render/AI Drillを利用するには、Unity Hub、Unity Editorが必要です。以下の手順やUnity社のウェブサイト等の情報を参考にインストールを行ってください。
*以下の画面イメージ、インストール手順は2026年3月現在のものです。詳しくはUnity Technologiesのウェブサイト等でご確認ください。
*以下ではWindowsの場合の手順を説明しています。macOSの場合も同様にUnity Hub、Unity Editorが必要です。
*Unity の利用にはアカウント登録とライセンスが必要です。詳しくはUnity Technologiesのウェブサイト等でご確認ください。

2 Unity Hubのインストール

1. (お手持ちのPCにUnity Editorがインストールされていない場合は)Unity Technologiesのウェブサイトから、Unityをダウンロード、インストールします。
Unity IDを持っていない場合は、IDの新規作成が必要です。
2. イ

次に、model.onnx ファイルを Unity Editor で model.sentis に変換します。
1. (お手持ちのPCにUnity Editorがインストールされていない場合は)Unity TechnologiesのウェブサイトからUnityをダウンロード、インストールします。
Unity IDを持っていない場合は、IDの新規作成が必要です。
2. インストールが完了すると、Unity Hubが起動します。

AI Drillでは「Unity 2021.3」を使用するので、Unity 2021.3をインストールします。

1. Unity Hubの左メニューから「Installs」を選択します。右上の「Install Editor」ボタンをクリックします。

2. 「Archive」タブを選択します。「download archive」をクリックします。

3. ブラウザで「Unity download archive」が開きます。年別に表示されるので、画面上部にある「2021」を選択し、「2021.3.45f2」の「INSTALL」ボタンをクリックします。

4. Unity Hubに戻り、インストールします。
「Microsoft Visual Studio Commumity」「Platforms」のチェックは不要です。「Documentation」と「Language packs」は任意で選択します。デフォルト言語は英語です。
右下の青い「Install」ボタンをクリックします。

5. インストールが完了するのを待ちます(時間がかかります)。完了するとInstalls画面にUnity 2021.3 LTSが追加されます。

新しいプロジェクトを作成します。

1. 左メニューから「Projects」を選択し、右下の「New Project」ボタンをクリックします。

2. 画面の入力項目に従い作成します。
「Unity organization」は自分のユーザー名、「Project name」は任意のプロジェクト名、「Location」はプロジェクトを保存する場所を指定します。
後からわかりやすいように、Unityプロジェクトを保存するフォルダを作成しておくと便利です。

3. 「Create Project」ボタンをクリックします。

4. Unity Editorが起動します。
上部の「Window」メニューを選択し、続いて「Asset Store」を選択します。

6. 青い「Search online」ボタンをクリックして、ブラウザでUnity Asset Storeにアクセスします。

ブラウザでUnity Asset Storeが開くので、「Mind Render」で検索します。
「Car Evolusion/Mind Render AI Drill(Free)」を選択し、「Add to My Assets」ボタンをクリックして、マイアセットに追加します。(無料)

上記で追加したアセットをUnity Editorで使えるようにインポートします。

1. Unity Editorに戻り、いったん終了します。*

* 以降の手順でUnity Editorのバージョンを変更します。バージョンを変更するにはUnity Editorが閉じている必要があるため、いったん終了します。

2. Unity Hubに戻り、左メニューから「Projects」を選択します。上記4で作成したプロジェクトが表示されます。
3. このプロジェクトで使用するバージョンを指定するため、バージョン番号の箇所をクリックします。

4. CarEvolution は、2021.3.45f2バージョンを使用するので、選択し、「Open with 2021.3.45f2」ボタンをクリックします。

5. Unity Editorが起動します。

4. 上部の「Window」メニューを選択し、続いて「Package Manager」を選択します。

5. 「Package Manager」画面の左上部の「▼ Packages」を選択し、続いて「My Assets」を選択します。

6. 「My Assets」の一覧が表示されるので、「Car Evolusion/Mind Render AI Drill(Free)を選択し、右下の「Download」ボタンをクリックします。

7. ダウンロードが終了すると、Downloadボタンがあった横に「Import」ボタンが表示されるので、クリックします。

8. インポートする内容が表示されるので、右下の「Import」ボタンをクリックします。

9 インポートが終了すると、「Project」画面に表示されます。

7 機械学習を実行する

1. 「Project」画面で、Assets>CarEvolution>Scenes を選択します。右側に表示される「Scene1」をダブルクリックします。

2. 「Scene」画面で実行ボタン(画面上部中央にある右向き三角形のボタン)をクリックすると、学習が始まります。

3. 多角形と4つのタイヤから成る車体が生成され、コースを走り出します。遺伝的アルゴリズムにより、適応度の高い個体を次世代に残していきます。詳しくは、「Project」画面から Assets>Docs>CarEvolution _ja.pdf を選択し、解説をご参照ください。

<表示される数値について>

・スライダー:学習スピードを調整できます。右になるほど速く進みます。学習には時間がかかるため、スピードを速くすることをお勧めします。

・Population:生成された車の台数/120台(1世代の台数)
・Generation :世代数
・Best Record:全体での最長到達距離
・Best this gen:この世代での最長到達距離
・Average:平均到達距離

4. コース全体を見るには、左上の「Scene」を選択します。サブメニューで「手」のアイコンをクリックし、マウスの左ボタンを押したまま動かすと移動、角度の変更ができます。

最初の画面に戻るには、「Scene」の右にある「Game」を選択します。

5. 学習がある程度進んだら、停止ボタン(実行ボタンの右)をクリックして、実行を止めます。

8 モデルをクラウドストレージにアップロードする

学習済みモデルは、4-1でプロジェクトを新規作成した場所に保存されています。
例えば、C:\UnityにMy Project1を作成した場合、モデルは、C:\Unity\My Projecct1\Assets\LearningData1\upload_scene1.json にあります。
このjsonファイルをDropbox、Google Driveなどのクラウドストレージにアップロードします。

9 Mind Renderにモデルを読み込み、プログラムを作成する

Mind Renderにモデルを読み込み、凸凹道を走る車のプログラムを作ります。

ここでは、モデルの読み込みと分類結果の取得で使用する命令を説明します。

プログラムの詳細は、以下をご参照ください。
つくる>新しいオブジェクト>51. 車の形状を進化させよう!

1. モデルの読み込み

モデルの読み込みには以下の命令を使用します。(「テクニック」カテゴリ)

[ID] 任意の文字列を入力します(「evo」など)。同じプログラム内で重複はできず、「[自分]の車に学習モデル(AI)を設定」ブロックのIDと一対一で対応させる必要があります。
[URL] 
クラウドストレージ(Dropbox、Google Driveなど)に保存した学習モデルのURLをコピー&ペーストします。

[強制読み込み] onにすると、プログラムをスタートするたびに学習モデルを再読み込みします。デフォルトはoffです。

2. 分類結果の取得

分類結果を取得するには以下の命令を使用します。

[ID] 「学習モデル(AI)を読み込む」で設定したIDと同じIDを入力します。(例えば「学習モデル(AI)を読み込む」のIDを「evo」としたら、「TM音声分類結果」のIDも「evo」とする)

9 プログラムを実行する

プログラムを実行すると、凸凹道を車が走っていきます。(サンプルプログラムでは完走しません。ぜひ、ご自分のモデルで走破にチャレンジしてみてください)