[robocup-nao] GameController 2015 German Open Edition

Thomas Röfer thomas.roefer at dfki.de
Thu Apr 16 08:35:09 EDT 2015


Dear SPL teams,

you can now download the GameController 2015 German Open Edition at the "Downloads" page of the SPL website. It contains all changes necessary to implement the new rules. The sources can be found at https://github.com/bhuman/GameController <https://github.com/bhuman/GameController> .


Important Code Changes
---------------------------------

The most important change that you have to make in your code is that, since team colors get a little bit fuzzy this year, team numbers are now used everywhere to identify teams. The team number is the number that is assigned to your team in the file teams.cfg of the GameController (e.g. B-Human has the number "5").

struct RoboCupGameControlData:

  uint8_t kickOffTeam;          // the team number of the next team to kick off
  uint8_t dropInTeam;           // number of team that caused last drop in

struct SPLCoachMessage:

  uint8_t team;          // team number

struct SPLStandardMessage:

  int8_t teamNum;        // [MANDATORY FIELD] the number of the team (as provided by the organizers)

There are also several fields marked as mandatory in the SPLStandardMessage that your robots must fill.

Please note that the field teamColour of the TeamInfo structure can now contain one of four different values: TEAM_BLUE, TEAM_RED, TEAM_YELLOW, and TEAM_BLACK.


GameController Changes
----------------------------------

--- Startup Dialog

The communication between referee and the operator of the GameController still uses colors, because some team names may be hard to pronounce or the names of the two teams playing may sound similar. To avoid announcements such as "Out by lemon yellow, pushing sunflower yellow 3" there are four color classes now that cover many different color tones:

"blue" (cyan, blue, violet)
"red" (magenta, pink, not red/orange)
"yellow" (yellow)
"black" (black, dark gray)

Each team must have jerseys from two distinct color classes.

The file teams.cfg can now contain the colors of main and alternate jerseys for each team. The first team in a match will always plays with its main jerseys. The second team will also play with its main jerseys, unless they are the same color as the one the first team uses. Teams for which no jersey colors are specified play in blue when being the first team and in red when they are the second team and the first team does not play in red as well.

--- Penalties

The new GameController implements two new penalties and groups some other penalties together to keep the number of buttons constant:

- "Fallen / Inactive / Local Game Stuck": Pressing this button results in PENALTY_SPL_INACTIVE_ROBOT. It covers most situations in which a robot does not contribute to the game (anymore).

- "Ball Holding / Hands": Results in PENALTY_SPL_ILLEGAL_BALL_CONTACT and groups together two penalties that were rarely applied last year.

- "Motion in Set": In playoff matches, games are only started by the referee blowing the whistle and the robots have to detect that signal. There is a risk that they accidentally react to another sound (e.g. a whistle on a neighboring field) and start moving too early. In that case, they are penalized by PENALY_SPL_ILLEGAL_MOTION_IN_SET. Since potentially a lot of robots can react to the same noise, this penalty is preselected in the state "Set" of playoff games (other penalties can still be selected) and many robots can be penalized by just pressing their buttons. The robots stay on the field and will automatically be unpenalized 15 seconds after pressing "Play", i.e. after the referee really whistled.

- "Kickoff Goal": If a robot kicks the ball before the ball left the center circle since the last kick-off, it will be penalized by PENALTY_KICK_OFF_GOAL, the ball will be put back, and the game continues.

--- Kick-off in Playoff Games

In playoff games, the referee blows the whistle for kick-off and the operator of the GameController presses the button "Play". On the screen, the GameController switches to "Play", counts down the clock, and counts down the 10 seconds that the defending team is not allowed to enter the center circle as usual. However, none of these changes reach the robots (or the GameStateVisualizer). They will receive packets where the state is still STATE_SET and secsRemaining/secondaryTime do not change. Only 15 seconds later, the state switches to STATE_PLAYING and the remaining time to play will drop by 15 seconds. At that moment, also all robots penalized for illegal motion in set will be unpenalized again.

--- Coach Message Delays

Coach messages are not delayed anymore unless 10 seconds since the previous message have not passed yet. They can carry up to 80 characters.


Have fun!

Thomas Röfer
(Team B-Human)

_______________________________________________________________________
Dr. Thomas Röfer
DFKI Bremen
Cyber-Physical Systems
Cartesium 0.55
Enrique-Schmidt-Str. 5
28359 Bremen, Germany

http://www.dfki.de <http://www.dfki.de/>
www.informatik.uni-bremen.de/~roefer <http://www.informatik.uni-bremen.de/~roefer>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/robocup-nao/attachments/20150416/86b2433b/attachment.html>


More information about the robocup-nao mailing list