Presentation is loading. Please wait.

Presentation is loading. Please wait.

RoboSina from Scratch Submitted as partial Fulfillment for the Requirements of the degree of Bachelor of Science In Software Engineering By Mostafa Rafaie-Jokandan.

Similar presentations

Presentation on theme: "RoboSina from Scratch Submitted as partial Fulfillment for the Requirements of the degree of Bachelor of Science In Software Engineering By Mostafa Rafaie-Jokandan."— Presentation transcript:

1 RoboSina from Scratch Submitted as partial Fulfillment for the Requirements of the degree of Bachelor of Science In Software Engineering By Mostafa Rafaie-Jokandan & Nima Kaviani

2 1. Introduction 2. Simulation System and Soccer Server 3. Learning Algorithms used in RoboSina 4. Prominent Aspects of RoboSina 5. RoboSina Agent and Learning 6. Suggestions and Conclusion

3 Introduction Why RoboCup? An approach to Distributed Artificial Intelligence DAI vs CAI Where are we moving toward? Who were we in RoboSina?

4 Simulation System & Soccer Server What is a Simulation System? Why Simulation? Soccer Server

5 Match Rules Controlled by Soccer Server Controlled by Human Properties of the Simulated Pitch A 105.0 * 68.0 field covered by flags Goal widths are twice a real one

6 Some of predefined parameters for Soccer Server

7 A Simulated Field

8 Models used in Soccer Server Movement Model Visual Model Aural Model

9 Visual Model (see ObjName Distance Direction DistChng DirChng BodyDir HeadDir) ObjName ::= (p Teamname UniformNumber goalie) | (g [l|r]) | (b) | (f c) | (f [l|c|r] [t|b]) | (f p [l|r] [t|c|b]) | (f g [l|r] [t|b]) | (f [l|r|t|b] 0) | (f [t|b] [l|r] [10|20|30|40|50]) | (f [l|r] [t|b] [10|20|30]) | (l [l|r|t|b])

10 Visual Formulas prx = pxt pxo pry = pyt pyo vrx = vxt vxo vry = vyt vyo Direction = arctan(pry/prx) ao erx = prx/Distance ery = pry/Distance DistChng = (vrx erx) + (vry ery) DirChng = [((vrx ery) + (vry erx))/Distance] (180/π) BodyDir = PlayerBodyDir gentBodyDir AgentHeadDir HeadDir = PlayerHeadDir AgentBodyDir AgentHeadDir Noise Formulas d = Quntize ( exp(quantize(log(d). quantize – step )), 0.1) Quantize (V, Q) = ceiling(V/Q) * Q Visual Model

11 90 45

12 Aural Model (hear Time Sender Message)

13 Movement Model

14 Movement Noise Model

15 Catch Dash & Stamina Model Kick Tackle Turn Move Turn-Neck Point to Focus Say Change View Score Actions for an Agent

16 Heterogeneous Players Do you know how a body builder differs a normal human? Acting in an environment with heterogeneous creatures covers all possible properties Coach Mapping of DAI to CAI with restricted bandwidth in communication What was the role of Jose Morinio in a team if we didnt have a coach?!!!

17 Learning Algorithms Definition Decision Trees Artificial Neural Networks

18 Learning Algorithms- Keywords Environment Property State Goal Learning Algorithm

19 Learning Algorithms- Keywords Property i State1 State2 State3 Goal State

20 Decision Trees Definition ID3 Basis ID3 Formulas ID3 Algorithm What is C4.5

21 Decision Trees - Definition A powerful tool for Inductive Inference Proposing a model for discrete environments Resistance against Noisy Data

22 ? ? Outlook = Sunny, Wind = Weak, Humidity = High D=( ) Playing a Soccer Game in case of having a weather with conditions D

23 Decision Trees – ID3 Basis Occams Razor, mid of 14 th century It is vain to do with more what can be done with less… entities should not be multiplied beyond necessity

24 Decision Trees – ID3 Formulas

25 Decision Trees – ID3 Algorithm

26 Decision Trees – C4.5 A developed software on the basis of ID3 Its abilities Avoiding over fitting the data Reduced error pruning Rule post-pruning Handling continuous attributes Handling attribute with different costs Choosing an appropriate selection measure Handling training data with missing attribute values Improving computational efficiency

27 Neural Networks Definition A Mathematical Representation BackPropagate Basis BackPropagate Algorithm

28 Neural Networks- Definition A mathematical model of humans neurons Its abilities Association, Clustering, Classification Pattern Recognition Generalization, Reference Improvement Classification on the basis of Learning Algorithm Supervised Unsupervised => Competitive

