Runswift Team Report 2010 Robocup Standard Platform League

Runswift Team Report 2010 Robocup Standard Platform League

rUNSWift Team Report 2010 Robocup Standard Platform League Adrian Ratter Bernhard Hengst Brad Hall Brock White Benjamin Vance Claude Sammut David Claridge Hung Nguyen Jayen Ashar Maurice Pagnucco Stuart Robinson Yanjin Zhu fadrianr,bernhardh,bradh,brockw,bvance,claude,davidc,dhung,jayen,morri,stuartr,yanjinzg @cse.unsw.edu.au October 30, 2010 School of Computer Science & Engineering University of New South Wales Sydney 2052, Australia Abstract RoboCup continues to inspire and motivate our research interests in cognitive robotics and ma- chine learning, particularly layered hybrid architectures, abstraction, and high-level programming languages. The newly formed 2010 rUNSWift team for the Standard Platform League mainly in- cludes final year undergraduate students under the supervision of leaders who have been involved in RoboCup for many years. In 2010 the team revamped the entire code-base and implemented a new integrated project management system. Several innovations have been introduced in vi- sion, localisation, locomotion and behaviours. This report describes the research and development undertaken by the team in the 2009/2010 year. Contents 1 Introduction 1 1.1 Project Management....................................1 1.2 Research Interests.....................................2 1.2.1 Humanoid Robots.................................4 1.2.2 Locomotion.....................................4 1.2.3 Localisation.....................................4 1.2.4 Vision........................................4 1.2.5 Software Engineering and Architecture......................5 1.3 2010 Developments.....................................5 1.3.1 System Architecture................................5 1.3.2 Vision........................................5 1.3.3 Localisation.....................................6 1.3.4 Motion.......................................7 1.3.5 Behaviour......................................7 1.4 Outline of Report......................................7 2 Robotic Architecture8 2.1 Introduction.........................................8 2.2 Agents and Agent Architectures..............................9 2.2.1 Task Hierarchies.................................. 11 2.3 rUNSWift 2010 Robotic Architecture........................... 12 2.4 Conclusions and Future Work............................... 14 3 System Implementation 15 3.1 Interacting with the Nao robot.............................. 15 3.1.1 The `libagent' NaoQi module........................... 15 3.1.2 The `runswift' Executable............................. 16 i 3.2 Debugging.......................................... 17 3.2.1 Logging....................................... 17 3.2.2 Off-Nao....................................... 18 3.2.3 Speech........................................ 19 3.3 Python interpreter..................................... 20 3.3.1 Automatic Reloading for Rapid Development.................. 20 3.4 Network Communication.................................. 22 3.4.1 GameController................................... 22 3.4.2 Inter-Robot Communication............................ 22 3.4.3 Remote Control................................... 22 3.5 Configuration files..................................... 23 4 Vision 25 4.1 Introduction......................................... 25 4.2 Background......................................... 26 4.3 Kinematic Chain...................................... 28 4.4 Camera to Robot Relative Coordinate Transform.................... 28 4.5 Horizon........................................... 29 4.6 Body Exclusion....................................... 29 4.7 Nao Kinematics Calibration................................ 30 4.8 Colour Calibration and Camera Settings......................... 32 4.9 Saliency Scan and Colour Histograms.......................... 33 4.10 Field-Edge Detection.................................... 34 4.11 Region Builder....................................... 35 4.11.1 Region Detection.................................. 37 4.11.2 Region Merging and Classification........................ 39 4.12 Field-Line Detection.................................... 41 4.13 Robot Detection...................................... 42 4.13.1 Initial Robot Detection Processing........................ 42 4.13.2 Final Robot Detection Processing........................ 44 4.14 Ball Detection........................................ 44 4.14.1 Edge Detection................................... 45 4.14.2 Identification of Ball Properties.......................... 46 4.14.3 Final Sanity Checks................................ 47 4.15 Goal Detection....................................... 48 ii 4.15.1 Identification of Goal Posts Using Histograms.................. 48 4.15.2 Identification of Goal Post Dimensions...................... 49 4.15.3 Goal Post Sanity Checks.............................. 50 4.15.4 Goal Post Type and Distance Calculation.................... 50 4.16 Camera Colour Space Analysis.............................. 51 4.17 Results............................................ 52 4.18 Future Work........................................ 54 4.19 Conclusion......................................... 55 5 Localisation 56 5.1 Introduction......................................... 56 5.2 Background......................................... 56 5.3 Kalman Filter Updates................................... 57 5.3.1 Local Updates................................... 58 5.3.1.1 Field-Edge Update............................ 58 5.3.1.2 Single Post Update........................... 59 5.3.1.3 Field Line Updates........................... 60 5.3.2 Global Updates................................... 61 5.3.2.1 Two-Post Updates............................ 61 5.3.2.2 Post-Edge Updates........................... 63 5.4 False-Positive Exclusion and Kidnap Factor....................... 63 5.4.1 Outlier Detection Using `Distance-to-Mean'................... 63 5.4.2 Intersection of Field Edges and Goal Posts................... 64 5.5 Particle Filter........................................ 64 5.5.1 Filter Process.................................... 65 5.5.2 Weight Updates.................................. 65 5.5.3 Discarding Particles................................ 66 5.5.4 Particle Generation................................. 67 5.5.5 Filter by Posts and Edges............................. 68 5.5.6 Bounding Box Criteria............................... 68 5.6 Ball Filter.......................................... 69 5.6.1 Robot-Relative Ball Position........................... 69 5.6.2 Egocentric Absolute Ball Position........................ 69 5.6.3 Team Shared Absolute Ball Position....................... 69 5.7 Obstacle Filter....................................... 69 iii 5.7.1 Multi-modal Kalman filter............................. 70 5.7.2 Adaptive Fixed-Particle Filter.......................... 70 5.8 Discussion.......................................... 70 5.9 Future Work........................................ 71 5.10 Conclusion......................................... 72 6 Motion and Sensors 73 6.1 Introduction......................................... 73 6.2 Background......................................... 74 6.2.1 Walk Basics..................................... 74 6.2.2 Related Work.................................... 75 6.3 Motion Architecture.................................... 76 6.3.1 ActionCommand.................................. 77 6.3.2 Touch........................................ 78 6.3.3 Generator...................................... 78 6.3.4 Effector....................................... 78 6.4 WaveWalk.......................................... 79 6.5 Adaption of Aldebaran Walk............................... 81 6.6 SlowWalk and FastWalk Generators........................... 81 6.6.1 Inverse Kinematics................................. 82 6.7 SlowWalk.......................................... 85 6.8 FastWalk.......................................... 88 6.8.1 Process Steps of the FastWalk Generator.................... 88 6.8.2 FastWalk Task-Hierarchy............................. 90 6.8.3 Inverted Pendulum Dynamics........................... 91 6.8.4 Feedback Control.................................. 93 6.8.5 FastWalk Development.............................. 96 6.9 Omni-directional Kick................................... 97 6.10 SlowWalk Kicks....................................... 98 6.10.1 The Forward Kick | An Example........................ 98 6.10.2 Other Kicks..................................... 99 6.10.3 Results....................................... 100 6.11 Other Motions....................................... 100 6.11.1 Get-ups....................................... 101 6.11.2 Initial Stand.................................... 101 iv 6.11.3 Goalie Sit...................................... 101 6.12 Joint Sensors........................................ 101 6.13 Chest and Foot Buttons.................................. 101 6.14 Inertial and Weight Sensors................................ 102 6.15 Sonar............................................ 102 6.16 Sonar Filter........................................ 102 6.17 Discussion.......................................... 103 6.18 Future Work........................................ 103 6.19 Conclusion......................................... 104 7 Behaviour 105 7.1 Introduction......................................... 105 7.2 Background......................................... 105 7.3 Skill Hierarchy and Action Commands.......................... 106 7.4 SafetySkill.........................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    165 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us