At RoboCup, I had a short discussion with Rico (and perhaps others) that the number of penalty buttons in the GameController is too large (12 at the moment). While the buttons themselves are not specified in the rule book, they should generally match the referee calls, so changing the buttons in the GameController would require
As a first step, I suggest going from 12 to 8:
Pushing
Foul
This cannot be merged with another button because it starts a pushing free kick.
Penalty Kick
This cannot be merged with another button because it starts a penalty kick.
Illegal Position + Leaving the Field
Those two are conceptually similar anyway - a robot is somewhere where it isn't supposed to be.
Both of them are incremental, except for Illegal Position in Set, but in Set a robot cannot leave the field either. Maybe the special handling of Illegal Position in Set is another thing to reconsider.
Ball Holding + Playing with Arms/Hands + Player Stance
I'm not sure if Player Stance fits here, but see #115.
Motion in Set
This cannot be merged with another button because it has a special duration and is automatically removed. It also helps robots to be able to distinguish this penalty from other penalties because the re-entry positions are different.
Request for Pick-up
This cannot be merged with another button because it is the only penalty that can override previous penalties and the button behaves differently once the timer is over.
Maybe one also wants to rethink the relation of the pushing/foul/penalty kick buttons.
At RoboCup, I had a short discussion with Rico (and perhaps others) that the number of penalty buttons in the GameController is too large (12 at the moment). While the buttons themselves are not specified in the rule book, they should generally match the referee calls, so changing the buttons in the GameController would require
As a first step, I suggest going from 12 to 8:
Maybe one also wants to rethink the relation of the pushing/foul/penalty kick buttons.