Control Agent Architecture of a Simulated Humanoid Robot
Total Page:16
File Type:pdf, Size:1020Kb
Contents 1 Introduction 1 1.1 Motivation .................................... 1 1.2 Objectives .................................... 2 1.3 Thesis Outline .................................. 2 2 RoboCup 3 2.1 RoboCup Soccer ................................. 3 2.1.1 Small Size League ........................... 3 2.1.2 Middle Size League .......................... 4 2.1.3 Standard Platform League ....................... 5 2.1.4 Humanoid League ........................... 5 2.1.5 Simulation League ........................... 6 2.2 RoboCup Rescue ................................ 6 2.2.1 Rescue Simulation League ....................... 6 2.2.2 Real Rescue Robot League ....................... 6 2.3 RoboCup Junior ................................. 7 2.3.1 Soccer Challenge ............................ 7 2.3.2 Dance Challenge ............................ 7 2.3.3 Rescue Challenge ............................ 7 2.4 RoboCup@Home ................................ 8 2.5 Symposium ................................... 8 2.6 Chapter Summary ................................ 8 3 SimSpark 9 3.1 System Overview ................................ 9 3.1.1 The Server ................................ 10 3.1.2 The Monitor and Logplayer ...................... 10 3.2 SimSpark ..................................... 11 3.2.1 Perceptors ................................ 11 3.2.1.1 General message format .................. 11 3.2.1.2 General Perceptors ..................... 11 3.2.1.3 Soccer Perceptors ...................... 13 I CONTENTS CONTENTS 3.2.2 Effectors/Actuators .......................... 15 3.2.2.1 General Effectors ....................... 15 3.2.2.2 Soccer Effectors ....................... 16 3.2.3 Simulation Update Loop ........................ 17 3.2.3.1 Single-threaded Timer .................... 18 3.2.3.2 Multi-threaded Timer .................... 19 3.3 MonitorSpark .................................. 20 3.3.1 Internal Monitor ............................ 20 3.3.2 External Monitor ............................ 20 3.3.3 Playing Log files ............................ 20 3.4 Other simulators ................................ 20 3.5 Players ...................................... 21 3.5.1 Soccerbot ................................ 21 3.5.2 NAO ................................... 24 3.5.2.1 Parameters .......................... 24 3.6 Faced problems ................................. 27 4 FC Portugal 28 4.1 The team ..................................... 28 4.1.1 Competitions & Awards ........................ 28 4.2 3D Humanoid Agent .............................. 29 4.2.1 Agent structure ............................. 30 4.2.2 Basic behavior .............................. 32 4.2.3 Low-level skills ............................. 33 4.2.4 High-level skills ............................. 34 4.2.4.1 Goalkeeper .......................... 34 4.2.4.2 Field Players ......................... 35 4.2.5 Strategy ................................. 37 5 Low-level development 38 5.1 Kinematics .................................... 38 5.1.1 Forward Kinematics .......................... 39 5.1.1.1 Transformation matrices relative to previous joint .... 41 5.1.1.2 Transformation matrices relative to the vision ...... 44 5.1.1.3 Implementation ....................... 45 5.1.2 Inverse Kinematics ........................... 45 5.1.2.1 Algebraic method ...................... 46 5.1.2.2 Numeric method ....................... 47 5.2 Vision ....................................... 49 5.2.1 The two basis .............................. 49 5.2.2 Calculation of agent location ..................... 55 II CONTENTS CONTENTS 5.2.2.1 Trilateration ......................... 56 5.2.2.2 Change of Basis ....................... 59 5.2.3 Calculation of World Objects locations ................ 61 5.2.4 Software implementations ....................... 62 5.3 Ball movement prediction ........................... 63 5.3.1 The prediction procedure ....................... 64 5.3.2 Getting DragFactor ........................... 65 5.3.2.1 Improving the precision of velocity and acceleration values ............................. 67 5.3.3 Final considerations .......................... 75 5.3.4 Software implementations ....................... 75 6 High-level development 77 6.1 Omnidirectional walk ............................. 77 6.2 Goalkeeper behavior .............................. 78 6.2.1 Position to defend the goal ...................... 79 6.2.1.1 Problems ........................... 80 6.2.2 Leaving the “defense point” ...................... 81 6.2.3 Defend shots to goal .......................... 82 6.2.3.1 Initial version ........................ 82 6.2.3.2 Using ball movement prediction .............. 83 6.2.4 Conclusion ............................... 85 6.3 Players behavior ................................. 85 6.3.1 Decision-making structure ...................... 85 6.3.2 Walk towards the ball ......................... 86 6.3.2.1 Move to point ........................ 86 6.3.2.2 Move to ball ......................... 88 6.3.3 Walk with the ball ........................... 93 6.3.4 Avoid obstacles ............................. 94 6.3.5 Shot .................................... 95 6.3.5.1 Aiming precision ...................... 95 6.3.5.2 Best point to shoot to and its utility value ........ 99 6.3.6 Conclusion ...............................102 6.4 Players communication .............................103 7 Conclusion 105 8 Future work 107 8.1 Behaviors .....................................107 8.1.1 Pass ....................................107 8.1.2 Intercept passes & shots ........................109 8.1.3 Covering .................................110 III CONTENTS CONTENTS 8.1.4 Walk backwards to avoid rotating ..................110 8.2 Planning the path ................................110 8.3 Vision .......................................111 8.3.1 Noise and Restricted vision ......................111 8.3.2 Players posture estimation ......................112 8.4 Usage of Inverse Kinematics ..........................113 8.5 Integration with FC Portugal strategy ....................113 Bibliography 115 A SimSpark Installation 123 A.1 By source-code .................................123 A.2 Fedora ......................................126 A.3 On other systems ................................126 B Real robots 127 B.1 Fujitsu HOAP ..................................127 B.2 Honda ASIMO ..................................129 B.3 RoboSapien ...................................132 B.4 Sony AIBO ....................................134 B.5 Sony QRIO ....................................135 B.6 Aldebaran NAO .................................136 B.7 Non-commercial (RoboCup participants) ..................137 C Homogeneous coordinates systems and Denavit-Hartenberg method 138 D Forward Kinematics 142 D.1 Transformation matrices relative to previous joint .............142 D.2 Transformation matrices relative to the vision ................149 E Some derivative concepts 153 E.1 Derivative of a scalar function .........................153 E.2 Derivative of a vectorial function .......................154 E.3 Gradient .....................................154 E.4 Jacobian .....................................155 E.5 Approximated derivative ...........................155 IV List of Figures 2.1 Small Size robot. Origin: [27] ......................... 4 2.2 Middle Size robot: CAMBADA team ..................... 4 2.3 Standard Platform robot: NAO. Origin: [1] ................. 5 2.4 Humanoid League robot: Darmstadt Dribblers team ............ 5 3.1 Hinge Joint. Origin: [41] ............................ 12 3.2 Universal Joint. Origin: [41] .......................... 13 3.3 Polar coordinates as supplied by the 3D Soccer Server [92] ........ 14 3.4 Single-threaded loop UML sequence diagram. Origin: [41] ........ 18 3.5 Synchronization between SimSpark and agent. Origin: [41] ........ 19 3.6 Multi-threaded loop UML sequence diagram, note that each SimCon- trolNode runs in separated thread. Origin: [41] ............... 19 3.7 Frontal view of the Soccerbot in the simulation ............... 22 3.8 Side view of the Soccerbot in the simulation ................. 22 3.9 Overview of the joints of the Soccerbot .................... 22 3.10 An example message from the server to the Soccerbot including infor- mation from all the sensors .......................... 24 3.11 The NAO humanoid robot ........................... 24 3.12 The joints of NAO robot. Origin: [41] ..................... 25 4.1 FC Portugal agent structure .......................... 30 4.2 WorldState package ............................... 30 4.3 Skills hierarchical organization ........................ 31 4.4 FC Portugal agent basic code ......................... 32 4.5 FC Portugal decision making process ..................... 33 4.6 Goalkeepers acting. Origin: [8] ........................ 34 4.7 Examples of body relative direction ..................... 36 5.1 Types of joints. Origin: [9] ........................... 39 5.2 Redundant and non-redundant robot .................... 39 5.3 Determination of point location without forward kinematics. Body has 1 link. ....................................... 40 V LIST OF FIGURES LIST OF FIGURES 5.4 Determination of point location without forward kinematics. Body has 2 links. ...................................... 40 5.5 Inverse kinematics with no solutions for the desired point ........ 45 5.6 Redundancy: two robot configurations to achieve the same point .... 46 5.7 Vision basis ................................... 50 5.8 Field basis ...................................