The Software sub-team is in charge of the Artificial Intelligence of the robots. In other words, they are responsible for the decision making and control that allows the robots to move intelligently and work together as a team.
The sub-team is made up of students from Computer Engineering, Engineering Physics, Computer Science, and many other students that all share a passion for programming, AI, and soccer. As junior members gain experience through training, new-members challenges, and exposure to the codebase, they are able to build upon previous iterations of the team to constantly work towards a better AI.
Since the inception of the team, all the software has been written from scratch. The team constantly iterates to improve the decision making, precision, and adaptability of the AI, tuning it so that the robots perform better each year. Software quality, cleanliness, and performance (both in terms of runtime and gameplay) are of utmost importance to the team.
The team meets weekly to discuss how the AI could be improved, assign new projects, and test features that are in development. Most testing is facilitated by an open-source simulator called grSim, which allows changes to be easily tested while they are in development. Once changes are ready, it is tested on the actual robots, which gives a much more accurate depiction of the behaviour.
Ultimately, the Software sub-team strives to improve the AI of the robots to perform better in each competition. Working to maintain a strong, foundational codebase as well as a well-trained and knowledgeable team is crucial to the software’s success, and are principles that will always be upheld as the team continues to evolve.