Controller Modularity in Brittle-Star Robots
https://selab-3-2026.github.io/SEL3-2026-Groep-4/
| .agents | ||
| .devcontainer | ||
| .github/workflows | ||
| .vscode | ||
| configs | ||
| docs | ||
| env/hpc | ||
| experiments/debug-experiment-10042026 | ||
| scripts | ||
| src | ||
| tests | ||
| .commitlintrc.json | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .python-version | ||
| flake.lock | ||
| flake.nix | ||
| 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
Configuration
-
Copy the default configuration:
cp configs/default_ppo.yaml configs/my_experiment.yaml -
Edit
configs/my_experiment.yamlto set your WandB credentials:track: true # Enable WandB logging wandb_entity: "your-wandb-username" # Replace with your username/team wandb_project_name: "PPO-Modularity" -
(Optional) Login to WandB:
uv run wandb login
Training
example command:
uv run python scripts/train.py
Or use a custom config file:
uv run python scripts/train.py --config configs/my_experiment.yaml
Override specific parameters:
uv run python scripts/train.py --learning-rate 0.001 --num-envs 32 --track
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.