On robots that play soccer René van de Molengraft 11 december 2009
RoboCup Mission / faculteit werktuigbouwkunde PAGE “By the year 2050, develop a team of fully autonomous humanoid robots that can win against the human world soccer champion team”
RoboCup RoboCup Junior / faculteit werktuigbouwkunde PAGE
RoboCup / faculteit werktuigbouwkunde PAGE
RoboCup Standard platform league / faculteit werktuigbouwkunde PAGE
RoboCup / faculteit werktuigbouwkunde PAGE Humanoid league
RoboCup Middle Size League / faculteit werktuigbouwkunde PAGE
Hall Object / faculteit werktuigbouwkunde PAGE
Tech United Eindhoven Facts / faculteit werktuigbouwkunde PAGE Started spring active members : second place
TU/e – Control Systems Technology / faculteit werktuigbouwkunde PAGE Robotics research researchexperimenteren onderwijs RoboCup Robotics in Care and Cure RoboEarth
Care – Domestic Robotics / faculteit werktuigbouwkunde PAGE
Cure – Medical Robotics / faculteit werktuigbouwkunde PAGE
TU/e – Control Systems Technology / faculteit werktuigbouwkunde PAGE What makes a robot a robot? Autonomous Intelligence Sensors and actuators Complexity Dynamic, unstructured environment
TU/e – Control Systems Technology / faculteit werktuigbouwkunde PAGE Challenges 3D-sensing World modeling Learning
TU/e – Control Systems Technology / faculteit werktuigbouwkunde PAGE RoboEarth WWW for and by robots Share any reusable knowledge
State of the art - Humanoid / faculteit werktuigbouwkunde PAGE Honda’s Asimo
State of the art - Android / faculteit werktuigbouwkunde PAGE REPLIEE, Osaka University, Japan
Why humanoid/android robots? / faculteit werktuigbouwkunde PAGE Advantages Familiar Fits environment
State of the art - Tele-operated / faculteit werktuigbouwkunde PAGE iBOT, Independence Technology
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Autonomous soccer Field 12x18 meter 5 vs 5 robots Two halves of 15 min. Human referee Design constraints FIFA rules Additions Robocup: size, weight, color Middle Size League
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Fully autonomous Vision and localisation Fast and safe Ball handling (‘do not clamp’) Ball kick Team play Challenges
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Manage complexity Keep it simple Hierarchy Make choices explicit Use models Create robustness Redundancy Rules of thumb
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE team robot Bottom up design
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Localisation Soccer skills Intercept, dribble, kick Soccer roles Attacker, defender, goalkeeper Soccer tactics Pass, assist, play system Requirements
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Low level (hardware) functions Drive Kick Ball handling World sensing High level (software) functions Localisation Skills Roles and strategy Functions
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Localisation Which sensors? Vision Odometry Accelerometers Laser Hardware or software? CPU power Sensor fusion Design space exploration
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Interdisiplinary Mechanics Electronics Informatics Specialists needed! Model-based design (simulation and prototyping Early integration Multidisciplinary design
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Evolution and revolution Devbot Model 2006 Model 2007 Model 2008 Model 2009
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Motion platform: evolution Base frameClosed box
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Kicker: revolution Pneumatic Solenoid
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Kick variation: (r)evolution
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Hardware Omni-vision camera Electronic compass Odometry with motor encoders Software White-line detection Compass calibration Sensor fusion Localisation
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE White line detection
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Avoid obstacles Find ‘open space’ Determine subtargets Obstacle tracker Prediction Motion planning
How to build a soccer robot? / faculteit werktuigbouwkunde PAGE Robot architecture omni- drive kicker ball- handling omni- vision compass Motion control kicker control ball control image acquis. compass acquis. localisation task executer skills skill planner HW SW
World modeling / faculteit werktuigbouwkunde PAGE Object tracking 5 against 5 >30 kg, 4 m/s Omni-vision: 30 x 640 x 480 x 3 bytes/s Assume features (x, y, r) from omni- vision Noise (shadow, motion blur, finite resolution) and multiple features/object
Object tracking / faculteit werktuigbouwkunde PAGE Motion planning
Object tracking / faculteit werktuigbouwkunde PAGE At time t1: m1 measurements, n1 objects m1*n1 possible associations At next time t2: m1*n1*m2*n2 Combinatorial explosion
Object tracking / faculteit werktuigbouwkunde PAGE D position measurements from vision Constant velocity model Stationary Kalman filter State estimation
Object tracking / faculteit werktuigbouwkunde PAGE Zero-acceleration Object model
Object tracking / faculteit werktuigbouwkunde PAGE Choose uncertainty weigths Solve Riccati equation -> K Variance equation is disregarded Kalman filter
Object tracking / faculteit werktuigbouwkunde PAGE Inspired by Schubert and Sidenbladh, Sequential clustering with particle filters – estimating the number of clusters from data, 2005 Prune exploding tree by particle filtering Static objects only Sequential clustering using Kalman filters
Object tracking / faculteit werktuigbouwkunde PAGE Prune exploding tree by discrete filtering Track dynamic objects Incorporate a-priori knowledge Sequential clustering using Kalman filters
Object tracking / faculteit werktuigbouwkunde PAGE Measurements are processed sequentially Measurement can be associated with clutter new object existing object Sequential clustering using Kalman filters
Object tracking / faculteit werktuigbouwkunde PAGE , 2, 5, 52, 203, 877, 4140, 21147, , [] [0] [1] [0,0][0,1] [1,0] [1,1][1,2] measurement 1 measurement 2 Tree with all possible associations
Object tracking / faculteit werktuigbouwkunde PAGE E.g. H= [0, 1, 1, 2, 1, 2, 3, 0, 1, 1, 1, 4, 2] So, 4 objects -> 4 Kalman filters Each hypothesis is assigned a probability Propagate hypotheses via Bayesian filtering Hypothesis H
Object tracking / faculteit werktuigbouwkunde PAGE Prediction
Object tracking / faculteit werktuigbouwkunde PAGE is the position of the object in assigned to measurement k Correction
Object tracking / faculteit werktuigbouwkunde PAGE Set of hypotheses form a discrete distribution Select n hypotheses with highest probability Throw away hypotheses with P<0.01*Pmax Tree is pruned to at most n hypotheses n = 10 still works for 10 to 20 objects! Pruning by discrete filter
Object tracking / faculteit werktuigbouwkunde PAGE Region of interest Clip beyond boundary in state space Measurements Objects in hypotheses Maximum number of objects in hypthesis A priori knowledge
Object tracking / faculteit werktuigbouwkunde PAGE Maximum a Posteriori (MAP) estimate states Best estimate
Example / faculteit werktuigbouwkunde PAGE
Implementation / faculteit werktuigbouwkunde PAGE Simulink S-function in C CPU effort linear in #measurements linear in #hypotheses quadratic in #objects < 5 ms (10, 20, 10) Add predictor for anticipation
Validation / faculteit werktuigbouwkunde PAGE Tech United – Cambada, july, 2009