AI Football Robot / 2026
Red teamHold the line.
Recognise the goal.
Commit to defence.
A vision-guided football robot with a deliberately defensive match strategy. Embedded perception, simple motor rules and a crowded 3v3 pitch meet in one physical experiment.

Actual match footage. Our strategy puts two defenders near the goal.
See it on the pitch ↗01 / The match strategy
Defence was
the design decision.
Our 3v3 strategy gave two robots defensive roles and one an attacking role. The defenders were intended to find our goal and occupy its left and right sides; the attacker followed the ball. The red-team footage shows that commitment to guarding the opening.
- 01 / FindTurn to see our goal.
The recorded debrief describes rotating to locate the friendly goal.
- 02 / ApproachMove towards the opening.
Use the detected goal and a configured threshold to decide when to stop approaching.
- 03 / DefendOccupy the left and right.
Position two defenders in the opening while a third robot takes the attacking role.
Strategy described in the project debrief, 00:38–01:28. The exact goal threshold and final defender implementation are not present in the supplied controller file.
02 / Start with what the camera sees
A ball. A goal.
Another robot.
Training begins with ordinary views from the robot’s camera: the same object at different distances, angles and positions. The local capture script uses RGB565 colour and QVGA frames.
202 football, 72 goal and 84 robot images are present in the supplied folder. The training screenshot shows a later five-object-label model, so this local capture collection is presented as a source subset, rather than a complete training export.
Collect the environment from the camera’s point of view.
The training interface shows separate ball and goal bounding boxes in a shared image.
The OpenMV controller requests detections and turns object IDs into movement decisions.
03 / What the training run tells us
Small model.
Visible evidence.
The supplied Edge Impulse screenshot records a quantized int8 model and its validation results. These numbers describe object detection on the validation set; match performance involves the controller, contact and the changing scene as well.
Quantized int8 model
Where recognition varies
Per-class F1 from the validation screenshot
Goal labels have the lowest F1 values in this run—an important area to improve for a goal-led strategy.
- Training cycles
- 80
- Learning rate
- 0.001
- Validation split
- 20%
- Augmentation
- Enabled
04 / Inside the controller notebook
What is visible
changes the next move.
The saved controller uses the presence of object labels to select a motor command. Explore its rule order below. It records broader movement experiments; the goal-centre and threshold-based defender described in the debrief is an implementation not included in this folder.
Turn to search
No objects detected: turn for 100 ms, then stop.
A 400 ms interval.
The script requests detections after more than 400 ms have elapsed. This is its configured decision interval, rather than a measured inference latency.
The first matching rule wins.
Ball + goal precedes ball + goal1, then robot1, then ball alone. A red-robot detection is recorded but has no dedicated movement branch.
Make fallback behaviour explicit.
If detections exist but no movement rule matches, the saved script issues no new command. A refined controller would define that state deliberately.
05 / What the pitch teaches
Recognition is
only the beginning.
The recorded debrief reports that the two defenders fitted the goal, while the attacker moved backwards after detecting the ball. It describes a tie, with the team then conceding to their opponents. These observations turn the match into specific next steps for the design.
Check direction before strategy.
The debrief identifies reversed motor direction on the attacker: detecting the ball produced backward motion. A basic forward/turn check needs to come before a full match test.
Make room to see the goal.
From deep corners, the defenders struggled to recognise the goal. The suggested refinement was to move forward slightly before rotating to search again.
Keep the evidence connected.
Goal recognition, position and motor direction all affect the outcome. Future tests can connect validation scores to time covering the goal and recovery after displacement.
Camera-data collection, Edge Impulse training, OpenMV/MicroPython control and a team match strategy. The red robot and defensive approach are identified by the designer.
The supplied folder does not include the imported detection module or trained model. The archive preserves the available source, rather than a complete deployable inference package.
← Return to the project circle









