1
Fork 0
Controller Modularity in Brittle-Star Robots https://selab-3-2026.github.io/SEL3-2026-Groep-4/
This repository has been archived on 2026-08-15. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
Find a file
Cedric Mekeirle a9ac7e7c0d
Merge pull request #33 from SELab-3-2026/debug_charts
Charts to make debugging easier
2026-04-10 13:02:30 +02:00
.agents chore: configure git lfs 2026-03-21 16:36:33 +01:00
.devcontainer chore(hpc): finalize hpc settings and scripts 2026-04-04 18:59:38 +02:00
.github/workflows restructure 2026-04-06 17:02:40 +02:00
.vscode chore(hpc): finalize hpc settings and scripts 2026-04-04 18:59:38 +02:00
configs feat(logging): added explained variance chart 2026-04-09 23:14:52 +02:00
docs Merge branch 'dev' into docs/reward_and_mlp-design 2026-04-09 15:32:10 +02:00
env/hpc ci: fix action 2026-04-09 15:53:09 +02:00
scripts fix(hpc): removed local package install command as it was fixed in tibo's older pr 2026-04-10 09:07:43 +02:00
src fx(cleanup): removed meaningless comments, added typing and renamed lossinfo to trainingmeasurements 2026-04-10 08:31:52 +02:00
tests test: add tests for YAML config loading 2026-04-01 00:28:32 +02:00
.commitlintrc.json ci: configure pre-commit hooks 2026-03-21 16:35:42 +01:00
.env.example refactor(log): use UnifiedLogger in training script 2026-04-08 20:14:31 +02:00
.gitattributes chore: configure git lfs 2026-03-21 16:36:33 +01:00
.gitignore Apply suggestions from code review 2026-04-09 15:02:02 +02:00
.pre-commit-config.yaml Morphology/brittle star 2 arms (#17) 2026-04-01 19:17:42 +02:00
.python-version Initial commit 2026-02-26 14:18:39 +01:00
flake.lock Initial commit 2026-02-26 14:18:39 +01:00
flake.nix ci: configure pre-commit hooks 2026-03-21 16:35:42 +01:00
pyproject.toml feat: add build system, mypy and editable source 2026-04-09 00:02:13 +02:00
README.md Merge branch 'dev' into docs/reward_and_mlp-design 2026-04-09 15:32:10 +02:00
ruff.toml Merge branch 'dev' into feat/wandb-logging 2026-04-08 16:15:38 +02:00
uv.lock feat: add build system, mypy and editable source 2026-04-09 00:02:13 +02:00

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

  1. Copy the default configuration:

    cp configs/default_ppo.yaml configs/my_experiment.yaml
    
  2. Edit configs/my_experiment.yaml to set your WandB credentials:

    track: true  # Enable WandB logging
    wandb_entity: "your-wandb-username"  # Replace with your username/team
    wandb_project_name: "PPO-Modularity"
    
  3. (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.