← all work
/ 06 — 2022 · Solo build

Soccer Robot Omniwheels Simulation.

A Python desktop simulation of omniwheel soccer robots, with physics and PID controls.

PythonTkinterGit
Role
Solo build · Python, Tkinter
Date
2022
Stack
Python · Tkinter · Git
Skills

Why I built it

Omniwheel robots can move in any direction, which makes them popular in robot soccer. I built this simulation to understand how they move, and to test how different control settings change a robot's behaviour before trying them on real hardware.

The idea

A desktop app that shows two robots and a ball on a soccer field, and lets you change the physics and control settings while the simulation runs.

Soccer Robot Omniwheels Simulation window

Key features

  • Physics simulation - omniwheel movement, ball movement and field friction.
  • PID controls - set P, I and D values separately for the player's robot and the enemy's robot.
  • Field settings - change the field friction while the simulation runs.
  • Path display - show or hide each robot's path.
  • Robot field of view - show or hide what each robot can see.
  • Match display - a live score and timer.
  • Simulation controls - start, pause and stop buttons.

How it works

  • Python handles the physics calculations and robot control.
  • Tkinter draws the field, robots and control panel.

Impact

  • Learn by testing - users can see straight away how PID values and friction change a robot's movement.