2021 Rule Discussion

Dear Humanoid Teams,

The 2020 version of the rule book has been adapted for the virtual competitions to be played in 2021. A first draft of the rule book can be found here:

Note that the changes marked are in comparison to the regular RoboCup 2020 laws of the game.

This year the rules will be updated according to the following schedule:

  • Feb 15th - Mar 1st: Rule draft is published and discussed in the humanoid league forum
  • Mar 12th: Updated draft of the rule book is released
  • April 2nd: Final version of the rule book is released (including changes considered necessary during the simulation software implementation)

Please raise any concerns you have with the current rule book and proposals for changes here in the forum.


Line 1790 in the rules seems to imply that each team will be given access to the robot models of all other teams or at least the teams they are playing against. Is this correct?

Thanks for bringing it Jasper.

That’s what the rules implies yes. In order to ensure models respects the specification, it will be requested that they are inspected by team members anyway.

This might require teams who are not willing to have their model publicly available to provide a NDA. I think this will be a point to discuss during the league discussions between March 8th and March 10th.

The rule in lines 859 and following seems a bit fuzzy since it is not defined what “in the vicinity of the ball” means.

Line 1534: we need to specify how these initial start positions are communicated between the robots and the auto referee

line 1601: this line kind of defines the removal penalty, but it is defined more detailed later anyways

For all kinds of positionings by the auto referee, teams need to specify the height and rotation they would like their robot to be set in.
Furthermore we need to define the length of the time period between the robot being picked up by the auto referee and set down again (for moving into a suitable position to be able to stand)

Thanks for the feedback Jasper. For any person wondering about the lines number, they refer to the document with changes marked.

L859: Vicinity of the ball

I agree that it’s currently a little bit fuzzy. We will need to clarify it. I would propose to use the same distances that are used for free-kicks and penalty kicks (0.75 in Kid and 1.5 in Adult). We need to distinguish between the two leagues anyway and it seems reasonable to ensure that robots can easily approach the ball.

I would also propose to clarify somewhere that all distances between robots and the ball are measured by taking the distance between the ball center and the convex polygon resulting of the projection of the robot to the ground. This would reduce the risks of misunderstanding and make sure the teams are not required to reverse engineer the AutoReferee to have an accurate understanding of the rules.

Initial positions (L1535-1538, L1601, L1629-1639)

I agree that L1601 should simply be replaced by “receives a removal penalty”, this is explicit enough.

Globally, initial configuration and initial height+orientation of the robots need to be defined more accurately. However, I think that the rulebook is not an appropriate location to present too much technical details. I would rather have a separate document defining the API and the interaction with the server which include this kind of specifications.

For penalizing robots, I think that there’s two different solutions:

  1. Let them a few seconds to move into a suitable position (while in the air)
  2. Have them disappear and spawn again in the initial configuration (which should be provided to the simulator if we want to allow different initial configurations than 0)

About reverse engineering the AutoReferee: I assumed that the automatic referee is going to be open source. This way, teams would also be able to test the setup on their own machines before the competition and contribute if they find any errors in the implementation.

I agree that the initial configuration is more suited for the API specification.

I believe that solution 1 is easier to implement. I am not aware of how models can be reloaded in webots without reloading the whole world.

Regarding my mention of “reverse engineering” the AutoReferee, that was a little bit exagerated, it will definitely be open-source. What I wanted to mention is that it’s much easier to read clear specifications than to try to extract them from the code.

The 2nd draft of the rules have been published, thanks to the comments brought
on the forum but also directly to the TC, we have updated the following points:

  • Vicinity of the ball for ball holding is now considered as 0.75m in
    KidSize and 1.5m in AdultSize.
  • Removal Penalty phrasing has been clarified.
  • Non-Disclosure Agreement is now required for teams who do not want their
    model to be public.
  • Recurrent unsportive behavior can now lead to invalidate games and/or yellow cards
    to the teams.
  • Initialization time at the beginning of the game has been increased. On
    the other side, it has been reduced between half-times and penalty shootouts.
  • Robots wandering off the field are now considered as incapable players.
  • Changing the goalkeeper during games is allowed again.
  • Concerns regarding robot models have now to be brought to the TC 6 hours
    before the game and not 1 week before the tournament.

The 3rd draft is planned for March 22nd and should include:

  • Forceful contact should be clarified, see [Discussion] Forceful contact and direct free kicks for virtual competition
  • Dropped ball should be reintroduced to make sure we don’t have half-times
    where nothing happens because the ball is stuck in a position difficult to
  • Ball handling should be discussed because we are concerned that too many
    free-kicks would be triggered by robots falling on the ball with their hand,
    trying to stand-up or being shot at while laying on the floor.

The 3rd draft has been updated with the rule changes mentioned above.

We aim to release the final rule book on April 19th.