RoboCup 2022
This is the GameController that will be used at RoboCup 2022.
Network Interface
RoboCupGameControlData
Compared to 2020/2021,
GAMECONTROLLER_STRUCT_VERSION
has been set to 14MAX_NUM_PLAYERS
has been set to 7COMPETITION_TYPE_*
macros have changed to this year's technical challengesCOMPETITION_TYPE_CHALLENGE_SHIELD
will not be used
TeamInfo::messageBudget
has been added
In addition, compared to 2019,
SET_PLAY_GOAL_FREE_KICK
has been renamed toSET_PLAY_GOAL_KICK
SET_PLAY_PENALTY_KICK
has been addedPENALTY_*
macros have been adapted to rule changes
RoboCupGameControlReturnData
In order to keep a continuous model of robots in tools such as the TCM despite the new team communication rules, RoboCupGameControlReturnData
has been changed to match most of the fields from the SPLStandardMessage
. Robots must still unicast it to the GameController host, but the GameController forwards it to all hosts that requested the true game state (such as TCMs) on port 3940.
SPLStandardMessage
The SPLStandardMessage
hasn't changed since 2018 except for the (invalid) default values of playerNum
, teamNum
and fallen
, and 7 is a valid player number now.
Dynamic Ball Handling Challenge
The GameController does NOT assist with the scoring of the challenge. It only counts down the time and ejects players that are penalized. According to the rules, it also finishes the challenge when an attacker pushes. In all other cases, the referee must judge whether the challenge can still be completed.
7 vs. 7 Challenge
The hardware penalty limitation is implemented as 2 per half and 3 per game, i.e. a third hardware penalty in the second half is only legal if at least one of them was in the first half.
TCM
Since the TCM visualizes messages from two sources now (SPLStandardMessage
and RoboCupGameControlReturnData
), there are two numbers (separated by a slash) in the per-robot statistics for number of messages, messages per seconds, and illegal messages (first number is from team messages, second number is from GameController return packets).