This repository contains the next yet-to-be-developed software for the RoboCup Small Size Soccer.
It consists in a long-term project that applies the concept of microservices to robotics, taking the utmost care to meet the latency and resource management requirements that exist in the category while having a portable, modular, and scalabe software.
Important
In this repository, there is the implementation of VAR (Video Assistant Referee), presented at RoboCup 2024 in Eindhoven. The idea is to make this set of microservices usable in official matches of the competition, with a 3D visualization, the ability to replay, and to index events produced by the game-controller.
To test during matches, please run:
docker compose -f docker-compose.robocup-2024-var.yaml up
The ssl-core
project is organized as a language-agnostic monorepo package-by-feature microservices. Top-level directories contains its own README.md
and are individually responsible for describing its purpose.
All the code developed was done in Visual Studio Code with development tied to a devcontainer, making it platform-independent.
-
Contains common CMake rules and utilities used across the project.
-
Contains the application shell for mounting microfrontends.
-
Contains common code and utilities used across the project.
-
Contains common Docker files and scripts used across the project.
-
Contains documentation pages as guides, tutorials, and other useful information.
-
Contains experiments and prototypes for conceptual validation.
-
Contains the API Gateway.
-
Contains the perception microservice.
-
Contains the playback microservice.
-
Contains the player backend for frontend.
-
Contains the player microfrontend.
-
Contains the Protocol Buffers definitions used across the project.
-
Contains the referee microservice.
-
Contains the viewer microfrontend.
There are many ways in which you can participate in this project, for example:
- Reporting bugs, suggesting new features and contributing to the validation while they are being checked in
- Reviewing our pull requests
- Reviewing our documentation and making pull requests for anything from typos to additional new content
If you are interested in fixing issues and contributing directly to the code base, please see How to Contribute.
The ssl-core
repository is licensed under the terms of the MIT license. See LICENSE for more information.
We would like to express our gratitude to the following open-source projects that have inspired and influenced us in the development of ssl-core
:
abseil-cpp
, from Googlevscode
, from MicrosoftSumatra
, from TIGERs Mannheim