We are excited to announce that after the Soccer Simulator Demo 2021 competition, a similar competition will take place at the RoboCup Worldwide 2021 in June!
In order to participate in the June competition, you first need to qualify in the Qualification Tournaments which will take place in May.
The deadlines look as follows:
Qualification registration deadline: May 17th 2021
Qualification code submission deadline: May 24th 2021
Registering for the Qualification Tournament will be free from charge. We will release more information on how to register and where to submit code in a few days.
In the meantime, feel free to take a look at the website below which contains more information on what will the qualification procedure look like:
Hi, Mareksuppa
My name is Lana and I´m a member of the Aperture Robotics Soccer. Do I need to pay a fee to participate in the competition? and if i go to international competition do I have to pay again?
Note: Registering for the Qualification Tournament will be free from charge. The registration and code submission forms for the Qualification Tournament will be linked here in a few days. Please come back here for registration late April.
Hi there ,
I’m Confused because our code was completely work with with the latest version of RCJ world !
and we didn’t use any extra files or library
It’s work with base files in Controller folder .
Is there any test server like tournament server that we can test our code ?
@abal Your folder structure is OK, but the problem is that within robot1.py, robot2.py and robot3.py you are trying to import rcj_soccer_robot, which does not exist in your submission and therefore the code crashes.
Regarding the new files & folder structure, my team also had difficulties to completely understand it at the very first sight. Maybe it could help if I share what my team found out after investigating the new structure:
The robot.py is the single and most important file which is used by the controller to load and run on behalf each of the three robots, one by one.
The robot1.py and robot2.py and robot3.py are there at least for backward compatibility reason
The demo code for robot.py imports robot1.py and robot2.py and robot3.py to run different codes for different robots if you wish.
That’s not the only way to code, if you don’t need the backward compatibility or you have a single class to implement all three robot’s code, then you may simplify your code.
For example my team left robot1.py and robot2.py and robot3.py almost empty and coded a single ORKASorccerBot class with the RCJSoccerBot ancestor class and had put all these codes to utils.py. After this their code for robot.py is simply this:
from controller import Robot
from utils import ORKASorccerBot
robot = Robot()
robot_controller = ORKASorccerBot(robot)
robot_controller.run()
We assume that the robot folder name and the robot.py naming convention is mandatory to standardize the renaming procedure with all the 50+ ZIP files, when the TC prepares the controller folder structure to run the championship simulations. We assume that each team’s robot folder is extracted and renamed e.g. to a team_number folder and the robot.py is renamed to team_number.py while all the other files you uploaded in your ZIP will stay untouched in the team_number folder. So during packing the ZIP file all the other import files which you used should still remain in your robot folder and packed altogether to the ZIP file. So that after TC unpack your ZIP to the championship simulation folder structure, the controller could open and process the imported files as well.
After learning all these above my team found that this flat folder structure and naming conventions are quite straightforward, and finally found it much easier to work with than it was with the previous version.
I hope we could help some teams with sharing these & wish every team good luck!
This requirement actually comes from Webots – the name of the directory and the name of the “endpoint” Python file needs to be the same. Hence robot/ and robot.py: