References to the male gender in the rules with respect to referees, team members, officials, etc. are for simplification and apply to both males and females.

Goals of the Technical Challenge

The goal of this technical challenge is to incentivize teams to explore local sensing and processing rather than the typical SSL approach of an off-board computer and a global set of cameras sensing the environment. While the main league still uses the standard SSL vision software with overhead cameras, there is desire to reduce the reliance on this vision system. We believe that not only will more distributed sensing and processing on robots help advance research in this league, it will provide a benefit to teams who take this approach.

Overall, this technical challenge will focus on demonstrating standard SSL soccer skills (e.g. locomotion, ball manipulation and colaboration between robots) in without the ssl-vision software running. The challenge is split into multiple stages designed to have different levels of difficulty, with each stage building on the skills of the prior.

Participation Requirements

Anyone participating in SSL RoboCup is eligible to participate in this challenge. Anyone participating must publish their approach to solving this technical challenege after the competition has concluded. The goal of forcing publication is that other participants in the league and the wider research community can learn and benefit from those that participated. Teams are also encouraged to present their approach in the poster sessions.

Overview of Competition Stages

The competition will consist of four stages:

  1. Grab a stationary ball somewhere on the field

  2. Score with the ball on an empty goal

  3. Move the robot to specific coordinates

  4. Score an indirect goal (two robots needed)

Stage 1 is designed to demonstrate basic sensing and locomotion capabilities of each participating team.

Stage 2 is designed to demonstrate similar skills to stage 1 plus the ability to localize and aim at a known target on the field.

Stage 3 demonstrates strong localization abilities without the use of the global vision system.

Stage 4 is designed to demonstrate coordination skill of multiple robots without vision. The robots must colaborate to pass and score the goal.

We believe that teams who can complete even a single one of these skills without the vision system information will have an advantage in the main competition over those teams who rely solely on the global vision system.

The following sections describe the hardware requirements, and procedures of each stage. The final chapter describes overall scoring that will be used to determine the winner.

Hardware/Software Requirements

Robot Hardware

While we encourage participants to attempt the use of their blackout solutions during main competition to help deal with noise and dropouts in the global vision system, we recognize that integration into the main competition robots is a difficult task. For these reasons, the hardware restrictions are relaxed for this technical challenge.

Teams may still remotely control their robots during normal competition, however, we encourage teams to experiment with onboard processing and autonomy. Regardless of where the control software executes, team will not receive data from the SSL vision software. Teams will still receive start, stop, and halt ref commands which will be used to initiate and stop trials of each stage.

All robot hardware requirements apply to this challenge EXCEPT the height restrictions and the pattern markings. Participant robots may be taller than the rules dictate. The vision pattern on-top of the robot MUST be covered or removed to guarantee that ssl-vision is not being utilized. However, other rules such as maximum speed, kick power, ball manipulation strategies, etc. must still be observed.

There are no restrictions on onboard sensor types. External sensors not attached to the robot are not allowed for this competition. We encourage teams to be creative in their choice of sensors and their strategies for completing each stage of the challenge. There is no restriction on processing power or where the processing takes place. However, keep in mind that bandwidth at competition is limited, so solutions requiring streaming large amounts of data wirelessly will likely not work.

Competition Procedure

There are multiple stages with increasing difficulty. Each stage have three different situations. Participants will have only one trial per situation (three trials per stage). All trials will be considered for the overall score.

Each trial will be attempted by all participants, one after another. The starting configuration of the trial will be similar for each team to achieve same conditions for all participants.

If a participant can not attempt a trial for what ever reasons, no points are awarded for this trial. Other trials are not effected.

The robots may move anywhere on the field within the walls. Similarly, the ball may move anywhere on the field throughout the time. Any defined positions will always be inside the field boundaries.

Field setup

Challenges will be executed on a Division B sized field as described in the main SSL rules.

Because the vision patterns are not required, markings may be added to the field before a run to help the human judges verify that the robots are reaching the desired positions and orientations. Participants should not expect a perfect field with no additional markings. However, attempts will be made to keep the marks minimal and small to not interfere with on-board vision solutions. Additionally, participants should expect visual aspects of the field to vary slightly, including the exact color of the carpet and walls, the width of line markings, etc.

