|
|
||
|---|---|---|
| .agents | ||
| .devcontainer | ||
| .github | ||
| .vscode | ||
| configs | ||
| docs | ||
| env/hpc | ||
| scripts | ||
| src | ||
| tests | ||
| .commitlintrc.json | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .python-version | ||
| flake.lock | ||
| flake.nix | ||
| mkdocs.yml | ||
| pyproject.toml | ||
| README.md | ||
| ruff.toml | ||
| uv.lock | ||
Brittle Star
What is the impact of different levels of controller-modularity on the learning-speed, coordination and tolerance for defects (e.g. amputations) in brittle-star-like robots trained with Reinforcement Learning?
Quick start
Local setup
To set up the UV module, you can run the following command:
uv sync --frozen
Repository Structure
.
├── configs/ # Hydra configuration files (YAML)
├── docs/ # Comprehensive documentation and API guides
├── runs/ # Default output directory for Hydra and training artifacts
├── scripts/ # High-level entrypoints for training, simulation, and evaluation
├── src/
│ ├── brittle_star_project/ # Core library and environment logic
│ │ ├── evaluation/ # Checkpoint evaluation, rollout logic, and metrics persistence
│ │ └── trainers/ # Training loop implementations (e.g., PPO)
│ └── experiment_logger/ # Standalone logging package
└── tests/ # Unit and integration tests
Usage
For detailed instructions on how to use the project, please refer to the API Documentation.
Quick Start
-
Train a model:
uv run python scripts/train.py ppo.learning_rate=0.001 logging.track=true -
Monitor progress: See Tracking & Monitoring.
-
Simulate a trained model: See Simulation & Evaluation.
-
Compare fault tolerance of models: See Checkpoint & Model Evaluation
Results & Reproduction
See docs/api/reproduction.md to learn how to access our public Weights & Biases (WandB) project, retrieve specific run parameters, and run the training/evaluation reproduction workflow.
HPC
See docs/HPC.md for the full guide, including environment setup, cluster selection, interactive debugging, and job submission.
Documentation
Please find all documentation and a starting point for more information in corresponding README.