Title: Playing Robotic Soccer
1Playing Robotic Soccer
2Why soccer game ?
- Advancing through Competition .
- Wide range of Technologies.
- Many AI challenges.
- A well known game.
- Distribution, Cooperation, Sensing.
3CS Freiburg Team - Germany
4Scope
- Robot hardware.
- Architecture.
- Self Localization Algorithm
- - Scan Matching
- The Global Picture.
- Decision making.
- RoboCup 2000 Video.
- Future
5Robot Hardware
- Pioneer 1 robot.
- Video camera vision system.
- Notebook Pentiumâ running Linux.
- WaveLan Radio Ethernet.
- Laser Range Finders.
- Kicking Mechanism.
6(No Transcript)
7Architecture 1
- Autonomous robotic soccer players.
- Local world model.
- Self Localization.
- Player Recognition.
- Ball Recognition.
8What is Self Localization ?
- The process of updating the Pose of a robot in an
environment based on sensors readings. - 3 Major Categories
- Behaviour Based Approaches (blind)
- Land Marks (vision).
- Dense Sensor Matching (laser, sonar).
9Location Realizing
- Problem Given a robot in a known polygonal
environment, how does the robot realize its
location?
Who am I? Where am I?
10- Solution - basic algorithmfind your position
using odometry (x,y,ang)while (1) on every
forward move d and rotation t x x d
cos(ang) y y d sin(ang) ang ang
t find your position using laser scanning
(x,y,ang) use Kalman Filter to calculate
new position - (x,y,ang) as a combination of
(x,y,ang) and (x,y,ang)
11(x,y,ang)
y
x x d cos(ang)y y d
sin(ang)ang ang t
ang
d
y
ang
t
x
x
12- Seems quite simple.But...
- How do you find your position using laser
scanning? - solution Line Matching algorithm.
13Line Matching algorithm
- The Robot has an a-priori model (sketch) of the
environment. - 1. Scan a group S of lines from your
environment. - 2. Find all possible matches between scanned
lines and lines on the a-priori model. Matches
dictate location point. - 3. Choose the most plausible location point.
14A-Priori model of environment
matching..
first match
second match
Real environment
scanning...
15- How do we find all possible matches between a
group of scanned lines S and a group of model
lines M? - we use back tracking recursiveS group of
scanned linesM group of model linesP a
group of pairs, in which we matched p lines
from S with p lines from M. - What we are looking for is a perfect match
(discrete math) for group S, or in other words a
group p for which, P S.
16- The recursive code (Dont panic)
- LineMatch(M, S, P)
- Input model lines M, scan lines S, pairs P
- Output set of possible location points H
- if P S
- H P
- else
- H //Empty group
- s SelectScanLine (S,P)
- for all m in M do
- if VerifyMatch(M, S, P U (m,s) )
- H H U LineMatch(M, S, P U (m,s) )
- return H // Now panic!!!
17Example
m2
p0
m1
m3
,s2
p(s2, m1)
m4
out of the field!!!
p (s2,m1), (s1,m2)
s3
error - killbranch
s1
s2
18Example
m2
p0
m3
m1
,s2
p(s2, m3)
m4
Robot cant be in two places at the same time!!!
p(s2, m3), (s1, m1)
s3
Error, kill branch
s1
s2
19Example
m2
,s2
p0
m3
m1
,s1
p(s1, m3)
m4
p(s1, m3), (s2, m2)
s3
s1
p(s1, m3), (s2, m2), (m4,s3)
s2
Succeeded in finding a location point !!! ( P
s )
20Players Recognition
After finding its location, the robot can scan
other players, whose location is derived from the
robots location. Each Robot sends the
information to the server which can then realize
which of the players is foe and which is friend.
21Ball Recognition
- Color Based Vision System.
22Architecture 1
- Autonomous robotic soccer players.
- Local world model.
- Self Localization.
- Player Recognition.
- Ball Recognition.
23Architecture 2
- Global world model.
- Communication.
- Information to server.
- Clear out! to other players.
- Multi Agent Cooperation (global).
- Action Decision (individual).
- Path Planning.
24Creating World Module
25Global World Model
- Foe / Friend.
- Ball Position.
26Players Actions
- Decision Tree - Parsing on a decision tree
according to the global world model will lead to
one of the following actions - GoTo Position / Ball.
- Observe Ball.
- Search For Ball.
- Move Ball / Kick Ball.
- Clear Out.
- Goal Keeper.
27Ex. A defense player, taking action as the ball
roles in
defense
offense
goalie
Ball approaches
Ball roles away
Observe Ball
In 2nd sector
In my sector
(static)
GoTo Home Position
Block ball
(path planning)
(path planning)
28Path Planning
- Motion Planning with Moving Obstacles..
- Unpredictable Opponents.
- Computationally Demanding.
-
Approximation
29(No Transcript)
30Players Role
PUT THE BALL IN THE GOAL
31Players Role
Lets watch some game Highlights..
32Whats Next ?
- Learning Techniques.
- Player Communication.
- Dynamic Role Changes.
- Humanoid Robot (2050).
- ..
- ..