Skip to content

Commit

Permalink
Merge indirect and direct free kick into (direct) free kick (#3)
Browse files Browse the repository at this point in the history
From the Rule Change proposal:

There are only a few situations, where an indirect free kick is effective:

Throw in -> large distance to goal, unlikely to score a goal directly anyway
Attacker in defense area -> Even larger distance to goal
Dribbling, ball speeding -> Rules will be changed such that the game is not stopped anymore
But it complicates things for:

The [human|auto] ref: Has to decide what kind of freekick has to be issued
The autoRef: Has to track indirect goals
GameController (GC): Majority between autoRefs more complicated
Teams: Have to distinguish free kicks (or they simply ignore it already)
We thus propose to merge both freekicks into direct freekick.
  • Loading branch information
g3force committed Mar 3, 2020
1 parent ae6e803 commit 48e5763
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 56 deletions.
44 changes: 22 additions & 22 deletions chapters/appendix.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
=== Ball In And Out Of Play
When the match is <<Stopping The Game, stopped>>, the ball is considered *out of play* until it has been brought into play.

When the match is <<Resuming The Game, resumed>>, the ball is considered *in play* until the next stoppage occurs. The match is resumed when <<Force Start, force start>> has been issued or the ball moved at least 0.05 meters following a <<Kick-Off, kick-off>>, <<Direct Free Kick, direct free kick>>, <<Indirect Free Kick, indirect free kick>> or <<Penalty Kick, penalty kick>>.
When the match is <<Resuming The Game, resumed>>, the ball is considered *in play* until the next stoppage occurs. The match is resumed when <<Force Start, force start>> has been issued or the ball moved at least 0.05 meters following a <<Kick-Off, kick-off>>, <<Free Kick, free kick>> or <<Penalty Kick, penalty kick>>.

NOTE: see <<Double Touch, double touch>> for the rationale of the 0.05 meter distance

Expand Down Expand Up @@ -33,7 +33,7 @@ Chapter <<Referee Commands>>:
| No Progress | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Force Start>> | icon:check[role="green"]
| <<Penalty Kick>> prepared | during <<Penalty Kick>> | <<Normal Start>> | icon:check[role="green"]
| Multiple <<Yellow Card, Yellow Cards>> | <<Ball In And Out Of Play, ball out of play>> | <<Penalty Kick>> | icon:times[role="red"] (handled by the game controller)
| <<Ball Placement>> failed by team in favor | during <<Ball Placement>> | <<Stop>>, then <<Indirect Free Kick>> (div A) / previous command (div B) | icon:check[role="green"]
| <<Ball Placement>> failed by team in favor | during <<Ball Placement>> | <<Stop>>, then <<Free Kick>> (div A) / previous command (div B) | icon:check[role="green"]
| <<Ball Placement>> failed by opponent | during <<Ball Placement>> | <<Stop>> | icon:check[role="green"]
| <<Ball Placement>> successful | during <<Ball Placement>> | continue | icon:check[role="green"]
|===
Expand All @@ -42,30 +42,30 @@ Chapter <<Ball Leaves The Field>>:
|===
| Event | Applicability | Command | AutoRef

| <<Throw-In>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Indirect Free Kick>> | icon:check[role="green"]
| <<Goal Kick>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Direct Free Kick>> | icon:check[role="green"]
| <<Corner Kick>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Direct Free Kick>> | icon:check[role="green"]
| <<Throw-In>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Goal Kick>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Corner Kick>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
|===

Chapter <<Scoring Goals>>:
|===
| Event | Applicability | Command | AutoRef

| Goal | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Kick-Off>> | (icon:check[role="green"]) footnote:[the game controller operator has to continue the game]
| Invalid Goal | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Direct Free Kick>> | icon:check[role="green"]
| Invalid Goal | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
|===

Chapter <<Offenses>>, section <<Minor Offenses>>:
|===
| Event | Applicability | Command | AutoRef

| <<Aimless Kick [small]#(_division B only_)#, Aimless Kick>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Indirect Free Kick>> | icon:check[role="green"]
| <<Lack Of Progress>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Indirect Free Kick>> | icon:check[role="green"]
| <<Double Touch>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Indirect Free Kick>> | icon:check[role="green"]
| <<Attacker In Defense Area>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Indirect Free Kick>> | icon:check[role="green"]
| <<Aimless Kick [small]#(_division B only_)#, Aimless Kick>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Lack Of Progress>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Double Touch>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Attacker In Defense Area>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Attacker Touches Robot In Opponent Defense Area>> skipped | <<Ball In And Out Of Play, ball in play>> | no command | icon:check[role="green"] (<<Advantage Rule>>)
| <<Excessive Dribbling>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Indirect Free Kick>> | icon:check[role="green"]
| <<Ball Speed>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Indirect Free Kick>> | icon:check[role="green"]
| <<Excessive Dribbling>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Ball Speed>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
|===


Expand All @@ -74,18 +74,18 @@ Chapter <<Offenses>>, section <<Fouls>>:
| Event | Applicability | Command | AutoRef

| Multiple <<Fouls>> | <<Ball In And Out Of Play, ball out of play>> | <<Yellow Card>> | icon:times[role="red"] (handled by the game controller)
| <<Attacker Touches Robot In Opponent Defense Area>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Indirect Free Kick>> | icon:check[role="green"]
| <<Robot Too Close To Opponent Defense Area>> | <<Ball In And Out Of Play, ball out of play>> | <<Stop>>, then <<Direct Free Kick>> | icon:check[role="green"]
| <<Ball Placement Interference>> | during <<Ball Placement>> | <<Stop>>, then <<Direct Free Kick>> | icon:check[role="green"]
| <<Crashing>> | always | <<Stop>>, then <<Direct Free Kick>> | icon:check[role="green"]
| <<Attacker Touches Robot In Opponent Defense Area>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Robot Too Close To Opponent Defense Area>> | <<Ball In And Out Of Play, ball out of play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Ball Placement Interference>> | during <<Ball Placement>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Crashing>> | always | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Crashing>> skipped | always | no command | icon:check[role="green"] (<<Advantage Rule>>)
| <<Crashing>> draw | always | no command | icon:check[role="green"]
| <<Pushing>> | always | <<Stop>>, then <<Direct Free Kick>> | icon:times[role="red"]
| <<Ball Holding>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Direct Free Kick>> | icon:check[role="green"]
| <<Tipping Over Or Dropping Parts>> | always | <<Stop>>, then <<Direct Free Kick>> | icon:times[role="red"]
| <<Robot Stop Speed>> | during <<Stop>> | <<Stop>>, then <<Direct Free Kick>> | icon:check[role="green"]
| <<Defender Too Close To Ball>> | <<Ball In And Out Of Play, ball out of play>> | <<Stop>>, then <<Direct Free Kick>> | icon:check[role="green"]
| <<Multiple Defenders>> partially | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Direct Free Kick>>, <<Yellow Card>> | icon:check[role="green"]
| <<Pushing>> | always | <<Stop>>, then <<Free Kick>> | icon:times[role="red"]
| <<Ball Holding>> | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Tipping Over Or Dropping Parts>> | always | <<Stop>>, then <<Free Kick>> | icon:times[role="red"]
| <<Robot Stop Speed>> | during <<Stop>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Defender Too Close To Ball>> | <<Ball In And Out Of Play, ball out of play>> | <<Stop>>, then <<Free Kick>> | icon:check[role="green"]
| <<Multiple Defenders>> partially | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Free Kick>>, <<Yellow Card>> | icon:check[role="green"]
| <<Multiple Defenders>> entirely | <<Ball In And Out Of Play, ball in play>> | <<Stop>>, then <<Penalty Kick>> | icon:check[role="green"]
|===

Expand Down
6 changes: 3 additions & 3 deletions chapters/ballleavesthefield.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Touch lines are the long <<Field Lines, field lines>> at both sides of the playi
.Definition
The ball has to be placed 0.2 meters perpendicular to the touch line where the ball crossed the touch line. Its distance to the goal lines must be at least 0.2 meters.

After the ball has been placed, an <<Indirect Free Kick, indirect free kick>> is awarded to the opponent of the team that last touched the ball before it left the field.
After the ball has been placed, an <<Free Kick, free kick>> is awarded to the opponent of the team that last touched the ball before it left the field.

This comment has been minimized.

Copy link
@andreaswendler

andreaswendler Mar 5, 2020

Contributor

I believe this is a spelling mistake, it should be "a free kick" (without the n)

This comment has been minimized.

Copy link
@g3force

g3force Mar 7, 2020

Author Member

oh, yes. That slipped through the review. Thx. I'll fix that on master directly.


.Usage
A throw-in is used to restart the game after the ball left the field by crossing the touch line.
Expand All @@ -20,7 +20,7 @@ Goal lines are the short <<Field Lines, field lines>> at both ends of the playin
.Definition
The ball has to be placed 0.2 meters from the closest touch line and 1 meter from the goal line.

After the ball has been placed, a <<Direct Free Kick, direct free kick>> is awarded to the opponent of the team that last touched the ball before it left the field.
After the ball has been placed, a <<Free Kick, free kick>> is awarded to the opponent of the team that last touched the ball before it left the field.

.Usage
A goal kick is used to restart the game after the ball left the field by crossing the goal line of the team that did not touch the ball last.
Expand All @@ -31,7 +31,7 @@ NOTE: In division B, the <<Aimless Kick [small]#(_division B only_)#, aimless ki
.Definition
The ball has to be placed 0.2 meters from the closest touch line and 0.2 meters from the goal line.

After the ball has been placed, a <<Direct Free Kick, direct free kick>> is awarded to the opponent of the team that last touched the ball before it left the field.
After the ball has been placed, a <<Free Kick, free kick>> is awarded to the opponent of the team that last touched the ball before it left the field.

.Usage
A corner kick is used to restart the game after the ball left the field by crossing the goal line of the team that touched the ball last.
20 changes: 10 additions & 10 deletions chapters/offenses.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ Offenses are divided into multiple categories according to the seriousness of th
NOTE: Rule of thumb: Minor offenses are infringements of the rules committed by an attacking robot while the ball is <<Ball In And Out Of Play, in play>>. Fouls are infringements of the rules committed by a defender or while the ball is <<Ball In And Out Of Play, out of play>> or infringements that may harm the humans, the robots or the field.

=== Minor Offenses
Minor offenses are violations of the rules that result in a stoppage and a subsequent <<Indirect Free Kick, indirect free kick>> for the opposing team. The free kick will be shot from the position where the ball was located when the offense began happening (see <<Direct Free Kick, the direct free kick rules>> for the exact ball position rules).
Minor offenses are violations of the rules that result in a stoppage and a subsequent <<Free Kick, free kick>> for the opposing team. The free kick will be shot from the position where the ball was located when the offense began happening (see <<Free Kick, the free kick rules>> for the exact ball position rules).

All minor offenses are listed below.

==== Aimless Kick [small]#(_division B only_)#
A kick is aimless when after the ball touched a robot, it subsequently crossed the midline and then its opponent's goal line outside the goal without touching another robot. A kick-off kick cannot be aimless, as the ball is located at the midline and does therefore not cross it.

==== Lack Of Progress
There is a lack of progress if only one team is allowed to <<Ball Manipulation, manipulate the ball>> (<<Kick-Off, kick-off>>, <<Direct Free Kick, direct free kick>>, <<Indirect Free Kick, indirect free kick>>, <<Penalty Kick, penalty kick>>) and does not bring the ball <<Ball In And Out Of Play, into play>> in time. The time limit is 5 seconds for <<Indirect Free Kick, indirect free kicks>> and <<Direct Free Kick, direct free kicks>> in division A and 10 seconds in all other cases.
There is a lack of progress if only one team is allowed to <<Ball Manipulation, manipulate the ball>> (<<Kick-Off, kick-off>>, <<Free Kick, free kick>>, <<Penalty Kick, penalty kick>>) and does not bring the ball <<Ball In And Out Of Play, into play>> in time. The time limit is 5 seconds for <<Free Kick, free kicks>> in division A and 10 seconds in all other cases.

There is also a lack of progress if the ball is inside a team's <<Defense Area, defense area>> for 10 seconds, since the keeper is the only robot that is allowed to <<Ball Manipulation, manipulate the ball>>.

NOTE: If both teams are allowed to manipulate the ball, and thus no team is at fault, the referee may stop the game and issue a <<Force Start, force start>> command.

NOTE: If both teams are clearly unable to bring the ball <<Ball In And Out Of Play, into play>> without violating the rules, the referee may issue a <<Force Start, force start>> command instead of an <<Indirect Free Kick, indirect free kick>> for the other team.
NOTE: If both teams are clearly unable to bring the ball <<Ball In And Out Of Play, into play>> without violating the rules, the referee may issue a <<Force Start, force start>> command instead of an <<Free Kick, free kick>> for the other team.

==== Double Touch
When the ball is brought <<Ball In And Out Of Play, into play>> following a <<Kick-Off, kick-off>>, <<Direct Free Kick, direct free kick>>, <<Indirect Free Kick, indirect free kick>> or <<Penalty Kick, penalty kick>>, the kicker is not allowed to touch the ball until it has been touched by another robot or the game has been stopped.
When the ball is brought <<Ball In And Out Of Play, into play>> following a <<Kick-Off, kick-off>>, <<Free Kick, free kick>> or <<Penalty Kick, penalty kick>>, the kicker is not allowed to touch the ball until it has been touched by another robot or the game has been stopped.

The ball must have moved at least 0.05 meters to be considered as <<Ball In And Out Of Play, in play>>.

Expand All @@ -41,7 +41,7 @@ NOTE: Dribblers can still be used to dribble large distances with the ball as lo
A robot must not accelerate the ball faster than 6.5 meters per second in 3D space.

=== Fouls
Fouls are violations of the rules that result in a <<Direct Free Kick, direct free kick>> for the opposing team. The free kick will be shot from the position where the ball was located when the offense began happening (see <<Direct Free Kick, the direct free kick rules>> for the exact ball position rules). If the foul happened while the ball is <<Ball In And Out Of Play, out of play>>, no free kick is given.
Fouls are violations of the rules that result in a <<Free Kick, free kick>> for the opposing team. The free kick will be shot from the position where the ball was located when the offense began happening (see <<Free Kick, the free kick rules>> for the exact ball position rules). If the foul happened while the ball is <<Ball In And Out Of Play, out of play>>, no free kick is given.

Every third foul of the same team results in a <<Yellow Card, yellow card>>.

Expand All @@ -55,7 +55,7 @@ When the ball <<Ball In And Out Of Play, in play>>, a robot must not touch any o
NOTE: When the ball is <<Ball In And Out Of Play, out of play>>, the rule <<Robot Too Close To Opponent Defense Area>> applies instead.

==== Robot Too Close To Opponent Defense Area
During <<Stop, stop>>, <<Direct Free Kick, direct free kicks>> and <<Indirect Free Kick, indirect free kicks>>, before the ball <<Resuming The Game, has entered play>>, all robots have to keep at least 0.2 meters distance to the opponent <<Defense Area, defense area>>.
During <<Stop, stop>> and <<Free Kick, free kicks>>, before the ball <<Resuming The Game, has entered play>>, all robots have to keep at least 0.2 meters distance to the opponent <<Defense Area, defense area>>.

There is a grace period of 2 seconds for the robots to move away from the opponent defense area.

Expand Down Expand Up @@ -95,15 +95,15 @@ NOTE: This rule does not apply to <<Ball Placement, ball placement>>.
NOTE: Since the stop command is used for manual ball placement and <<Robot Substitution, robot substitution>>, the intention of the robot speed limit is to avoid robots harming the people on the field.

==== Defender Too Close To Ball
A robot's distance to the ball must be at least 0.5 meters during an opponent <<Kick-Off, kick-off>>, <<Direct Free Kick, direct free kick>> or <<Indirect Free Kick, indirect free kick>>.
A robot's distance to the ball must be at least 0.5 meters during an opponent <<Kick-Off, kick-off>> or <<Free Kick, free kick>>.
The game is resumed with the same command that was issued before the foul.

NOTE: During <<Stop, stop>>, there is no automatic sanction for being too close to the ball. The referee may still punish a team for <<Unsporting Behavior,unsporting behavior>> by issuing a <<Yellow Card, yellow card>> if it does not respect the required distance. See <<Stop, stop>> for further explanation.

==== Multiple Defenders
NOTE: This rule does not use the standard sanctions defined for <<Fouls, fouls>>.

If a robot other than the keeper touches the ball while being partially inside its own defense area, the game is stopped, the robot receives a <<Yellow Card, yellow card>> and the opponent team resumes the game with a <<Direct Free Kick, direct free kick>>. The foul counter is not increased.
If a robot other than the keeper touches the ball while being partially inside its own defense area, the game is stopped, the robot receives a <<Yellow Card, yellow card>> and the opponent team resumes the game with a <<Free Kick, free kick>>. The foul counter is not increased.

If a robot other than the keeper touches the ball while being entirely inside its own defense area, the game is stopped and a <<Penalty Kick, penalty kick>> is awarded to the other team. The foul counter is not increased.

Expand Down Expand Up @@ -136,12 +136,12 @@ If the game is <<Stop, stopped>> and a team is allowed to <<Resuming The Game, r

If a team exploits this rule, the referee may punish this team for <<Unsporting Behavior,unsporting behavior>> by issuing a <<Yellow Card, yellow card>>.

NOTE: This rule is in place to prevent teams from purposely committing offenses in order to relocate the opponent <<Direct Free Kick, direct free kick>> or <<Indirect Free Kick, indirect free kick>> to a more favorable position.
NOTE: This rule is in place to prevent teams from purposely committing offenses in order to relocate the opponent <<Free Kick, free kick>> to a more favorable position.

=== Advantage Rule
In certain situations, stopping the game because of a foul may have a disadvantage to the opposing team.
As these situations are not easy to detect automatically, the opposing team is asked if it likes to continue the game.
In this case, the game is not stopped and no direct kick is awarded at any time.
In this case, the game is not stopped and no free kick is awarded at any time.
The foul counter is still incremented and any resulting cards are given when the game is <<Stop,stopped>>.

.Fouls that are considered
Expand Down
Loading

0 comments on commit 48e5763

Please sign in to comment.