This repository contains Lightning7's (TU Delft RSA) software for the RoboCup Small Size League.
- Make sure you have all dependencies:
- Run
poetry install
to download all the dependencies into a virtual environment - Install the pre-commit hooks with
poetry run pre-commit install
- Run
cd lightning7_ssl/web/frontend && pnpm install
to download all the frontend dependencies - (Optional) Enter the newly created virtual env with
poetry shell
To run the main program:
poetry run python -m lightning7_ssl
Available command-line arguments:
--ui
- enable the web UI--log-file
- log file path (default: no logging)--num-players
- number of players (default: 11)--own-team
- own team color (default: blue)--tick-interval
- tick interval in seconds (default: 0.1)
Run the Python tests:
poetry run python -m unittest
Add a Python dependency:
poetry add ...
Add a frontend dependency (in lightning7_ssl/web/frontend
):
pnpm add ...
Currently, the whole repository is made up of a single poetry package.
lightning7-ssl
- the main Python modulecontrol_client
- client that talks to ssl-vision, ssl-game-controller and the robots, via protobufplayer
- player and player manager classes (see strategy)roles
- role classes (see strategy)world
- world modelweb
- web UI server and frontendfrontend/
- frontend code (vite + svelte)server
- backend code
vis
- logging and visualizationutils
- utility functions and classesvec_math
- vector math
- ... other modules go here
test
- place for package-wide unit testspyproject.toml
- package config, see the poetry docs and the pip docspoetry.lock
- dependency lock, should not be touched manuallypre-commit-config.yaml
- pre-commit hooks config, see the pre-commit docs
The contents of this repository are licensed under TODO