Skip to content

RoboCup 2022

Compare
Choose a tag to compare
@ahasselbring ahasselbring released this 24 May 07:20

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 14
  • MAX_NUM_PLAYERS has been set to 7
  • COMPETITION_TYPE_* macros have changed to this year's technical challenges
    • COMPETITION_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 to SET_PLAY_GOAL_KICK
  • SET_PLAY_PENALTY_KICK has been added
  • PENALTY_* 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).