Control Agent Architecture of a Simulated Humanoid Robot

Total Page:16

File Type:pdf, Size:1020Kb

Control Agent Architecture of a Simulated Humanoid Robot 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 ...................................
Recommended publications
  • Soccer Server 3D Manual
    Edited by: Version 1.2 Joschka Boedecker Klaus Dorer Markus Rollmann Yuan Xu Feng Xue Marian Buchta Hedayat Vatankhah January 2010 Contents 1 Introduction 1 1.1 What is SimSpark?1 1.2 History of the Project1 1.3 About this Manual2 1.4 Reader’s Guide to the Manual2 2 System Overview 3 2.1 The Server3 2.2 The Monitor and Logplayer4 2.3 The Sample Client4 2.4 Available Simulations4 3 Getting Started 5 3.1 Download and Installation Instructions5 3.2 An Example of a Simulation Run7 4 Simspark 13 4.1 Perceptors 13 4.1.1 General message format 13 4.1.2 General Perceptors 13 4.1.3 Soccer Perceptors 15 4.2 Effectors/Actuators 18 4.2.1 General Effectors 18 4.2.2 Soccer Effectors 19 4.2.3 Older Version Effectors 20 4.3 Simulation Update Loop 21 4.3.1 Single-threaded Timer 22 4.3.2 Multi-threaded Timer 22 5 Rcssmonitor3d 25 5.1 Internal Monitor 25 5.2 External Monitor 25 5.3 Playing Log files 25 5.4 Key Assignments 25 i 6 Rcssagent3d 27 6.1 Behaviors 27 6.1.1 SoccerbotBehavior 27 6.2 How to change Behaviors? 27 7 Simulations 29 7.1 The Soccer Simulation 29 7.1.1 Overview 29 7.1.2 Environment and Objects on the Field 29 7.1.3 Rules Judged by the Automatic Referee 31 7.1.4 Rules Judged by the Human Referee 31 8 The Robot Models 33 8.1 Soccerbot 33 8.2 Nao 36 8.2.1 Parameters 36 8.2.2 Implementation 39 9 Further Resources 41 9.1 Project Homepage 41 9.2 Mailing Lists 41 9.3 IRC channel 41 9.4 Wiki 41 9.5 Thesis and Papers 41 9.6 How to contribute? 42 A License 43 ii Introduction 1 1.1 What is SimSpark? SimSpark is a multi-agent simulation system for agents in three-dimensional environments.
    [Show full text]
  • Edited By: Joschka Boedecker Klaus Dorer Markus Rollmann Yuan Xu Feng Xue Version 1.1 June 2008
    Edited by: Version 1.1 Joschka Boedecker Klaus Dorer Markus Rollmann Yuan Xu Feng Xue June 2008 Contents 1 Introduction 1 1.1 What is SimSpark? 1 1.2 History of the Project 1 1.3 About this Manual 2 1.4 Reader’s Guide to the Manual 2 2 System Overview 3 2.1 The Server 3 2.2 The Monitor and Logplayer 4 2.3 The Sample Client 4 2.4 Available Simulations 4 2.5 Available Robot Models 4 3 Getting Started 5 3.1 Download and Installation Instructions 5 3.2 An Example of a Simulation Run 7 4 Simspark 13 4.1 Perceptors 13 4.1.1 General message format 13 4.1.2 General Perceptors 13 4.1.3 Soccer Perceptors 15 4.2 Effectors/Actuators 18 4.2.1 General Effectors 18 4.2.2 Soccer Effectors 19 4.2.3 Older Version Effectors 20 4.3 Simulation Update Loop 21 4.3.1 Single-threaded Timer 22 4.3.2 Multi-threaded Timer 23 4.4 Setup Scripts 23 5 Monitorspark 25 5.1 Internal Monitor 25 5.2 External Monitor 25 5.3 Playing Log files 25 5.4 Key Assignments 25 i 6 Agentspark 27 6.1 Behaviors 27 6.1.1 SoccerbotBehavior 27 6.2 How to change Behaviors? 27 7 Simulations 29 7.1 The Soccer Simulation 29 7.1.1 Overview 29 7.1.2 Environment and Objects on the Field 29 7.1.3 Rules Judged by the Automatic Referee 31 7.1.4 Rules Judged by the Human Referee 31 7.1.5 Setup Script 32 8 The Robot Models 33 8.1 Soccerbot 33 8.2 Nao 36 8.2.1 Parameters 36 8.2.2 Implementation 39 9 Further Resources 41 9.1 Project Homepage 41 9.2 Mailing Lists 41 9.3 IRC channel 41 9.4 Wiki 41 9.5 Thesis and Papers 41 9.6 How to contribute? 42 A License 43 ii Introduction 1 1.1 What is SimSpark? SimSpark is a multi-agent simulation system for agents in three-dimensional environments.
    [Show full text]
  • Design of Social Robots Using Open-Source Robotic Platforms
    Complex Control Systems ISSN 1310-8255 Proceedings of the International Conference“Robotics & Mechatronics and Social Implementations”2018 DESIGN OF SOCIAL ROBOTS USING OPEN-SOURCE ROBOTIC PLATFORMS Eleni VROCHIDOU1,*, Michail MANIOS2, Vassilis G. KABURLASOS3, Fotis PANAGIOTOPOULOS4, Charalabos AITSIDIS4, Vasilis FERELIS6, 1) PhD, Eng., Human-Machines Interaction (HUMAIN) Laboratory, Dept. of Computer and Informatics Engineering, Eastern Macedonia and Thrace Institute of Technology (EMaTTech), Kavala, Greece 2) MSc, Assist., Eng., Human-Machines Interaction (HUMAIN) Laboratory, Dept. of Computer and Informatics Engineering, Eastern Macedonia and Thrace Institute of Technology (EMaTTech), Kavala, Greece 3) Prof., PhD, Eng., Human-Machines Interaction (HUMAIN) Laboratory, Dept. of Computer and Informatics Engineering, Eastern Macedonia and Thrace Institute of Technology (EMaTTech), Kavala, Greece 4) MSc, Assist., Eng., Dept. of Business Administration, Eastern Macedonia and Thrace Institute of Technology (EMaTTech), Kavala, Greece 5) MSc, Assist., Eng., Dept. of Accounting and Finance, Eastern Macedonia and Thrace Institute of Technology (EMaTTech), Kavala, Greece Abstract: The use of social robots in child education has emerged as a promising human-robot interaction domain. Social robots were successfully implemented into educational institutions and revealed a great potential. The main obstacle against the wider design and use of robotics is that it is considered a task that only experienced roboticists can handle. Fostering robots in schools and every-day life, yells for tools and platforms able to reduce the costs of prototyping robots, in terms of time and money. The open-source paradigm offers the opportunity to overcome these obstacles. This article summarizes the most popular up- to-date open-source platforms, that can support the development of social robots.
    [Show full text]
  • Simspark – Concepts and Application in the Robocup 3D Soccer Simulation League
    SimSpark { Concepts and Application in the RoboCup 3D Soccer Simulation League Joschka Boedecker1 and Minoru Asada1;2 1Dept. of Adaptive Machine Systems, 2HANDAI Frontier Research Center, Graduate School of Engineering, Osaka University, Osaka, Japan fjoschka.boedecker,[email protected] Abstract. Simulators have a long tradition within RoboCup. In the Soccer Simulation League, one of the earliest leagues within RoboCup, traditionally single-purpose robot simulators with high levels of abstrac- tion have been used. These systems proved valuable as tools for mul- tiagent research, but were difficult to extend. Furthermore, there were concerns that research results would not be easily transferable to the real world due to the extensive simplifications. In order to alleviate these problems, a new, more generic, and more realistic robot simulation sys- tem was proposed in the year 2003 and first used in the league's com- petitions in 2004. This paper presents the architecture and concepts of this system, and its application in the RoboCup 3D Soccer Simulation League. Moreover, it presents ongoing and future development plans. 1 Introduction Ever since the early days of RoboCup, simulators have played in important part in it, with the RoboCup Soccer Simulation League being one of the earliest com- petitions in its history [1]. The Soccer server [2] has been used as the simulation platform in this league in order to address research questions in high-level de- cision making and team coordination amongst others. The level of abstraction of the Soccer server has been quite high: the games are simulated in a 2D envi- ronment with simplified physics rules and agent representations.
    [Show full text]
  • Simspark – Concepts and Application in the Robocup 3D Soccer Simulation League
    SimSpark { Concepts and Application in the RoboCup 3D Soccer Simulation League Joschka Boedecker1 and Minoru Asada1;2 1Dept. of Adaptive Machine Systems, 2HANDAI Frontier Research Center, Graduate School of Engineering, Osaka University, Osaka, Japan fjoschka.boedecker,[email protected] Abstract. Simulators have a long tradition within RoboCup. In the Soccer Simulation League, one of the earliest leagues within RoboCup, traditionally single-purpose robot simulators with high levels of abstrac- tion have been used. These systems proved valuable as tools for mul- tiagent research, but were difficult to extend. Furthermore, there were concerns that research results would not be easily transferable to the real world due to the extensive simplifications. In order to alleviate these problems, a new, more generic, and more realistic robot simulation sys- tem was proposed in the year 2003 and first used in the league's com- petitions in 2004. This paper presents the architecture and concepts of this system, and its application in the RoboCup 3D Soccer Simulation League. Moreover, it presents ongoing and future development plans. 1 Introduction Ever since the early days of RoboCup, simulators have played in important part in it, with the RoboCup Soccer Simulation League being one of the earliest com- petitions in its history [1]. The Soccer server [2] has been used as the simulation platform in this league in order to address research questions in high-level de- cision making and team coordination amongst others. The level of abstraction of the Soccer server has been quite high: the games are simulated in a 2D envi- ronment with simplified physics rules and agent representations.
    [Show full text]