Soccer Simulation Demo Competition 2021

Dear @Felipe

First of all, I wanted to thank you and all the organizers your kind efforts you did for this amazing competition!

I’m a true enthusiast on how the RoboCupJunior competitions encourage kids to share knowledge and learn from each other. We participated in 2019 Sydney in LightWeight (with LEGO robots :smiley: ) and learned a lot from posters created by other teams. We went there to learn, and I can confirm it was the best source of knowledge we could get.

I know that sharing codes was mentioned from the first steps, and recently was mentioned in the Issues and questions topic as well:

As the virtual competition is something really new, may I share some of my concerns about the “how to” questions I’m recently thinking of. While releasing all the team’s full source code is the most obvious and easiest way to share their knowledge, maybe it has some didactical and practical drawbacks.

  1. With all the hardware requirements in the background, releasing the source code in traditional competitions gives a good hint to other teams, and since hardware evolves dramatically from year to year, it does not really give disadvantage to any team. The next year they can come up with completely new methods and ideas based on new hardware and techniques appearing.
  2. In contrast, in a simulated virtual environment where the software is everything, releasing all the source code could easily mean that any team can start with the last champions’ result, and evolve from there. Teams can use clipboard to copy paste slices of codes even from different teams, finally creating a new code. From the organizer’s perspective, it would be hard if not impossible to check the originality of any source codes. In a few seasons, most of the teams would play the champions’ merged code, hard to differentiate between them, leading to equals in goals and giving luck a much higher role in match results.
  3. By sharing the code the human connection could be lost between teams. If the code is there, no need to chat, discuss, etc.
  4. Coaching my team I would not like them to learn by reading other team’s ready source codes. I’d rather like them to learn by analyzing and experiencing, and designing / developing code through failing. It was really heart warming for me to see them replaying the simulated matches, and trying to figure out which team did what and why. They had about a dozen of new ideas just from watching the matches. I know that coding can be hard, it is for my team as well, but they can google up slices of codes if they get stucked with Python.

So I would not recommend to release full source codes, but rather open this question to the community, and with their help work out a bit more sophisticated way of knowledge sharing.

Some ideas:
A. Teams could earn points not only by winning matches but by other means as well.
B. Posters are important part of the traditional competitions, why not transfer this to the simulation environment? Simulation posters could be a requirement maybe with slightly different areas, e.g. instead of hardware, maybe more detailed strategy and techniques.
C. On posters each team could share some of their code, e.g. the slices they most proud of. I admit the importance of learning from slices of source codes as well :slight_smile:
D. Maybe teams could earn some points to get in contact with other teams before the competition, and help each other in questions the other team has.
E. It would be nice to have an online evaluation environment which could serve trial code uploads before final deadline as well as for autonomous play of the uploaded codes with earlier season’s selected team’s code. This way anyone could try their current code against e.g any earlier champion’s code. Maybe the resource have to be restricted for a limited trials per day for practical reasons, but anyway, this would give a big challenge opportunity. Any code still wanted to be shared could be built into the example codes of the installation files.
F. Etc. I’m pretty sure other teams would also have really cool ideas :smiley:

What do you think?
Could these questions be opened to the teams and the community?

If you plan an online meeting to discuss technical questions, do you think it could serve as an opportunity to discuss also knowledge sharing with the community?

Thanks & best regards,
Robert

3 Likes