Artificial Intelligence

Getting Started

This page will try give a quick rundown on how to get started on working with and running the AI code. If you are looking for how to get up and running with the AI code itself, you should check out our How to on the Github.

All the puzzle pieces

There are quite a lot of pieces of software involved in AI. All these pieces have to properly fit together, meaning they have to be able to talk to each other. This can be quite tricky as there are different possibilities in terms of setup. During development, you probably have everything running on the same machine. But at an actual match, you will have different machines running the AIs, vision, game controller and referees. To add to the complexity, a game can be played in the real world with actual robots or with a simulator.

You will need to familiarize yourself with all these pieces, which can be done with the information that is made available in this wiki and their respective Github READMEs. Some of these pieces were not created by us but other developers within the RoboCup community.

Here is a list of all pieces of the puzzle to play a game:

  • AI - Controls the robots
  • Robothub - Sends commands to robots
  • Observer - Convert Vision data to useful date
  • Game Controller - Controls the game
  • Referee - Referee of the game
  • Basestation - The physical purple box
  • Simluator - Faking Vision
  • Vision - Uses camera to decide what is a robot and what is not

On this part of the wiki you will find all the theory and reasoning behind the structure and implementation of the code for our AI. Our codebase is fully open source and can be found on Github. In the code you can find some additional documentation that is related to specific parts of code. We also created a GitHub Pages that shows this code related documentation more comprehensively.

The Artificial Intelligence (AI) system used within RoboTeam Twente (RTT) is referred to as Skill, Tactic, Role, Play (the R of Role is silent as it is a differing interpretation of the original Skill, Tactic, (Role,) Play (STP) that will be explained later). It is a hierarchical architecture first introduced into the Small Size League (SSL) RoboCup in 2003 by the team CMDragons.

  • AI Artificial Intelligence.
  • AP Application Manager.
  • RTT RoboTeam Twente.
  • SM State Machine.
  • SSL Small Size League.
  • STP Skill, Tactic, (Role,) Play.
  • (E)TDP (Extended) Team Discription Paper.