Version: 15.0.2 Date: Mon Apr 10 2017 08:40:47 GMT+0800 (HKT)
HuroCup Laws of the Game United Soccer |
Jacky Baltes
Educational Robotics Center
Department of Electrical Engineering
National Taiwan Normal University
Taipei, 10610, Taiwan
Abstract
The following rules and regulations govern the united soccer event of HuroCup, a robotic game and robotics benchmark problem for humanoid robots.
The latest official version of the rules of the game for HuroCup is always available from the HuroCup Facebook Page.
Teams must demonstrate that they can listen to the referee controller before the match begins.
In the United Soccer competition soccer teams will be formed by randomly assigning players to teams up to a maximum of five robots per team. Therefore, robots must be able to collaborate with unknown players from other teams to play soccer well. Each robot will receive points for their performance on the field. Robots can score points by successfully completing soccer-based tasks such as scoring a goal, saving a goal, or completing a pass.
The goal of the United Soccer event is to develop the necessary technology that will allow us to quickly increase the size of the teams to 11 players each.
The following laws describe the specifics of the united soccer event. For general specifications relevant to all HuroCup events (e.g., robot dimensions, playing field and lighting, responsibility of the referees) please refer to General - HuroCup Laws of the Game.
[US-1.1]: The playing surface is a hardwood surface or a carpet. The specific colour and texture of the surface is not specified and may vary from competition to competition (just as real soccer fields vary.
[US-1.2]: cement, linoleum, hardwood flooring, plywood, ping-pong tables and particle board; carpeted or cushioned surfaces are not allowed. Every effort shall be made to ensure that the surface is flat, however, it is up to individual teams to design their robots to cope with slight bumps and/or gaps of the surface.
[US-1.3]: The colour of the playing field is green. In case, the local organizer can not provide a suitable playing field with the desired colour, a different uniform colour that does not interfere with any other defined colours (i.e., white, yellow, red, and blue) may be chosen. In this case, the chairs and teams must be notified of the chosen colour as soon as possible.
[US-1.4]: The shape of the field must be rectangular. The length of the field is $FL The width of the field is $FW. The length of the field must be greater than the width.
[US-1.5]: There is a $BW wide boundary around the playing field. The boundary area is not part of the playing field. Its purpose is to prevent damage to robots leaving the playing field.
[US-1.6]: The field of play is marked with lines. These lines belong to the area of which they are boundaries. The two longer boundary lines marking the length of the field are called touch lines. The two shorter ones marking the width of the field are called goal lines.
[US-1.7]: All field lines are marked in white colour and a width of $LW.
[US-1.8]: The field of play is divided into two halves by a half way line.
[US-1.9]: The centre mark is indicated at the midpoint of the half way line. A circle with a diameter of $CR is marked around it.
[US-1.10]: The field of play shall be lighted by natural indoor lighting. The lighting should be as uniform as possible. The local organizing committee should attempt to provide information about the specific lighting conditions as early as possible to the competitors.
[US-1.11]: The figure below shows a possible playing field.
Figure: United Soccer Playing Field is
Dimension | Label | Kid Size | Adult Size |
Total Length | $L | 660cm - 760cm | 660cm - 760cm |
Total Height | $W | 510cm - 610cm | 510cm - 610cm |
Border Width and Height | $BW | > 30cm | > 30cm |
Field line width | $LW | 4.5cm - 5.5cm | 4.5cm - 5.5cm |
Goal Width | $GW | 200cm | 200cm |
Goal Length | $GL | 30cm | 30cm |
Goal Height | $GH | 70cm | 70cm |
Goalbox Width | $DW | 250cm | 250cm |
Goalbox Length | $DL | 50cm | 50cm |
Penaltybox Width | $PW | 300cm | 300cm |
Penaltybox Length | $PL | 120cm | 120cm |
Penalty Mark Length | $PM | 100cm | 100cm |
Centre Circle Diameter | $DC | 100cm | 100cm |
Penalty Arc Radius | $PC | 50cm | 50cm |
[US-1.14]: Within each penalty area, a penalty mark is made 75cm from the midpoint between the goalposts and equidistant to them.
[US-1.15]: The arc outside of the penalty area of the circle centred on the penalty mark and with a radius of 50 cm is drawn.
[US-1.16]: Goals must be placed on the centre of each goal line. The goals consist of two upright posts equidistant from the corner flag posts and joined at the top by a horizontal crossbar.
[US-1.17]: The distance between the posts is $GW and the distance from the lower edge of the crossbar to the ground is $GH cm. Both goalposts and the crossbar have the same width and depth which must be between 5 cm to 10 cm.
[US-1.18]: Nets may be attached to the goals and the ground behind the goal, provided that they are properly supported and do not interfere with the goalkeeper.
[US-1.19]: The goal posts and crossbars of the two goals are coloured in red.
[US-1.20]: Goals must be anchored securely to the ground. Portable goals may only be used if they satisfy this requirement.
[US-1.21]: Six passing markers are placed on the playing field. The passing markers are similar to the wall obstacles used in Obstacle Run - HuroCup Laws of the Game. At the start of the match, the referee will place the six markers randomly on the field, but outside of the penalty box and goal box areas of the goals.
[US-2.1]: The ball used in a match depends on the size class of the robots:
[US-2.2]: In case, the ball is damaged and becomes unsuitable for play:
[US-3.1]: Robots may communicate via all forms of human communication which includes gestures, speech, or sound. Speech and sound communication must be limited in duration and volume.
[US-3.2]: A wireless access point using the 802.11 g WIFI standard will be made available by the organizers.
[US-3.3]: The organizers provide a referee box that sends UDP broadcast messages to indicate the state of the game to all robots.
[US-3.4]: Only the robots themselves and the computing infrastructure provided by the organizing committee (referee box) are allowed to use the WIFI access point.
[US-3.5]: The WIFI access point provided by the organizers. All communication between the robots and the organizers should use TCP or UDP only.
[US-3.6]: All robots must not use more than 10 kBytes of data per second. All robots must not send more than 30 messages per second.
[US-4.1]: A match is played with two teams, each consisting of not more than five players in the kid sized category, and not more than three players for robots in the adult sized category. One of the robots on each team is designated the goalkeeper and must be visually easily distinguishable from the other players.
[US-4.2]: Only robots that are able to walk stably for a distance of at least one meter are deemed capable of play. The referee may ask the team to demonstrate the playing capability of the robot at any time during a stoppage in play. The referee will instruct the robot handlers to remove robots that are deemed incapable of play.
[US-4.3]: A maximum of two substitutes may be used in a game. A player that is substituting another player is only allowed to enter the field when the other player has left and when so instructed by the referee.
[US-5.1]: Please refer to General - HuroCup Laws of the Game for detailed information about the players.
[US-5.2]: All players must demonstrate that they are able to listen to the referee controller box commands.
[US-6.1]: Please refer to General - HuroCup Laws of the Game for detailed information about the referee and his or her duties.
[US-7.1]: Please refer to General - HuroCup Laws of the Game for detailed information about the assistant referee and his or her duties.
[US-8.1]: At the beginning of the match, two teams will be formed by randomly selecting players for each team.
[US-8.2]: At the start of the match, the referee toss a coin. The winner of the coin toss can decide on whether they would like to kick off in the first or in the second halt, or which side of the field the team would like to start on. The team that lost the coin toss can decide on the still open choice after the winner made its decision.
[US-8.3]: A match consists of two periods of play. Each period is ten minutes long.
[US-8.4]: A maximum five minute break (half-time) will start at the end of the first period.
[US-8.5]: After the end of the half time, the teams will switch their start side.
[US-8.6]: Each team can ask for a two minute time out. Each team has a maximum of two timeouts per game. At the beginning of the game or after a stoppage, a team which is unable to start must take a timeout, otherwise the referee will start the game without the team.
[US-9.1]: A kick-off will occur at the start of a period, after a goal has been scored, or after a time-out. If the kick-off occurs because a team has scored a goal, then the other team gets the kick-off. If a kick-off occurs because of a time-out, then the team that did not choose the time-out will have kick-off.
[US-9.2]: All robots that must be placed manually must be placed in such a way that at least one part of the robot's foot touches the goal area.
[US-9.3]: At the start of the kick-off, The referee will signal READY. The robots must move to their own half. If a robot can not reach its own half within 10 seconds, it must be placed manually by the robot handler.
[US-9.4]: All players of the opposing team must be outside of the centre circle. If a player of the opposing team violates this rule, then the robot must be placed manually. All human handlers must leave the field at the end of the READY phase.
[US-9.5]: After the READY phase, the referee will signal SET. Then the referee will place the ball on the centre spot. Robots must remain stationary during the SET phase. During the SET phase, the team taking the kick-off is allowed to place one robot inside of the centre circle to take the kick-off.
[US-9.6]: Approximately ten seconds after SET, the referee will signal PLAY by whistling and the assistant referee will send a PLAY message via UDP as well. The ball is in play when it is either touched by the player taking the kick-off or ten seconds have elapsed.
[US-9.7]: A goal can not be scored directly from a kick-off. Either the ball must be moved by at least 20 cm or be touched by another player before it is being kicked into the goal. If a team violates this rule, then a kick-off is awarded to the opposing team.[1]
[US-10.1]: A dropped ball is a way to restart a match from a neutral position should this be warranted. An example of a situation that warrants a Dropped Ball is, if the ball is in such a position that none of the robots have sensed the ball or none of the robots have been able to move the ball.
[US-10.2]: All robots must be placed outside of the centre circle when the referee signals READY. The referee will signal SET and place the ball at the centre point. Once the referee signals PLAY, the ball is in play and game continues.
[US-10.3]: A goal can be scored directly from a dropped ball.
[US-10.4]: If a robot enters the centre circle before the referee signals PLAY, a kick-off is awarded to the other team.
[US-11.1]: (a) it has completely crossed the goal or touch line either on the ground or in the air, or (b) the game has been stopped by the referee.
[US-11.2]: At all other times, the ball is in play.
[US-12.1]: A goal is scored when the whole of the ball passes over the goal line, between the goal walls, below the crossbar, provided that the ball is in play and no infringement of the Laws of the Game has been committed previously by the team scoring the goal.
[US-12.2]: A goal can not be scored by throwing the ball into the goal without touching another player first. This includes balls thrown by the opposing goalkeeper or after a throw-in.
[US-12.3]: The team scoring the greater number of goals during a match is the winner. If both teams score an equal number of goals, or if no goals are scored, the match is a draw.
[US-12.4]: If a game ends in a draw, two additional periods of five minute duration with an additional five minute half-time will be played (Overtime). If at the end of the overtime the score is still tied, then the game will be decided by five alternating penalty kicks.
[US-12.5]: For matches ending in a draw, competition rules may state additional provisions apart those mentioned in the previous law involving extra time, or other procedures approved by the local organizing committee to determine the winner of a match.
[US-13.1]: If in the opinion of the referee there is immediate danger that two or more robots may be damaged through physical contact, s/he will instruct the robot handlers to pull the affected robots a distance of approximately 50 cm apart. The handlers must follow the instructions of the referee and must not alter the state (i.e., orientation, standing or fallen) of the robot unless instructed to do so by the referee.
[US-14.1]: A robot commits an offence if in the opinion of the referee it:
[US-14.2]: A robot is sent off and shown the red card for committing severe and/or repeated cautionable offences or if his team receives a second caution. The number of players on the team is reduced by one after every two yellow cards.
[US-15.1]: It is an offence if the player, except a designated goalkeeper within its goal area, manipulates the ball with any part of its hand, arm, or shoulder.
[US-15.2]: A single or a group of field players may not hold the ball for more than 1 second. The goal keeper in its own goal area may hold the ball for up to six seconds. It is considered holding the ball if no other robot has the ability to play the ball because either a single or multiple robots from the same team make it impossible to reach the ball for players from the other team.
[US-15.3]: Physical contact between players from opposing teams must be avoided. In case of a collision, the faster moving robot will be penalized. No opposing player is allowed to touch the goalkeeper in its own goal area.
[US-15.4]: A robot that is unable to stand up within 30 seconds after a fall or a robot whose removal was requested by its robot handler must be removed. The referee will only grant removal of a malfunctioning robot if it does not lead to an advantage for its team.
[US-15.5]: A robot that is charging another robot and exerts significant force on it.
[US-15.6]: A robot that blocks more than 50% of the goal line for more than 15 seconds most of the time.
[US-15.7]: A robot that kicked the ball to a passing pole is not allowed to touch the ball until it has moved 30cm away from the pole or has been touched by another robot.
[US-15.8]: A robot is not allowed to touch any of the passing markers.
[US-15.9]: All robot handlers must remain outside of the playing field unless instructed by the referee. If the robot handler enters the playing field or interferes with the game in any way, the robot nearest to the handler will be removed.
[US-15.10]: The referee will not allow removal of a robot if it would result in an advantage for the team. For example, the referee will not allow removal of a robot lying in front of the goal and blocks a shot on goal by its team member or a player that is about to score on its own goal.
[US-16.1]: A robot that commits any of the fouls mentioned in [US-15] Other Fouls and Misconduct will be penalized by a removal penalty of 30 seconds.
[US-16.2]: When instructed by the referee, the robot handler must remove the robot as quickly as possible from the playing field without interfering with the remainder of the game.
[US-16.3]: After a removal penalty has expired, the robot may re-enter the playing field. To re-enter, the robot will be placed on one of the touch lines as closely as possible to the centre line without interfering with the rest of the game. This also applies to the goalkeeper, who also must enter from the sideline. When positioning the robot for re-entry, the robot must face the centre circle. The referee will decide whether the robot must enter from the left or the right touch line.
[US-17.1]: A penalty kick is awarded if any of the cautionable offences for which a penalty kick may be awarded is committed by a robot inside his own penalty area, irrespective of the position of the ball, provided the ball is in play.
[US-17.2]: A goal may be scored directly from a penalty kick.
[US-17.3]: Additional time is allowed for a penalty kick to be taken at the end of each half or at the end of periods of extra time.
[US-17.4]: A penalty kick is taken by following this procedure in the order described.
[US-17.5]: The ball is placed on the penalty mark.
[US-17.6]: The defending goalkeeper is positioned so that some part of its construction touches the goal line, facing the kicker, until the referee gives the start signal.
[US-17.7]: The defending goalkeeper must remain in a standard walking posture until the ball is kicked.
[US-17.8]:
[US-17.9]:
[US-17.10]: Where robots must be moved to comply with this law, the respective designated robot handlers may position them. The designated robot handler may always move the defending goalkeeper into the goal before the start of the penalty kick.
[US-17.11]: The Referee
[US-17.12]: The ball is in play when the referee signals the start of the penalty kick by blowing the whistle and sending the PLAY command..
[US-17.13]: When a penalty kick is taken during the normal course of play, or time has been extended at half-time or full time to allow a penalty kick to be taken or retaken, a goal is awarded if the ball completely passes the goal line between the goalposts and under the crossbar. even if the ball touches either or both of the goalposts and/or the crossbar, and/or the goalkeeper.
[US-17.14]:
The player taking the penalty kick infringes the Laws of the Game:
The goalkeeper infringes the Laws of the Game
[US-17.15]: the kick is retaken.
[US-17.16]: If the ball is touched by an outside agent as it moves forward, then the kick is retaken.
[US-17.17]: then the (a) referee stops play, and (b) play is restarted with a dropped ball at the place where it touched the outside agent.
[US-18.1]: A throw-in is a method of putting the ball back into play after it has left the field by completely crossing either the touch lines or goal lines (outside of the goal lines or above the crossbar) either on the ground or in the air.
[US-18.2]: A ball that has completely crossed the field line (either the touch line or the goal line outside of the goal posts or above the crossbar) results in a throw-in.
[US-18.3]: The game is not stopped for a throw-in.
[US-18.4]: The ball is as quickly as possible placed by the referee 50cm inside of the playing field at one of the touch lines. The position of the throw-in location along the touch lines is determined by the last robot to touch the ball before it went out of bounds.
[US-18.5]: The throw-in location must not be closer than 1 meter to the goal line. If the throw-in location is closer than 1m to the goal line, the ball is placed at the nearest neutral location 1 meter away from the goal line.
[US-18.6]:
[US-19.1]: A unique feature of the united soccer competition is the fact that in spite of soccer being a team sport, each player on the united team will receive an individual score. After the match, the score for an individual player is calculated as follows.
Action | Points |
Scoring a goal by a teammate | +2 |
Scoring a goal by the opposing team | -2 |
Scoring a goal | +10 |
Making a save to prevent a goal | +7 |
Kicking the ball at the passing pole | +2 |
Removal of the player for a 30-second penalty. | -1 |
[US-19.2]: Any robot that has achieved less than one point is awarded no rank and 0 points.
[US-19.3]: Among the robots that have at least one point, the robots are ranked (i.e., 1st place, 2nd place) based on the greater number of points.
[US-19.4]: In case of a tie, the number of goals scored or saves made by the robots are used as a tiebreaker.
[US-19.5]: For more details about the point allocation, please refer to Point Allocation [Organization - HuroCup Laws of the Game].
[US-20.1]: In case of a tie between two robots with the same number of points, the number of goals scored will be used as a tiebreaker.
[US-20.2]: If there is still a tie after applying rule US-20.1, the robot with the maximum number after removal of the negative points scored will be declared the winner.
[US-20.3]: If there is still a tie after applying rule US-20.2, the winner will be determined via a penalty kick of five rounds, which may be continued via a sudden death penalty kick shootout if necessary.
[US-21.1]: To improve the collaboration between the robots, all robots must implement the following communication protocol. This allows robots from different teams to exchange their state, perceptions, and intentions.
[US-21.2]: The communication protocol is also used by the referee to transmit data to the robots, such as the current state of the game.
[US-21.3]: All multi-byte data is send in most significant byte first (MSB) byte order.
[US-21.4]: The maximum message length allowed for a message is 65536 bytes.
[US-21.5]: All data is transmitted via UDP/IP broadcast messages. Since packet delivery is not guaranteed using UDP/IP, certain message blocks may be lost during communication. Robots must be able to function autonomously even under conditions of severe package loss.
[US-21.6]: A message contains a header, the message length, the robot id, a sequence number, the number of objects in the array, an array of objects, and a check sum.
[US-21.7]: Each robot is assigned an ID. The robots defending the left goal will receive IDs from 0 to 10. The robots defending the right goal have IDs 16 to 26. A special ID (32) is assigned to the referee and messages from the referee box.
Name | Type | Comment |
Header | UINT16 | 0xADDE |
Length | UINT16 | Length of the message in bytes |
ID | UINT8 | Robot or referee ID |
Sequence Number | UINT16 | Robots must increment this for each message sent |
Number of Objects NUM | UINT8 | Number of objects in the message |
Objects | OBJECTS[NUM] | The objects describing the state, perceptions, and intentions of the robot |
Dummy | UINT8 | Future extensions, 0x00 for now |
Checksum | UINT8 | Sum of all the bytes in the message |
[US-21.8]: The states, perceptions, and intentions of the robot are transmitted using object messages.
[US-21.9]: All coordinates mentioned in a message are given in millimetres and transmitted as unsigned 16 bit integers (UINT16). The origin of the coordinate system is the point where the goal line of the team's goal intersects the touch line.
[US-21.10]: Positive direction of the X coordinate is along the touch line. Positive direction of the Y coordinate is towards the home goal.
[US-21.11]: All orientation data is transmitted as a signed 16 bit integer in radians multiplied by 10000 (RAD10000). For example, -18023 in RAD10000 is equal to -1.8023 radians or approximately -103 degrees.
[US-21.12]: An angle of 0 degrees is along the positive direction of the X axis (touch line) and $90$ degree is along the positive direction of the Y axis (goal line).
[US-21.13]: Each object has a confidence level associated with it. A robot can use the confidence value to model how sure it is of this object's information. A value of 255 indicates maximum confidence in the object information, a value of 0 indicates low confidence in this information.
State Object
[US-21.14]: A state object describes the current state of the robot. This includes an estimate of the robot's position, the ball positions, own team robots, opponent team robots, and any landmarks.
[US-21.15]: The state object can be used to transmit an estimated map of the environment from the robot's point of view to the other robots on the team.
[US-21.16]: The following table shows the format of the state object.
Name | Type | Comment |
Type | UINT8 | 0=UNDEFINED 1=Own position 2=Ball 3=Team robot 4=Opponent robot 5=Team goal 6=Opponent goal |
Location X | UINT16 | X position of the object in mm |
Location Y | UINT16 | Y position of the object in mm |
Orientation | INT16 | Orientation in RAD1000 |
Confidence | UINT8 | Confidence level |
[US-21.17]: A robot can use a perception object to describe what it is currently or has most recently sensed. If an object is not currently being sensed then a state object should be used to transmit its associated information.
[US-21.18]: The following shows the format of the perception object.
Name | Type | Comment |
Type | UINT8 | 32=UNDEFINED 33=Own position 34=Ball 35=Team robot 36=Opponent robot 37=Team goal 38=Opponent goal 39=Field line 40=Center circle arc |
Location X | UINT16 | X Location of the object in mm |
Location Y | UINT16 | Y Location of the object in mm |
Orientation | INT16 | Orientation of the object in RAD1000 |
Confidence | UINT8 | Confidence level |
[US-21.19]: The following shows the format of the intention object.
[US-21.20]: The offence value indicates the aggressiveness of the intention. A maximum value of 255 would indicate a shot on goal, whereas a value of 0 would indicate a very defensive move such as trying to block a shot on goal. A value of 128 indicates a neutral intention such as receiving a pass.
Name | Type | Comment |
Type | UINT8 | 64=UNDEFINED 65=Shot on goal 66=Play goal keeper 67=Movement |
Location X | UINT16 | X target location in mm |
Location Y | UINT16 | Y target location in mm |
Orientation | INT16 | Target orientation in RAD1000 |
Offence | UINT8 | Aggressiveness of the intention |
[US-21.21]: A controller connected to the same wireless network will transmit messages from the referee to the players.
[US-21.22]: This message includes a bitmask identifying which robots on each team are currently in play or have been penalized with a 30 second removal penalty. Any robot whose id bit is not set must remain motionless.
[US-21.23]: During Game Set, all robots should remain motionless.
Name | Type | Comment |
Type | UINT8 | 96=UNDEFINED 97=Game State |
Team Left | UINT16 | Bitmask of players from the left team that are allowed to play |
Team Right | UINT16 | Bitmask of the players from the right team that are allowed to play |
Time | INT16 | Remaining seconds in the period of play |
State | UINT8 | 0=Game stopped 1=Set: Kick off Left Team 2=Set: Kick off Right Team 3=Play: Kick off Left Team 4=Play: Kick off Right Team 5=Play: Ball in play |
[US-21.24]: A team may use extension objects to transmit additional information as long as it does not violate the bandwidth and transfer rate limits described in US-3.7
[US-21.25]: If desired, multiple extension objects can be transmitted in a message to transmit larger proprietary data.
Name | Type | Comment |
Type | UINT8 | 128=User defined 129 .. 255 |
User defined 1 | UINT16 | Extension data |
User defined 2 | UINT16 | Extension data |
User defined 3 | INT16 | Extension data |
User defined 4 | UINT8 | Extension data |
[1] Note that a goal will not be awarded if, for example, a robot kicks the ball directly from the kick off position at the goalkeeper and it then rolls into the goal. In this case, the touch of the goalkeeper occurred after the robot kicked the ball at the goal. However, if after the touch the goalkeeper pushes it into its own goal, then it is a goal, since the touch occurred before it was kicked/pushed into the goal.