Skip to content
HYHanie Yazdi
CV
← All projects

Project · 2023 · Python · Webots

RoboCupJunior Soccer Simulation team

A controller for a three-robot team, written in Python on Webots with the high-school students coached for the competition. Leaderless role assignment, a message protocol between robots, ball prediction and PD steering.

RoleCoach and co-author
Teamdef End
StackPython, Webots
RepoHani256/robocup-soccer-sim
3rdRoboCup 2023, France
2awards: technical challenge, poster
3robots, one shared role function
3unsticking mechanisms

What it is

A controller for a team of three robots in the RoboCupJunior Soccer Simulation league, written in Python on Webots together with the high-school students of the team.

Webots soccer field with three robots per team and the ball
A match in Webots.

The league

RoboCupJunior Soccer Simulation runs in Webots. Each team has three differential-drive robots. Each robot only knows what its own sensors tell it: an IR ball sensor, GPS, a compass and four sonars, all with noise. Teammates share a radio channel the opponents cannot hear. A match is two 10-minute halves with an automatic referee. The referee moves a robot that barely moves for 15 seconds, or that stays in its own penalty area for more than 15 seconds. The code is written in Python.

Leaderless role assignment

Every robot computes the role assignment itself, with the same function on the same shared data, so all three reach the same answer and no robot acts as leader.

  • A message protocol between the robots shares positions and state.
  • Ball position prediction, so robots move to where the ball will be.
  • Three separate unsticking mechanisms. The referee relocates any robot that does not make progress for 15 seconds.
  • PD steering, not PID.

Some names in the code are Finglish team jokes. The README explains them.

Result

With this code, team def End placed 3rd in the RoboCupJunior SoccerSim Challenge at RoboCup 2023 in France, and won the Best Technical Challenge and Best Poster awards.

RoboCupJunior SoccerSim 2023, 3rd place
3rd place
RoboCupJunior SoccerSim 2023, Best Technical Challenge
Best Technical Challenge
RoboCupJunior SoccerSim 2023, Best Poster
Best Poster

github.com/Hani256/robocup-soccer-sim