Welcome to the NASA EELS Locomotion Simulation repository. This project aims to recreate the locomotion types demonstrated by NASA's EELS robot that one day should venture into the oceans of Encaldus, on of Saturns moons. We use Unity as the simulation environment and make extensive use of Unity's ML-Agents toolkit for the machine learning components. Additionally, we utilize reinforcement learning algorithms provided by OpenAI APO for this research.
We have provided two different types of environments for testing and training the model:
- Simple Environment (EEL folder): A simpler, less cluttered version for initial tests and quicker results.
- Complex Environment (EEL_Complex folder): A more intricate setup with diverse obstacles and parameters for testing the limits of the model.
This project is largely build upon the Unity ML-Agents Toolkit. Also thanks to the community behind this toolkit.
The Config
folder contains various configuration files for hyperparameters that the model uses for training. Feel free to tweak these parameters to suit your particular needs. Note that in order to reproduce any of these results, you should clone the ml agents toolkit repo, download unity hub and the latest version of unity editor.
The training and test results can be found on the public tensorboard. They can be 'downloaded' from there anf you can also visualize the metrics using TensorBoard locally by running the following command in your terminal:
tensorboard --logdir results
- EEL: Contains the simpler environment.
- EEL_Complex: Contains the more complex environment with diverse obstacles.
Feel free to explore, contribute, and create issues. Thank you for visiting!