RoboCup Soccer (Open)

If you haven't read my previous post on my involvement in RoboCup’s Standard Soccer competition held in 2017, I recommend skimming over it for some context.

Last year, I placed second in the state of New South Wales for my soccer-playing robot. It was constructed out of LEGO Mindstorms hardware (LEGO sensors, clip-in wires and a small computer) and programmed with python. While I was successful in creating a robot that managed to score over most of the competition, I was amazed by the robots that competed in the Open league, designed and constructed from scratch out of a huge variety of materials and electrical components. I wanted the freedom of being able to construct a robot out of any material I wanted, and so me and a partner enrolled in the competition and spent the next few months building two robots that would compete side-by-side on a small field against two opposing bots.

Like the Standard league, robots in the Open league would have to manoeuvre themselves by observing the surroundings and making informed decisions based on what they observe. The design brief was to create a robot which could autonomously navigate around an area about the size of a billiard table, identify a small orange ball and manipulate it into the opposition’s goal. It was difficult knowing where to start, but our previous experience in the 2017 gave us some guidance. Using a variety of sensors, cables, building materials and some hot glue, my teammate and I materialised two fully-functional soccer robots from scratch using a similar design we had planned out (see collaborative diagram and other images below for my robot). Both robots ran off the same code, which we wrote together using GitHub.

We had mixed success on competition day. Some rounds our robots would operate as we had intended them to, and others we couldn’t figure out why they weren't responding properly. Unfortunately, these issues affected us in a later round where a single goal scored against us knocked us out of the competition. While we weren’t as successful as we were last year in the Standard League, we overcame the huge challenge of programming a robot to play soccer autonomously. This competition had a massively positive impact on my ability to design, create and code robots from scratch.

A diagram showcasing the various layers of our robots
Stages to building the base layer
Base layer complete, Raspberry Pi on second layer
Third layer with magnetic compass sensor
My finished robot