husain-zaidi / AUV-FinalYear-Unity

Final year project for B.Tech. Using Unity to simulate and train an AUV. Navigation is learnt by training with the latest state-of-the-art deep reinforcement learning algorithm. Presentation: https://docs.google.com/presentation/d/1OZbmuh8CV6X3cn3W92e05W-Ogslpas8QN4FLFMlbOoM/edit?usp=sharing
https://www.youtube.com/watch?v=_IkSe-zG4qA&pp=sAQA
MIT License
3 stars 2 forks source link
reinforcement-learning

AUV Simulation in Unity using ML-Agents

Trained using Deep Reinforcement Learning

Dependencies

  1. Unity 2019.3.15f
  2. Python 3.6+
  3. ML-Agents release_2
  4. mlagents - python package v0.16.1

Install

Refer full guide here

Basically:

  1. Clone the ML-Agents Toolkit Repository
  2. Install the com.unity.ml-agents Unity package from the package manager (ensure you enable preview packages & download 1.0.2)
  3. Install the mlagents Python package v0.16.1 exactly

Run and Train

  1. For running trained model, just click play. The main scene is Scenes/Arena
    • The AUV Gameobject has an agents script which has the neural network stored
    • Neural Network trained models are in /Assets/TrainedModels/models
  2. For training, open terminal in /Assets/TrainedModels/models
    • Run

      mlagents-learn auv_config.yaml --run-id=runID

    • auv_config.yaml has the reinforcement learning training parameters
    • The model will be saved in the models directory
  3. For visualizing the data on tensorboard: release_2_docs

To-do

  1. Train the boxed version

Learn

Note: only refer to the correct version of ML-agents documentation.