playing robotic soccer
Download
Skip this Video
Download Presentation
Playing Robotic Soccer

Loading in 2 Seconds...

play fullscreen
1 / 32

Playing Robotic Soccer - PowerPoint PPT Presentation


  • 217 Views
  • Uploaded on

Playing Robotic Soccer. Ofer Elrom & Dvir Afek. Why soccer game ?. Advancing through Competition . Wide range of Technologies. Many AI challenges. A well known game. Distribution, Cooperation, Sensing. CS Freiburg Team - Germany. Scope. Robot hardware. Architecture.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Playing Robotic Soccer' - LionelDale


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
playing robotic soccer
Playing Robotic Soccer

Ofer Elrom

& Dvir Afek

why soccer game
Why soccer game?
  • Advancing through Competition .
  • Wide range of Technologies.
  • Many AI challenges.
  • A well known game.
  • Distribution, Cooperation, Sensing.
scope
Scope
  • Robot hardware.
  • Architecture.
  • Self Localization Algorithm :

- Scan Matching

  • The Global Picture.
  • Decision making.
  • RoboCup 2000 Video.
  • Future …
robot hardware
Robot Hardware
  • Pioneer 1 robot.
  • Video camera + vision system.
  • Notebook – Pentiumâ running Linux.
  • WaveLan Radio Ethernet.
  • Laser Range Finders.
  • Kicking Mechanism.
architecture 1
Architecture [1]
  • Autonomous robotic soccer players.
  • Local world model.
    • Self Localization.
    • Player Recognition.
    • Ball Recognition.
what is self localization
What 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).
location realizing
Location Realizing
  • Problem: Given a robot in a known polygonal environment, how does the robot realize its location?

Who am I?

Where am I?

slide10
Solution - basic algorithm:find 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’’)
slide11

(x,y,ang)

y

x’ = x’ + d * cos(ang)y’ = y’ + d * sin(ang)ang’ = ang + t;

ang

d

y’

ang’

t

x

x’

slide12
Seems quite simple.But...
  • How do you find your position using laser scanning?
  • solution: Line Matching algorithm.
line matching algorithm
Line 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.

slide14

plausible point

A-Priori model of environment

first match:

matching..

second match:

Real environment

scanning...

slide15
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 recursive:S : 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|.
slide16
The recursive code (Don’t 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!!!

example

m2

Example:

p={0}

m3

m1

,s2

p={(s2, m1)}

m4

out of the field!!!

p = {(s2,m1), (s1,m2)}

s3

error - killbranch

s1

s2

slide18

Example:

m2

p={0}

m1

m3

,s2

p={(s2, m3)}

m4

Robot can’t be in two

places at the same time!!!

p={(s2, m3), (s1, m1)}

s3

Error, kill branch

s1

s2

slide19

Example:

m2

,s2

p={0}

m1

m3

,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| )

slide20

Players Recognition

After finding its location, the robot can scan other players, whose location is derived from the robot’s location.

Each Robot sends the information to the server which can then realize which of the players is foe and which is friend.

ball recognition
Ball Recognition
  • Color Based Vision System.
architecture 122
Architecture [1]
  • Autonomous robotic soccer players.
  • Local world model.
    • Self Localization.
    • Player Recognition.
    • Ball Recognition.
architecture 2
Architecture [2]
  • Global world model.
    • Communication.
      • Information to server.
      • “Clear out!” to other players.
    • Multi Agent Cooperation (global).
    • Action Decision (individual).
    • Path Planning.
global world model
Global World Model
  • Foe / Friend.
  • Ball Position.
player s actions
Player’s 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.
ex a defense player taking action as the ball roles in
Ex. – 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)

path planning
Path Planning
  • Motion Planning with Moving Obstacles..
  • Unpredictable Opponents.
  • Computationally Demanding.

Approximation

slide30

Player’s Role

PUT THE BALL IN THE GOAL…

slide31

Player’s Role

Lets watch some game Highlights..

what s next
What’s Next ? …
  • Learning Techniques.
  • Player Communication.
  • Dynamic Role Changes.
  • Humanoid Robot (2050).
  • ..
  • ..
ad