Data Minimization Challenge¶
The goal of the data minimization challenge (see here, section 4) was that the robots should exchange as few bytes as possible in their team communication during the entire soccer competition. The value to minimize was the average number of bytes each robot sends per second while being present on the field, i.e. while not being penalized or absent for any other reason. Since our team heavily relies on communication to implement effective team play, we decided not to reduce the number of messages our robots send, but to reduce the size of these messages.
Approach¶
We followed two approaches to achieve this goal. On the one hand, we removed any information that was not actually used on the receiving end of the communication, so sending it had no benefit anyway. We also removed information about seen robots from the communication, because its use was questionable since the number of messages the robots are allowed to exchange was significantly reduced in 2022, which results in such information being quickly outdated. On the other hand, we compressed the data that was still communicated by defining the number of bits we spend for each value. We already had a framework in place, the CompressedTeamCommunicationStreams
, that let us define, e.g., a value range, the number of bits used to encode a value within this range, and how to handle if the value to encode is outside of the range. The framework also allows to encode timestamps relative to the current time, which results in small numbers that require fewer bits. Some values, e.g. the target position for a pass, are only needed in certain situations. Such values are only placed in the message if needed. In the end, the normal message size is only 34 bytes and the maximum size is 39 bytes.
For team coordination, we do some computations that assume that all robots of the team come to the same result, because all robots base their calculations on the same numbers. This approach makes it necessary that robots even compress and uncompress their own data for these computations, so that the compression artifacts are identical throughout the team.
Results¶
B-Human's robots would typically send 1170 packets during a full game. They also have a very high presence on the field (99 % according to the 2023 GameController statistics). Therefore, the 1170 packets multiplied by slightly more than 34 bytes per message are divided by nearly seven robots on the field. This would result in a communication rate of 4.7 bytes/s in games of 20 minutes. However, play-off games take a lot longer, because the clock is stopped during the ready and set states. B-Human's robots do not communicate during these phases. In the end, our robots only communicated 3.9 bytes/s on average, which was sufficient to reach the second place in the data minimization challenge, while still winning the Champion Cup soccer competition.