Referee commands

Each trial will start with a HALT command. Just before the start, a STOP command will be given to allow participants to prepare. When a FORCE START command is sent, the timer is started and robots may move. The trial will be stopped with a HALT command after successful challenge completion or after the time ran out

Scoring

Each stage may define a set of criteria which give positive or negative points. Points will also be given if the overall objective was not achieved. The duration of a trial is used as a tie-breaker (faster is better).

Stage 1: Grab a Stationary Ball

This stage is designed to be the easiest and to demonstrate basic sensing and control capabilities. The robot will need to detect a ball on the field, navigate to it, and place it on its dribbler.

Procedure

  • The supervisor defines random starting positions for robot and ball, as well as a random orientation for the robot.

  • Robot and ball are placed on their starting positions

  • The trial is started

  • The trial is stopped after one minute or if the robot did not move for 10 seconds after moving at least once

Scoring

  • Touching the ball with any part of the robot — +1

  • Touching the ball with the dribbler — +1

  • Robot stopped with the ball touching the dribbler at the end of the run-- +1

Stage 2: Scoring on an Empty Goal

This stage requires robots to localize a goal as well as the ball on the playing field, move to the ball and score a goal.

Procedure

  • The supervisor defines a random robot starting position and orientation

  • The supervisor defines a random ball starting position

  • Robot and ball are placed on their starting positions

  • The trial is started

  • The trial is stopped after one minute or if the robot scored a goal

Additional Rules

  • Either of the two goals may be used for scoring

Scoring

  • Touching the ball with any part of the robot — +1

  • Touching the ball with the dribbler — +1

  • Ball entered any defense zone — +1

  • Ball entered any goal — +1

  • Robot entered any defense zone — -1

Stage 3: Moving to Specific Coordinates

This stage is designed to demonstrate localization capabilities without the use of the global vision system. No ball will be used for this stage.

Procedure

  • The supervisor defines a

    • random robot target position (no specific orientation is required)

    • random robot starting orientation

    • random robot starting position seed

  • Participants may enter the starting position seed and the target position into their robot configuration

  • The supervisor defines a random robot starting orientation

  • The supervisor defines a random robot starting position that is within 0.5 m distance to the position seed

  • The robot is placed on its starting position and turned to its starting orientation.

  • The trial is started

  • The trial is stopped after one minute or if the robot did not move for 10 seconds after moving at least once

Scoring

The score is equal to the negative straight line distance between the robot’s final position and the destination position. (In other words, closer is better)

Stage 4: Scoring an Indirect Goal (without Obstacles)

The objective of this stage is to score an indirect goal using two robots. Robots are required to recognize other robots, receive a ball, coordinate between each other and finally to score a goal.

Procedure

  • The supervisor defines a random ball starting position seed in the positive field half (positive x-coordinates)

  • Robot 1 is placed on starting position [0.5 m, 1.5 m, 0°]

  • Robot 2 is placed on starting position [0.5 m, -1.5 m, 0°]

  • The ball is placed on a random starting position within 0.5 m distance of the position seed.

  • The trial is started

    • The first robot that touches the ball will be considered the passer, and the other, the receiver.

  • The trial is stopped after two minutes or if a robot scored a goal

Scoring

  • Touching the ball with any part of the passing robot — +1

  • Touching the ball with the passing robot dribbler — +1

  • Pass hits receiver robot — +1

  • Pass hits the receiver robot dribbler — +1

  • If both robots have touched the ball:

    • Ball entered any defense zone — +1

    • Ball entered any goal — +1

  • Robot entered any defense zone — -1

Overall Scoring

As each stage is quite different in terms of scoring, in order to determine an overall winner, each stage will be ranked individually by total score. Depending on ranking in the category, each participant will get an amount of overall points. The amount of points is equal to the number of participants - placement in that stage. For example, with 7 participants, first place gets 6 points, second place gets 5, etc.

Each of the stage points will then be totaled to determine an overall winner. Therefore, performance in all stages is considered equal in the final scoring.

In the event of a tie, the team with the lowest total time across all the stages will win.