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.

1. 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 and ball manipulation) 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.

1.1. 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.

1.2. 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. Score with the ball on a statically defended goal

  4. Move the robot to specific coordinates

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 builds on stage 2 where now the participant’s robot must detect which portion of the goal is unblocked when aiming and shooting.

Stage 4 demonstrates ball manipulation skills and strong localization abilities without the use of the global vision system.

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.

2. Hardware/Software Requirements

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 markings may also be obscured/absent. 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.

3. Competition Procedure

Each stage will consist of 3 independent trial run by each participant. This is to account for any random effects as well as to allow participants to adjust in-between their trials. Scoring will be based on overall performance among the trials for each stage, so it is important for teams to perform consistently well.

While the particular starting configurations of the ball and the robot will be different between stages and trial to trial, the TC member running the competition stage will strive to make the starting conditions similar between each participant for that trial run.

Each stage will be run independently, although scheduling constraints may force each stage to be run back-to-back. In order to make sure that teams have similar time to prepare before the challenge, all participants in that stage will compete at the same time. Participants who are unable to complete a trial for technical reasons will receive no points for that trial, but if the technical issues have been resolved before their next trial(s) they will be allowed to continue participating.

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. Teams should not expect a perfect field with no additional markings, however, attempts will be made to keep the marks minimal and small so as to not interfere with on-board vision solutions. Additionally, teams should expect visual aspects of the field to vary slightly including exact color of the carpet and walls, width of line markings, etc.

Each run will start with a halt command. Just before the start a stop command will be given, but the robot should not move during the stop command. This is just to allow teams a few seconds to initialize any internal state. The run will officially start when a force start command is sent. This will start the timer and at this point the robot may begin moving.

3.1. Stage 1: Grab a Stationary Ball

This stage is designed to be the easiest and 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. Partial points will be awarded, and time will be used for tie-breaking.

For each trial a random robot starting location/orientation and a random ball starting position will be chosen. Both the robot and the ball will start stationary. There are no restrictions on the starting configuration other than that both robot and ball will be somewhere on the field.

Before each run the robot will begin in the halt state. A stop command will be issued to ready the robot, but the robot should not yet move. The run begins with a force start command at which point the timer starts and the robot may attempt to complete the task.

The robot may move anywhere on the field within the walls. The ball may similarly move anywhere on the field throughout the time. Each trial will last a maximum of one minute.

3.1.1. Scoring

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

  • Touching the ball with the dribbler — +1

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

In the event of a tie between participants for this trial shorter times will be used to determine ordering.

3.1.2. Differences to 2019 SSL Vision Blackout Challenge

Unlike the 2019 challenge, there are no restrictions placed on the relative distances of the robot’s start configuration and the ball. The total time to complete each trial has also been increased. Finally, the ball and robot may go out of bounds on the field without ending the trial.

3.2. Stage 2: Scoring on an Empty Goal

This stage is designed to build on stage 1, requiring that participant robot’s can also detect/localize on a goal without the SSL vision software. Like stage 1, the robot will need to detect a ball, move to it and manipulate it. The robot must put the ball into the goal to receive maximum points in the trial.

The robot and ball will start the same as in Stage 1. This time, the goal is for the robot to score on an empty goal. Either goal on the field is acceptable. While scoring the robot may not enter the defense zone. Unlike regular gameplay the ball does not need to stay on the ground in order for the goal to be counted.

Before each run the robot will begin in the halt state. A stop command will be issued to ready the robot, but the robot should not yet move. The run begins with a force start command at which point the timer starts and the robot may attempt to complete the task. Each trial will last a maximum of one minute. The trial will stop when the goal has occurred or time has elapsed.

3.2.1. Scoring

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

  • Touching the ball with the dribbler — +1

  • Ball entered defense zone — +1

  • Ball entered goal — +1

  • Robot entered defense zone — -1

3.3. Stage 3: Scoring on a Statically Defended Goal

This stage is a more complex version of stage 2. The goal is the same, but now there will be a static obstacle placed somewhere inside the defense zone. Unlike stage 2, a specific goal will be designated so that robots can attempt to score on the statically defended goal.

The obstacle will be approximately cylindrical and of the approximate dimensions of a typical SSL robot. The goal is to be able to use local sensing to detect opponent robots in a game like scenario.

The robot and ball will start the same as in Stage 1 and Stage 2. Unlike Stage 2, robots must only score in the designated goal. The target goal will be on the same half that the robot starts on. While scoring the robot may not enter the defense zone. This time the ball must enter the goal via a flat kick to prevent kicking over the obstacle.

3.3.1. Scoring

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

  • Touching the ball with the dribbler — +1

  • Ball entered defense zone — +1

  • Ball entered goal — +1

  • Robot entered defense zone — -1

3.4. Stage 4: 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.

Robots will start at a random location/orientation somewhere on the field. Coordinates/angle will be manually provided to the teams before a run so that they can seed their location tracker with an estimate of the starting configuration. A destination position will be manually given to the teams at the start of the trial. The robots must drive to that position within the time limits. Final orientation does not matter. Teams can enter the initial location and goal position however they want (e.g. typing in numbers to a config before running, a GUI for clicking approximate location on the field, etc.).

Before each run the robot will begin in the halt state. A stop command will be issued to ready the robot, but the robot should not yet move. The run begins with a force start command at which point the timer starts and the robot may attempt to complete the task.

Robots have 1 minute to reach their the defined location. The trial will end when the robot has stopped for 10 seconds (after having moved at least once since the trial start) or time has elapsed. The 10 second stoppage will be subtracted from the total time used to determine tie-breaking.

3.4.1. Scoring

Score is equal to the negative straight line distance between the robot’s final position and the destination position. In otherwords, closer is better.

4. 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.