Skip to content

MLShukai/AMIUnityEnvironment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unity AMI Environment

自律機械知能 (AMI)をUnity ML Agents環境で実験するための Unity プロジェクト。

導入方法

OS

  • MacOS
  • Linux
  • Windows (2024/07/14 未検証。動作するはず。)

Unity

Unity Hub をインストールし、次のバージョンのUnityをインストールする。

  • Version: 6000.0.5f1

実行するOSのプラットフォームに合わせて Build Supportも追加する。

動作テスト

  1. Unityプロジェクトのビルド

    Unity エディタの File -> Build Profilesから、動作するOSプラットフォームに合わせて Buildする。

  2. Pythonと依存関係のインストール

    python3.10.1 - 3.10.12 のPythonをインストールし、mlagents_envsをインストールする。

    pip install mlagents-envs==1.0.0

    NOTE 2024/7/23: Windowsユーザはnumpyのインストールに失敗するため、次のコマンドでインストールしてください。

    pip install git+https://github.com/MLShukai/ml-agents.git#subdirectory=ml-agents-envs
  3. 実行

    Assets/AMI/PythonSampleScript/unity_mlagents_gym_interaction.pyを実行する。実行方法に関してはファイルに記載しているのでそこを確認。

実装説明

Assets/AMI/Scenes/SampleScene.unityに最小限の環境を実装した。

VRChatDiscreteUserプレハブ

DesktopモードでVRChatをプレイするユーザをエミュレートするものである。

Observationは Camera Sensorコンポーネントを用いて一人称視点で映像をキャプチャしている。

ActionはBehavior ParamtersコンポーネントのActionsに記述されている。Unity 環境上へのアクションの実行については VRChatEmulatedAgentコンポーネントのスクリプト を読んでほしい。

Decision RequesterDecision Periodは、Pythonに行動を要求する周期である。Fixed Timestamp(後述)が最小周期 (Period=1)であるため、指定したFPSで動作させる際は設定に注意が必要である。

参考資料

使用しているAPIについて詳しくは Unity 公式の ML Agents Toolkitのドキュメンテーションを参照。

基本的な使い方は Toolkit Documentationに記述されている。

その他特に読むと良いものとして、Python API DocsのLow Level API (LLAPI) Documentationと、Gym API Documentationがある。

Unityの Project Settings 重要項目

メニュバーのEdit -> Project Settings...から開く。

Time

Fixed Timestampを 0.01に設定する。この値が Decision RequesterDecision Periodの最小周期になる。

例えば Decision Period10に設定すると、Python上では10fpsでインタラクションが実行される。

Player

Resolution and Presentationの中で、次の項目を必ず設定する。

  • Run In Background: チェックする。
  • Fullscreen Mode: Windowed

Standalone Player OptionsResizable Windowもチェックしておくとデバッグを行いやすい。

About

Unity ML Agents Envsを用いた AMI環境

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published