This repository contains Lightning7's (TU Delft RSA) software for the RoboCup Small Size League.
- Make sure you have all dependencies:
- Run
poetry installto 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 installto 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_sslAvailable 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 unittestAdd 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