This repository contains a JAX implementation of the robot navigation problem. The goal is to navigate a robot in a 2D grid world with obstacles, using reinforcement learning techniques.
- Install
uv: https://docs.astral.sh/uv/getting-started/installation/ - Afterwards, create a new virtual environment and install the dependencies using
uv:
uv syncAlternatively, you can use
poetryor anything that works withpyproject.toml(butuvis superior!)
If your device has a GPU with CUDA support, you can enable it during the environment setup by running:
uv sync --extra cudaTo format the code, you can run:
uvx ruff formatPre-commit hook is set-up automatically strip output cells from Jupyter notebooks before committing so that the 10 MB gifs from notebook are no longer accidentally uploaded to git 💀
To install the pre-commit hooks (already included in dev dependencies):
pre-commit installTo get started, checkout examples/ppo.ipynb for a quick introduction to training the agent, evaluation and visualization of the environment.
Choose python from .venv as interpreter and it should work out of the box.
