Tele-Talk - uni
Download
Report
Transcript Tele-Talk - uni
Bernhard Nebel, Albert-Ludwigs-Universität Freiburg
How Much Intelligence Do
You Need to Play Soccer?
Soccer and Intelligence?
Robotic Soccer and the RoboCup Competitions
CS Freiburg: Hardware and Software Architecture
Cooperative Sensing
From Perception to Action
Team Play: Dynamic Role Assignment
Conclusions & Outlook
Soccer and Intelligence?
Do you really need any intelligence in order to play
soccer?
Isn’t it just a reactive game?
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
2
Soccer and Intelligence!
Reconstruction of environment from sensor data
Spatial reasoning
Being able to select the right motor skill (and
parameterize it) in order kick the ball into the right
direction
Strategic thinking and acting
Proactive in order to create opportunities
Reactive in order to exploit opportunities
Insects do not play soccer
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
3
Why Robotic Soccer?
Chess is “solved”
Robotic soccer has a number of interesting properties
(that makes it different from chess)
uncertainty in sensor interpretation and acting, a highly
dynamic environment, and the need for cooperation
Challenge for designing integrated systems that “close
the loop”
Solutions have relevance for other areas, in particular
for multi-robot systems (e.g., teams of cleaning robots)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
4
The RoboCup Initiative
Alan Mackworth 1993:
Integration of AI, Robotics,
MAS, Real-Time Reasoning
RoboCup [Kitano et al 97]:
RoboCup leagues:
Goal against RMIT Raiders (Melbourne)
(RoboCup´99)
B. Nebel, Univ. Freiburg
Workshops & Competitions
Simulation league
F180 (small) league
Aibo (Sony dog) league
F2000 league (4 players/team,
4x9 m field)
Challenge:
Win against human world
champion by 2050
How Much Intelligence Do You Need to Play Soccer?
5
Competitions & Science
Competitions push the development of science
direct comparisons
everybody gives the best
development of new, innovative solutions
Possible problems:
exploitation of loop holes in the rules
and: concentration on competition
How to build a successful system:
single conceptual pieces are very important (e.g.selflocalization, team coordination)
combination and integration is important: “closing the loop”
Results are communicated in workshops & symposia
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
6
Our Goals, Our Approach
Demonstration of our self-localization techniques using
laser scanners
Exploration of multi-robot systems
Cooperative acting
Cooperative sensing
Attractive area for students
“Classical” Artificial Intelligence approach
explicit model of the world
deliberation on world model
. . . finding the right balance between reactivity and deliberation
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
7
CS Freiburg: Robot Hardware
Hardware
Sensors
B. Nebel, Univ. Freiburg
Pioneer 1 robots (from ActivMedia)
Pioneer 2 controller boards
Vaio Picturebook (with Linux)
WaveLan radio-Ethernet
Kicker: custom-made (SICK AG)
Digital Sony camera with Firewire
SICK laser scanner
Internal odometrie
Kicker sensors (state/ball)
How Much Intelligence Do You Need to Play Soccer?
8
Player Architecture
communication cooperation &
strategy
sensors
B. Nebel, Univ. Freiburg
world
modeling
action
selection
action
execution
How Much Intelligence Do You Need to Play Soccer?
actuators
9
Sensor-Interpretation
Inputs:
Laser scanner data (360 range values for 180°, 1cm accuracy,
30 scans/sec)
Odometrie (translation, rotation since last measurement, 10
estimates/sec)
Vision color data (720x576 pixel, 25 frames/sec)
Outputs:
Own pose (position and orientation) = self localization
Poses and velocities of other players (team mates and
opponents)
Ball position and velocity
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
10
Self-Localization
Estimation of own pose: location and orientation
Difficult, even if initial position is known (odometrie errors
accumulate)
Use sensors to correct pose estimation
GPS (works only in outdoor environments), beacons ...
Range finding sensors (sonars, laser scanners, ...)
Vision (landmarks or 3D reconstruction)
Combine odometrie and other sensor measurements
Kalman filter or Markov localization
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
11
Our Approach: Line Extraction &
Scan Matching
Extract lines from scans
Try all pairings of scan lines
with model lines and test for
geometric realizability
B. Nebel, Univ. Freiburg
i.e. find rotation and translation
to make it fit
2 hypotheses if 3 walls are
visible, 4 if 2 walls. Initial
orientation is known
fast, robust, accurate
global localization
How Much Intelligence Do You Need to Play Soccer?
12
Player Recognition
B. Nebel, Univ. Freiburg
Remove all points from the
scan that correspond to
points on the wall
Cluster remaining points
Consider point of gravity as
middle point of player
(perhaps with offset)
How Much Intelligence Do You Need to Play Soccer?
13
Why is Self-Localization & Player
Recognition Important?
Going to the kick-off
positions - different
approaches
(Game against CMU
Hammerheads,
RoboCup 2001)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
14
Another Reason:
The 10 Seconds Rule
We obey the 10
seconds rule and
leave the goal area
before 10 seconds
have elapsed ...
finally we score a
goal against
NAIST´00 (Japan)
(RoboCup 2000)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
15
Ball Recognition in Real Time
Color segmentation (watch for orange blobs)
previously: Newton Lab hardware system
now: Sony camera with Firewire output, vision processing on
standard notebook, CMVision system (CMU) for color
segmentation
now we see the ball up to 5-6 meters
Size and distance estimation
using a case-based interpolation method instead of Tsaicalibration and analytic estimation - more accurate if zcoordinate is constant
Identification of most plausible blob as the ball
using size, distance, and duration of observation
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
16
Multi-Robot Sensor-Integration:
Cooperative Sensing
All players send their estimates (own position, ball
position, position of other players) together with a time
stamp to the global sensor-integration module.
Estimations are combined
Friend-opponent-distinction: our players report their
own positions
Global ball position estimation:
Integrate measurements from different robots using a Kalman
filter
but ignore “hallucinations” using a Markov localization
scheme
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
17
Kalman Filter
Prediction step (predict next location where ball will be
observed):
Project ball position into the future using a constant negative
ball acceleration
Consider a certain projection error
Update step (when new observation is made):
Integrate new measurement
Take into account sensor model
distance error grows with distance
angular error is small and constant
Leads to triangulation (stereo vision with a robot group) . . .
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
18
False Positives
?
Player 2 is hallucinating
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
19
Phantom Ball Elimination:
Markov Localization
Prediction step (with unknown direction and speed - only
2 dimensional probability grid)
The occupancy probability of a cell z´ t flows into cells z close
to z´ (cond. prob. has normal distribution wrt. distance):
p( zt 1 ) p( zt 1 | z´t ) p( z´t )
z´
Update step
Incorporate new ball sighting, use Bayes´ rule (cond. prob. has
normal distribution wrt. distance):
p( zb | zt 1 ) p( zt 1 )
p( zt 1 )
p ( zb )
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
20
Phantom Balls: Development of
Probability Distribution
after
after2nd
1st measurement
3rd
4th
5th
6th
measurement (2)
(1)
(2)
(3)
Consider area with highest
peak as possible ball area
At RoboCup 2000, 938 out of 118388 (0.8%) ball observations were
ignored because of the Markov localization filter.
At German Open 2001, 0.6% ball observations were ignored.
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
21
Importance of Accurate Global
Ball Position Estimation
Our goalie cannot
see the ball but
continues to defend
the goal against
Golem (Italy) in the
RoboCup 2000 final
... since he knows
the ball position
from his team
mates
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
22
A Positive Example
Minho (Portugal)
shoots at our goal
from the other side
of the field.
Our goalie gets this
information early on
and can easily
defend (RoboCup
2001)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
23
From Perception to Action:
Do the Right Thing!
Reactive, behavior-based vs. deliberative approaches
Soccer is a fast game and it does not require long (online) deliberation
However, there exist “higher” levels beyond situationaction-rule execution:
different actions and an action selection mechanism
cooperation: placement and team play
opponent prediction and counter strategies
Most teams use hybrid approaches, but some are
almost completely reactive
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
24
How do we Structure the
Capabilities of a Soccer Agent?
Actions: State-free behaviors (controllers)
Action selection:
Select the most appropriate action
Do this by goal back-chaining (extended behavior networks)
Once an action has been selected, commit to it (persistence to
avoid oscillations) and quit if action will fail necessarily
Control execution of actions
Evaluate and adapt continuously every 100 msec
Strategic considerations are factored out
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
25
Field-Player Action Repertoire
With ball
ShootPos: shoot to a position, often close to opponent goal
MoveTrickShoot: run into direction of opponent goal and in the
last possible moment change direction
BumpShoot: shoot ball by bumping against it
TurnBall: turn with ball slowly into the direction of opponent goal
DribbleBall: run with ball into the direction of opponent goal
Without Ball
ObserveBall, SearchBall, GotoPosition, WaitPass, GetBall,
GotoBall . . .
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
26
What is Important When
Implementing Basic Actions?
An attack on the
GMD Robots’ goal,
which could have
been carried out
more skillfully
(RoboCup 1999)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
27
Field Player: Tricking the Goalie
We score against
CE Sharif (Iran) by
tricking the goalie:
Move in one
direction, shoot in
the other direction
(MoveTrickShoot)
(RoboCup 2000)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
28
Field Player: Dribbling
Consider points that are
closer to the opponent goal
and that do not require a
sharp turn
Evaluate the straight lines to
these points according to
distance to obstacles
angle to goal
angle to current orientation
Choose best alternative
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
29
Dribbling: An Example
One of the 9 goals
against CMU
Hammerheads
(USA)
(RoboCup 2001)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
30
Field Player: ShootPos
Find a good position (close
to opponent goal) to shoot to
Consider also rebound
shots!
Choose the shot that
does not collide with obstacles
comes as close as possible to
the opponent goal
does require a minimal turn angle
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
31
Field Player: A Rebound Shot
Rebound shot
against CoPS
Stuttgart
(RoboCup 2000)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
32
Action Selection:
Extended Behavior Networks
Behavior networks [Maes 90]
action representation with preconditions and consequences
activation from situation & goals ( reactive & goal-oriented)
Extended behavior networks [Dorer 99]
fuzzy propositions
activation only from goals
goal-tracking and no input normalization
( decision theoretic planning)
used in magma Freiburg (runner up in the simulation league
RoboCup ´99
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
33
Part of the
Extended Behavior Network
active role
soccer goal
MoveTrickShoot
have_ball
GetBalll
ShootPos
(goal)l
cooperate
WaitPass
ObserveBall
ball_present
good_p_pos
SearchBall
close_to_ball
have_ball
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
34
Example:
Action Selection & Sequencing
Attack against
CMU Hammerheads
(RoboCup 2000
quarter final)
Action
Sequence:
GetBall,
TurnBall,
DribbleBall,
ShootPos(goal)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
35
Acting Cooperatively
Without coordination, one gets swarm behavior
Avoidance of interference
do not attack your own team mates
do not get into the way of an attacking or defending robot
use competence areas on the field (still backup)
Task decomposition and task (re-)allocation
the player which is closest to the ball should go to the ball
if one player cannot do his task, another should take over
Joint execution: passing the ball
Use (dynamic) role assignment
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
36
Cooperation:
Dynamic Role Assignment
Each player has one of 4
roles:
goalie (fixed)
active player: with ball or close
supporter: other half of field
strategic player: defender
Placement: each role has a
preferred location, which
depends on the situation:
ball position, position of team
mates and opponents
defensive situation or attack
B. Nebel, Univ. Freiburg
active
Role:
strategic
role:
supporter
role:
How Much Intelligence Do You Need to Play Soccer?
37
Dynamic Role Assignment
Each player computes the utility for each role and
sends it around (same as in ART Italy)
Utility depends on distance to preferred location (large
distance has low utility) and on the role (active >
strategic > supporter)
Each player tries to maximize the group utility
Roles are reassigned only when two players agree
under the assumption that all team members do that
this does not exclude that there are occurrences when two players
have the same role (because there is no synchronization)
Note that opinion about global position can differ (even
with global world model)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
38
Team Play: Role Switch
Tight defense
against CE
Sharif (Teheran)
(RoboCup 2000
semi final)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
39
Role Switch by Communication
green:
strategic
light blue:
supporter
white:
active
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
40
Joint Execution: A Pass
. . . that was Unsuccessful
A pass in the semifinal against the
Italian ART Italy team
(RoboCup 1999).
This was based on
standard plan: “if it is
not possible to score
directly, wait until
supporter arrives,
then make the pass”
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
42
Passing the Ball
as Emergent Behavior
A slightly
unconventional
pass in a game
against
Robosix
(RoboCup
2001)
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
43
Reactive vs. Deliberative:
RoboCup 2001 Final
CS Freiburg against
Osaka Trackies (Japan)
CS Freiburg is most of
the time slower and
has to defend ... but it
is more robust. Finally,
when 2 Trackies had
been removed . . .
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
44
CS Freiburg: Performance
Competition Results
Winner of RoboCup´98, RoboCup 2000 and RoboCup 2001
Winner of German Vision-RoboCup´98 & ‘99 and German Open
2001, runner up in 2002
2 draws & 3 lost games in 52 official games
Goal Rates (goals/minute)
0,25
0,2
0,15
Average
CS Freiburg
0,1
0,05
0
1997
B. Nebel, Univ. Freiburg
1998
1999
2000
2001
How Much Intelligence Do You Need to Play Soccer?
45
Conclusion & Outlook
The kind of intelligence you need to play soccer is quite
different from the one you need to play chess
Robotic soccer is an attractive and interesting research
challenge, in particular for the area of multi-robot systems
Current & future research issues
Learning & adapting the skills to new environments and capabilities
Addressing a different problem in the domain: a robot referee
Address other multi-agent problems such as RoboCup-Rescue
Transfer to a new domain: table soccer
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
46
Table Soccer
. . . is interesting because computer systems may be
able to play this game against humans (we do not
intend to wait until 2050)
Two humans against one computer: unfair?
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
47
Acknowledgements
CS Freiburg Team 2001 (www.cs-freiburg.de)
Previous team members
Markus Dietl, Florian Diesch, Steffen Gutmann (Sony), Alexander
Kleiner, Boris Szerbakowski (SICK), Thilo Weigel, Patrick
Stiegeler
Burkhard Dümler, Wolfgang Hatzack, Immanuel Herrmann, Kornel
Marko, Klaus Müller, Livia Predoiu, Christian Reetz, Frank
Rittinger, Maximilian Thiel, Augustinus Topor
Institutions
SICK AG (Hardware and manpower)
DFG, MFG, und Univ. Freiburg (financial support)
Sony, Siemens
B. Nebel, Univ. Freiburg
How Much Intelligence Do You Need to Play Soccer?
48