29 Neural Networks- Math Representation

30 Neural Networks- BackPropagate Basis A supervised learning algorithm Works on the basis of revising Weight Values Training Example (x, t) where x represents the entry, and t is the expected output value a i (l) representes the output gerenrated by the network in the layer named l x = a i (0) m is the frequency for the execution of learning algorithm

31 Neural Networks- BackPropagate Algorithm

32 Prominent Aspects System Architecture Localizing an Agent Intercept Dribble Formation Defense System Play With Ball System

33 System Architecture Describe the structure of the system's components Functional Architecture Operational Architecture Implementation Architecture Brief view to Functional Architecture

34 System Architecture- Functional Architecture

35 Localizing an Agent What is localization? f

36 Localizing an Agent A new approach used It deals with points rather than edges Uses a swipe line to find active edges A point will be added if : 1.It is a result of an intersection 2.It is surrounded by both active edges of the other polygon Stops after reaching the end point of a polygon It is executed in O(m+n) for 2 polygons T(n) = 2T(n/2) + O (n) It is executed in O(nlogn) using divide and conquer for n polygons

37 Intercept As a skills Intercept the ball in at any distance. As a strategy utility Determine ball owner Predict ball owner Determine who must be intercept ball. Need to communication to enhance its efficiency

38 Dribble Running with the ball from one point to another as quickly as possible Misleading obtrusive defender Holding ball if it is need.

39 One, Two Dribble

40 Mislead

41 Formation Usage Determine Agent position relative to the ball position New Works New Floating Formation Adding A Free midfielder Implementing the main formation as 4-2-3-1 Implementing forwards press.

42 New Floating Formation The 4-2-3-1 formation is the main formation. 4231

43 New Floating Formation 4 The 4-2-4 formation is a fully offensive formation. 24

44 Defense System Skills Block Mark Strategy Offside line Press

45 Defense System- Block

46 Defense System- Mark

47 Defense System- Offside Line NO, offside!!!

48 NO, I lost the ball !!

49 Play With Ball System Coming soon !!! It will be published within early days.

50 RoboSina Agent & Learning Agent learns to Shoot Neural Network and training a shoot skill Using BP and Matlab Agent learns to Pass Decision Trees and training a pass skill Using ID3 and C4.5

51 Learning how to Shoot Problem Definition Mapping the environment to a discrete model 6 input entries 6 output entries Grabbing relevant properties Using trainer to collect training samples Choosing the proper target to shoot Making the appropriate Neural Network Modeling the network with matlab A 2 layer network tgsig as activation function in the first layer logsig as activation function in the second layer Applying training samples to the network Results

52 Failed 1 st Successful State Last Successful State State 19 = 100111 State 28 = 111001 State 24 = 110001 (b x, b y ) (g x, g y ) dist cb dir cb 1 0 0 0 1 1 b x b y g x g y dist cb dir cb

53 Shoot- Results Harms Very time consuming method!! Algorithm Occurrence in 8 matches Success NumSuccess Percentage Computational1419365.9% Learning17312672.8%

54 Learning how to Pass Problem Definition Grabbing relevant properties Using trainer to collect training samples Making the appropriate Decision Tree using C4.5 to create the tree Creating pass.names file applying training samples to the tree Creating file Results


56 Pass- Results Pass ProbabilityOccurrence in 8 matches Success NumSuccess Percentage 85-100%91275378.3% 70-85%32818757.01% 55-70%1689254.7% Harms Partial Observation causes problems Body direction of the receiver is ignored during the train

57 RoboSina Project Honors Championship of the 3 rd US-Open RoboCup Competitions, May 2005, Atlanta, USA 2 nd place of the 3 rd Iranian Open RoboCup Competitions, April 2005, Tehran, Iran 5 th place of RoboCup World Cup 2004, Lisbon, Portugal Championship of the 2nd US-Open RoboCup Competitions, May 2004, New-Orleans, USA Championship of the 2 nd Iranian Open RoboCup Competitions, March 2004, Tehran, Iran 10 th place RoboCup World Cup 2003, Padova, Italy

58 Conclusions & Suggestions

59 Acknowledgements

60 Thank you very much for being here Any Question? We are ready to Answer

Download ppt "RoboSina from Scratch Submitted as partial Fulfillment for the Requirements of the degree of Bachelor of Science In Software Engineering By Mostafa Rafaie-Jokandan."

Similar presentations

Ads by Google