Repository navigation
Home
This is the Wiki for RoboCup Small Size League communication protocols. It contains motivation, extended documentation, and detailed first time setup and usage guidance for the data formats defined in the code repository.
This repository is the authoritative source of truth for the SSL data formats, as well as any other constraints placed on the transmission of that data.
All SSL teams are required to interact with shared field software in order to play a match. This includes vision (robot and ball positions) and game controller (game state). There are also a variety of other league tools that need to establish communication links, some of which are helpful for teams like autoref. This raises a key engineering challenge: standardizing the communication so that dozens of teams and tools can all show up and expect to communicate correctly.
The SSL uses Protobuf to standardize the tool data formats. Protobuf defines an interface description language, and the league creates packet definitions for each tool using this interface language. These packet definitions are defined here. A single source of truth for packet definitions provides clarity to the standard, and helps avoid diverging versions and licensing incompatibility.