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 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.
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.
Overview of Competition Stages
The competition will consist of four stages:
-
Grab a stationary ball somewhere on the field
-
Score with the ball on an empty goal
-
Score with the ball on a statically defended goal
-
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. Stage 4 has
been removed for the remote competition, as each team may have a different field
setup with different coordinate systems.
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.
Field Setup
The technical challenge has the same requirements for the remote field as the 2021 hardware challenges. The field must be 4x3m or larger. The field will need to have a goal of 0.7m wide, just as in the hardware challenges. The field will need to have a penalty area of 0.8x2m in size just as in the hardware challenges. Additionally participants will require a golf ball and an additional robot that can act as a static defender for stage 3.
Participants should NOT modify the goal or field to aid in navigation or recognition of objects. This includes things like visual fiduciary markers, IR reflectors, non-standard color splotches, etc. Teams should strive to have as close to a regulation Division B field as possible. The TC members reserve the right to ask teams to sweep the camera to show that additional markers have not been added off-frame and may require certain objects/signs/etc. to be covered up or removed during the runs.
Competition Procedure
Each stage will consist of 3 independent trial runs 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. This is further complicated by each team having a remote setup. The TC running the competition will pre-determine starting positions of ball, robot and static defender for each independent trial ahead of the competition. These positions will be specified relative to the common landmark of the goal. The TC will send/show a diagram with these positions to the team during their assigned technical challenge slot and ensure that the robot, ball and static defender are at the approximate positions before the run begins.
Each participating team will have a slot assigned to them to complete the challenge. The trials will be done live on video, just like the hardware challenges teams need to provide a camera that covers the whole field. Participants will do each stage and every trial back-to-back during their assigned time. Teams will have a maximum of 2 hours from the start of their slot to complete all of the trials under the supervision of the TC. Once the two hours are finished, any unfinished trials or stages will receive a score of zero. If teams have technical issues, they can resolve them in between trials, keeping in mind the overall time that all trials must be completed in.
Challenges will be executed on a field of at least 4x3m with a goal size of 0.7m. See the hardware section for more details on the field setup.
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.
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 have been pre-generated by the TC. Just before the trial the TC will show the participant a diagram for the starting configuration and the participant will configure the field as specified. 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.
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.
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.
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. The TC will have pre-generated starting positions for this stage and just before each trial show the starting configuration diagram to the participant. The participants will attempt to replicate this starting configuration on their field setup. In this stage, the goal is for the robot to score on an empty goal. If the team has multiple goals on their field, only the goal used for the initial configuration reference point will count as scoring. 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.
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
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 another robot provided by the participating team. 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. Just as in the previous stages the TC will have pre-generated starting configurations. These configurations will be given to the team just before starting the trial so that the team can configure their field to match as closely as possible.
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
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.
Appendix A: Stage Scenarios
The scenarios for each stage can be seen below, the team has 3 tries in each scenario and there are 3 scenarios per stage, the first one being the easiest, and the last one being the hardest.