Skip to content
Will Stuckey edited this page Jul 28, 2026 · 6 revisions

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.

Motivation

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.

Clone this wiki locally