Automatic code generation of SIMUROSOT game strategies: an approach based on finite state machines

Robot soccer is a multidisciplinary research field of growing academic interest. Scientific competitions worldwide have driven major technological advances in the field, since research institutes and universities often enroll their robotic teams and present the developments achieved during the previous year. The FIRA is a leading international organization that promotes such type of competition. One of its various competition categories is that of virtual robots competing in a simulation platform called SIMUROSOT. This 3D simulation platform is available so that researchers and students can develop robot teams and test their performance appropriately and repeatedly. The major problem with the mainstream encoding mechanism used in the preparation of robot teams for SimuroSot is the lack of a formal process to standardize the programming and model the game strategies. Such lack of standardization causes several limitations on the competition as a science promoter, namely: (1) the difficulty of understanding other's code, (2) absence of abstraction for the conceiving of game strategies, (3) need for high programming skills in order to produce effective game strategies and (4) lack of clear separation between robots movimentation primitives and specific application domain concerns - in this case, the soccer domain. This paper proposes a semi-formal specification for the modeling of team game strategies to the FIRA SIMUROSOT category. This specification defines two levels of mapping: (1) mapping of the application domain information - in this case, the soccer competition - to Finite State Machines and (2) mapping of Finite State Machines that represent game strategies of a team to their respective coding in a target programming language, making use of coding standards that ensure the readability and maintainability of the final code. Encodings of game strategies in the programming language Lingo has been provided following the proposal. The error-free execution of such encodings on the simulation platform shows the proposal feasibility.