Soccer Playing Robot Goal Scoring Algorithm Using Fuzzy Petri nets Paul Brodhead, Garrett Hope, and Seung-yun Kim Department of Electrical and Computer Engineering The College of New Jersey Ewing, NJ 08628, USA {brodhep1, ghope1, kims}@tcnj.edu Abstract To facilitate the creation of a robotic soccer team, a robust kicking strategy and algorithm must be developed. Through the use of Fuzzy Petri nets, a strategy was made and developed into an algorithm to produce a 95% success rate. Image processing and recognition was used to implement this algorithm onto NAO robots. 1 Introduction Creating a fully autonomous team of robot soccer players has been a goal of the robotics community for a long time. The RoboCup Federation has made it it’s mission to create a team of robot soccer players that can beat a world class team [11]. To further this goal, it is necessary to have a robust and effective strategy for players to score goals. Players on the field must have a way to effectively send a ball into the opponent’s goal while it is being defended by a goalie. Petri nets (PNs) are an effective way to get to this stage. A PN is a type of directed graph that is typically used in modelling systems, algorithms, and workflows. These systems can then be described as a list of “if-then” statements for implementation into any number of real-world situations. This along with the ability to simulate the effectiveness of a system makes PNs extremely useful and versatile in algorithm development. Many researchers have been using PNs to help visualize the problems, ranging from modeling methodology of controlling autonomous robots [6], as well as to implement an optimal object avoidance approach for autonomous mobile robots [8]. This paper also focuses on a subset of PNs called Fuzzy Petri Nets (FPNs). An FPN combines the nature of uncertainty found in fuzzy logic with the graphical nature of Petri nets [3], allowing for more powerful algorithm development and analysis tool. This ability to incorporate uncertainty provides a more appropriate methodology to the development of artificial intelligence. For example, FPNs were used to develop an algorithm for efficient obstacle avoidance techniques using a memory module [2]. The algorithm development process is described in the following sections: Section 2 details the background of Fuzzy Petri nets, NAO Robots, the RoboCup, and Image Processing; Section 3 goes through the methodology of building the new algorithm, along with its implementation on real NAO EPiC Series in Computing Volume 69, 2020, Pages 317–326 Proceedings of 35th International Confer- ence on Computers and Their Applications G. Lee and Y. Jin (eds.), CATA 2020 (EPiC Series in Computing, vol. 69), pp. 317–326