Title: RoboSina from Scratch
1RoboSina from Scratch
By Mostafa Rafaie-Jokandan Nima Kaviani
- Submitted as partial Fulfillment for the
Requirements of the degree of - Bachelor of Science
- In
- Software Engineering
2- Introduction
- Simulation System and Soccer Server
- Learning Algorithms used in RoboSina
- Prominent Aspects of RoboSina
- RoboSina Agent and Learning
- Suggestions and Conclusion
3Introduction
- Why RoboCup?
- An approach to Distributed Artificial
Intelligence - DAI vs CAI
- Where are we moving toward?
- Who were we in RoboSina?
4Simulation System Soccer Server
- What is a Simulation System?
- Why Simulation?
- Soccer Server
5Soccer Server
- 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
6Some of predefined parameters for Soccer Server
7A Simulated Field
8Models used in Soccer Server
- Movement Model
- Visual Model
- Aural Model
9Visual Model
- (see ObjName Distance Direction DistChng DirChng
BodyDir HeadDir) - ObjName (p Teamname UniformNumber goalie)
- (g lr)
- (b)
- (f c)
- (f lcr tb)
- (f p lr tcb)
- (f g lr tb)
- (f lrtb 0)
- (f tb lr 1020304050)
- (f lr tb 102030)
- (l lrtb)
10Visual Model
- 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/p) - 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
11Visual Model
45
90
12Aural Model
- (hear Time Sender Message)
13Movement Model
14Movement Noise Model
15Actions for an Agent
- Catch
- Dash Stamina Model
- Kick
- Tackle
- Turn
- Move
- Turn-Neck
- Point to
- Focus
- Say
- Change View
- Score
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?!!!
17Learning Algorithms
- Definition
- Decision Trees
- Artificial Neural Networks
18Learning Algorithms-Keywords
- Environment
- Property
- State
- Goal
- Learning Algorithm
19Learning Algorithms-Keywords
Propertyi
State1
20Decision Trees
- Definition
- ID3 Basis
- ID3 Formulas
- ID3 Algorithm
- What is C4.5
21Decision Trees - Definition
- A powerful tool for Inductive Inference
- Proposing a model for discrete environments
- Resistance against Noisy Data
22Playing a Soccer Game in case of having a
weather with conditions D
?
?
Outlook Sunny
D(
, Wind Weak,
)
Humidity High
23Decision Trees ID3 Basis
- Occams Razor, mid of 14th century
- It is vain to do with more what can
- be done with less entities should
- not be multiplied beyond necessity
24Decision Trees ID3 Formulas
25Decision Trees ID3 Algorithm
26Decision 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
27Neural Networks
- Definition
- A Mathematical Representation
- BackPropagate Basis
- BackPropagate Algorithm
28Neural 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 gt Competitive
29Neural Networks- Math Representation
30Neural 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 - ai(l) representes the output gerenrated by the
network in the layer named l - x ai(0)
- m is the frequency for the execution of learning
algorithm
31Neural Networks- BackPropagate Algorithm
32Prominent Aspects
- System Architecture
- Localizing an Agent
- Intercept
- Dribble
- Formation
- Defense System
- Play With Ball System
33System Architecture
- Describe the structure of the system's components
- Functional Architecture
- Operational Architecture
- Implementation Architecture
- Brief view to Functional Architecture
34System Architecture-Functional Architecture
35Localizing an Agent
36Localizing 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
- It is a result of an intersection
- 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(mn) for 2 polygons
- T(n) 2T(n/2) O (n)
- It is executed in O(nlogn) using divide and
conquer for n polygons
37Intercept
- 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
38Dribble
- Running with the ball from one point to another
as quickly as possible - Misleading obtrusive defender
- Holding ball if it is need .
39Dribble
40Dribble
41Formation
- 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.
42New Floating Formation
- The 4-2-3-1 formation is the main formation.
43New Floating Formation
- The 4-2-4 formation is a fully offensive
formation.
44Defense System
- Skills
- Block
- Mark
- Strategy
- Offside line
- Press
45Defense System- Block
46Defense System- Mark
47Defense System- Offside Line
48(No Transcript)
49Play With Ball System
- Coming soon !!!
- It will be published within early days.
50RoboSina 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
51Learning 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
52Failed
(gx, gy)
(bx, by)
distcb
dircb
1 0 0 0 1 1
bx by gx gy distcb dircb
1st Successful State
State 19 100111
State 24 110001
State 28 111001
Last Successful State
53Shoot-Results
- Harms
- Very time consuming method!!
54Learning 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 pass.data file
- Results
55(No Transcript)
56Pass-Results
- Harms
- Partial Observation causes problems
- Body direction of the receiver is ignored during
the train
57RoboSina Project
- Honors
- Championship of the 3rd US-Open RoboCup
Competitions, May 2005, Atlanta, USA - 2nd place of the 3rd Iranian Open RoboCup
Competitions, April 2005, Tehran, Iran - 5th place of RoboCup World Cup 2004, Lisbon,
Portugal - Championship of the 2nd US-Open RoboCup
Competitions, May 2004, New-Orleans, USA - Championship of the 2nd Iranian Open RoboCup
Competitions, March 2004, Tehran, Iran - 10th place RoboCup World Cup 2003, Padova, Italy
58Conclusions Suggestions
59Acknowledgements
60Thank you very much for being here
- Any Question?
- We are ready to Answer