Seminar: Building a Robot Soccer Team, Spring 2017

Course Description

Robot soccer has been adopted as a test bed and progress marker for Artificial Intelligence and Robotics research since 1996. The primary success of soccer as a test bed is that the high-level evaluation of a successful team is readily understandable to everyone: the team that scores more goals, and “plays better soccer”, is likely the team with the most effective innovations.

The goal of this 3-credit seminar is to explore the different sub-problems of AI and robotics as applied to robot soccer, to survey the state of the art, and to implement the most promising approach from each sub-problem.

The expected outcomes of the class is a group understanding of the state of the art in the sub-problems of robot soccer, and to have a codebase with high-quality implementations of the state of the art, which will then be used for the UMass RoboCup team at the 2017 RoboCup competition at Nagoya, Japan . The league that we will be entering in is the Small Size League (SSL). Rules, descriptions, and team description papers of teams from past ROboCup competitions are available on the RoboCup SSL Wiki.


There are no formal prerequisites for the class. However, to succeed in the class, participants must be intimately familiar and experienced in algorithms and data structures especially as applied to AI, linear algebra, vector calculus, and coordinate geometry. Experience in programming in C++ is a strong bonus.

Course Work

We will meet once a week. Every class participant must:
  1. Select one sub-problem to study
  2. Read and understand the papers listed for the sub-problem
  3. Present a subset of the papers to the class
  4. Implement the most effective approach for the sub-problem, in high-quality C++ code.

Code Guidelines

All code must strictly adhere to the Google C++ style guide, and must be consistent with the conventions for the rest of the code base. All code must be well-structured and readable to any C++ programmer. Individual functions must all be unit-tested.


Meetings: Fridays, LGRC A308, Times TBD
Instructor: Joydeep Biswas, joydeepb+seminar [at] cs [dot] umass [dot] edu