Humanoid Robot Soccer 101 Thomas Röfer Cyber-Physical Systems German Research Center for Artificial Intelligence (DFKI) � 1
RoboCup 2013: SPL Semifinal � 2
RoboCup 2013: Statistics UPennalizers UChile Robotics Team 36 TJArk SPQR Team 27 rUNSWift RoboEireann RoboCanes 6 NTU RoboPAL 1 3 Northern Bites Nao-Team HTWK 27 Nao Devils Dortmund Mi-Pal Kouretes 17 Edinferno 18 7 Dutch Nao Team 2 10 11 9 DAInamite 16 Cerberus 14 18 Berlin United 10 5 Bembelbots 11 13 B-Human 8 22 39 5 Austrian Kangaroos 12 Austin Villa 5 15 12 1 12 6 7 26 16 14 6 21 27 12 18 14 3 8 1 1 4 7 7 26 4 7 7 19 7 4 25 1 5 17 8 3 10 16 7 4 1 13 54 8 13 12 3 4 2 5 2 62 8 8 5 11 25 12 16 6 12 14 8 90 1 10 5 11 10 17 8 6 30 11 22 15 22 12 2 2 1 1 1 2 16 Goals 7 9 8 11 11 1 3 4 11 2 1 3 26 Out by 1 5 16 2 18 9 4 32 28 9 15 Ball Holding 2 10 7 5 7 8 4 1 12 1 8 15 Fallen Robot 5 2 40 2 13 4 1 7 3 34 14 Illegal Defender 17 6 3 12 1 2 1 1 11 1 6 Inactive Player 11 7 22 9 15 4 9 Leaving the Field 4 5 15 8 Request for PickUp 22 9 Player Pushing � 3 1 Playing with Hands
Standard Platform League • Aldebaran Robotics NAO • 21-25 degrees of freedom • Height 57cm, weight 5 kg • Different sensors, on-board PC (1.6GHz Atom) • Soccer Competition • 5 vs. 5 • Robots are fully autonomous • Field size 9 m x 6 m � 4
s Controlling a Soccer Robot • Perception: What do I see now? 60 Hz • World Modeling • Where am I? 100 Hz • Where are objects currently not perceived? • What speeds do objects have? Cognition • Behavior Control: What to do? Motion • Sensing: What am I feeling? • Motion Control: Walking, kicking, standing up, looking � 5
Perception � 6
Perception: Grid-based Scanning and Specialists � 7
Perception: Determining Distance distance from size distance from bearing � 8
Sensing • Center of Mass • Ground contact • Falls (with direction) • Robot is falling • Torso pose • Camera poses � 9
Sensing: Torso Pose • Unscented Kalman Filter • Forward kinematics • Calibrated gyroscopes • Compensation for gyroscope’s bias drift � 10
Sensing: Calibrating Camera Pose • Before calibration • After calibration • Misplaced camera • Camera roll / tilt • Overall body roll • Backlash in joints � 11
Perception and Sensing: Synchronization • Rolling shutter (CMOS technology exposes pixel-by-pixel) • Time differences between images and joint angles • Correction • Using head joint velocities • Only perceptions, not whole image Image taken by Bioloid robot � 12
World Modeling: Self-Localization, Ball • Self-localization • Particle filter with 16 Unscented Kalman Filters • Side confidence and own side model • Use ball for disambiguation • Ball modeling • 6 Kalman Filters for static ball • 6 Kalman Filters for rolling ball � 13
World Modeling: Obstacles • Sonar-based • Overlapping measurement areas • 2-D evidence grid of measurement history • Vision-based • Edges between field and robots • Obstacle wheel � 14
Motion Control • Walking • Kicking • “Special actions” • Getting up • Head control • Scan interesting points on the field • Hard-coded modes � 15
Motion Control: Walking • Omni-directional • Modeling single support phase as linear inverted pendulum • Balancing with difference between observed and planned COM � 16
Motion Control: Walking and Kicking 92°/s 31cm/s 12cm/s 22cm/s � 17
Motion Control: Balanced Dynamic Kicks • Modeled as a sequence of Bezier curves • 2x foot positions, 2x foot rotations, 2x arm positions • Transitions continuous in place and gradient • Control points are adapted during kick • Balancing based on • Preview of COM • Gyroscopes � 18
Motion Control: Balanced Dynamic Kicks � 19
Behavior Control: Hierarchical State Machines (Options) � 20
Behavior Control: States and Decision Trees � 21
Behavior Control: CABSL – C-based Agent Behavior Specification Language • Directly compiled by C++ compiler option(goaliePlaying) { initial_state(stayInGoal) // ... • Modeling behavior with hierarchical state machines ( option s) state(getToBall) { transition { • Each option contains state s if(ball.notSeenFor > 500 || ball.distance > 600) • Each state contains goto returnToGoal; else if(ball.distance < 150) • conditional transition s to other states goto clearBall; } action { • action s (C++, calls to other options) GoToBall(); } • Each option can only switch its state once } per execution cycle } � 22
Behavior Control: CABSL – Special States and Symbols • initial_state (mandatory): Option returns to this state when it was not executed in the previous cycle • target_state : Caller's symbol action_done becomes true if the last sub option it called reaches this state • aborted_state : Caller's symbol action_aborted becomes true if the last sub option it called reaches this state • option_time : How long since entering the initial_state ? • state_time : How long since entering the current state? � 23
Behavior Control: Team Play • Roles: Striker, supporter, breaking supporter, defender, keeper • Global world model • Global ball for role switching • Teammate positions for path planning • Joint actions • Kick-off, passing • Synchronized ball tracking and searching � 24
Behavior Control: B-Human 2013 � 25
Conclusions • Doing the right things • Grid-based vision • Probabilistic world modeling (often based on textbook methods) • Hierarchical state machines for behavior control 3 1 0 2 S S : H e • Balanced walks and kicks / s e i c t i r s e b x e E W / w e i v / n i b • Doing things right / l p s / e d . i z t . w w w • Keeping 60Hz/100Hz • Synchronization and calibration � 26
Recommend
More recommend