ebook img

dissertation en informatique doctor aan de universiteit utrecht in informatica PDF

208 Pages·2015·2.37 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview dissertation en informatique doctor aan de universiteit utrecht in informatica

PhD-FSTC-2015-32 Department of Information and The Faculty of Sciences, Technology Computing Sciences and Communication DISSERTATION Defense held on 24/06/2015 in Utrecht to obtain the degree of DOCTEUR DE L’UNIVERSITÉ DU LUXEMBOURG EN INFORMATIQUE AND DOCTOR AAN DE UNIVERSITEIT UTRECHT IN INFORMATICA by POUYAN ZIAFATI Born on 12 August 1984 in Hamedan, Iran I E A NFORMATION NGINEERING IN UTONOMOUS R S OBOT OFTWARE Dissertation defense committee Dr Holger Voos, Chairman Professor, Université du Luxembourg Dr Mehdi Dastani, Vice Chairman Universiteit Utrecht Dr Leon van der Torre, dissertation supervisor Professor, Université du Luxembourg Dr John-Jules Meyer, dissertation supervisor Professor, Universiteit Utrecht Dr Catholijn Jonker Professor, Technical University of Delft Dr Juergen Dix A-Professor, TU Clausthal Dr Antonio Sgorbissa A-Professor, Universita di Genova “Join me in the pure atmosphere of gratitude For life” Hafez Acknowledgements A PhD thesis is not only a project you do, but also an influential part of the life you live. As such, no one can go through it alone. I would like to thank everybody who shared with me this part of life. What is a PhD? The answer is perhaps reading and writing, some hundreds of pages! This however proved not to be so trivial. I owe much to my supervisors Leon van der Torre, John-Jules Meyer and Mehdi Dastani, and to Holger Voos who kindly joined the team for this achievement. I have learned a lot from them, not only technically, but also personally. I am very thankful for their dedication, support and encouragement, and for their patience and optimism to let me evolve. It has been an honor to work with them. ThemembersoftheICRgroupinLuxembourgandIntelligentSystemsgroupinUtrecht have contributed immensely to my personal and professional time at Luxembourg and Utrecht. The groups have been a source of friendships as well as good advice and collaboration. Many thanks to Silvano Colombo tosatto, Diego Agustin Ambrossio, Tjitze Rienstra, Amir Saeidi, Max Knobbout, Yehia Elrakaiby, Marc van Zeel, Masoud Tabatabaei, SinaMaleki, PaoloTurrini, EmilWeydert, WojtekJamroga, DraganDoder, Ana-MariaSimionovici,JoostvanOijen,BasTesterink,EricKokandGennaroDiTosto. AndspecialthankstoMikolajPodlaszewskiforbeingsuchagreatofficemateandfriend. I gratefully acknowledge the funding source that made my PhD work possible. I was funded by the Fonds National de la Recherche Luxembourg for these four years. Lastly, I would like to thank my family for all their love and encouragement. For my parents who raised me with a love of science and supported me in all my pursuits. For my brothers Pedram and Parham who have always been there for me. And most of all, for my loving, encouraging, and patient wife Aida whose unconditional support during the final stages of this Ph.D. is so appreciated. Thank you. Pouyan Ziafati Luxembourg Ville 24 March 2015 iii Contents Acknowledgements iii Contents iv List of Figures vii List of Tables ix 1 Introduction 1 1.1 Artificial Intelligence and Robotics: The Reintegration . . . . . . . . . . . 1 1.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 Robotic Frameworks and Active Memories . . . . . . . . . . . . . . 5 1.2.2 Robotic Knowledge Bases . . . . . . . . . . . . . . . . . . . . . . . 10 1.2.3 Agent Programming Languages . . . . . . . . . . . . . . . . . . . . 13 1.2.4 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.2.5 Summary of State-of-the-Art . . . . . . . . . . . . . . . . . . . . . 18 1.3 Research Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.4.1 On-Flow Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.4.1.1 ETALIS Language for Event-Processing (ELE) . . . . . . 25 1.4.2 On-Demand Processing . . . . . . . . . . . . . . . . . . . . . . . . 26 1.4.3 Incremental Query Evaluation . . . . . . . . . . . . . . . . . . . . 28 1.4.4 Mix of Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.4.5 Plan Representation and Execution in Agent Programming . . . . 30 1.5 Thesis Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2 Retalis Language for Robotic Information Engineering 31 2.1 Running Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2 Architectural Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3 On-Flow Information Processing 41 3.1 On-Flow Processing Requirements . . . . . . . . . . . . . . . . . . . . . . 42 3.2 On-Flow Processing Systems . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.3 ETALIS Language for Event-Processing (ELE) . . . . . . . . . . . . . . . 45 3.3.1 ELE Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 iv Contents v 3.3.2 ELE Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.4 Runtime Subscription in Retalis . . . . . . . . . . . . . . . . . . . . . . . . 52 3.5 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.6 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4 On-Demand Information Processing 58 4.1 On-Demand Processing Requirements . . . . . . . . . . . . . . . . . . . . 59 4.2 SLR Language for Event Management and Querying . . . . . . . . . . . . 60 4.2.1 SLR Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2.2 SLR Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.2.3 State-Based Knowledge Representation . . . . . . . . . . . . . . . 65 Persistent Knowledge . . . . . . . . . . . . . . . . . . . . . . 65 Persistence with Temporal Validity . . . . . . . . . . . . . . 65 Continuous Knowledge . . . . . . . . . . . . . . . . . . . . . 66 4.2.4 Active Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2.5 Synchronizing Queries over Asynchronous Events . . . . . . . . . . 70 4.3 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5 Retalis Performance 79 5.1 NAO application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.2.1 Forgetting and Memorizing . . . . . . . . . . . . . . . . . . . . . . 83 5.2.2 Querying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.2.3 On-Flow Processing . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.2.4 Subscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6 Active Queries 94 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.2 Definite Logic Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.2.1 SLD Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.3 ELE Execution Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.3.1 Event-Driven Backward Chaining Rules . . . . . . . . . . . . . . . 102 6.4 Active Queries: Naive Approach . . . . . . . . . . . . . . . . . . . . . . . 106 6.4.1 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.4.1.1 Belief Query Evaluation in 2APL . . . . . . . . . . . . . 109 6.4.1.2 Naive Approach for Data-Driven Belief Query Evalua- tion in 2APL . . . . . . . . . . . . . . . . . . . . . . . . . 111 6.4.1.3 Empirical Results . . . . . . . . . . . . . . . . . . . . . . 112 6.5 Active Queries: Optimized Approach . . . . . . . . . . . . . . . . . . . . . 115 6.5.1 Incremental Update . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.5.2 Comparison with Naive Approach . . . . . . . . . . . . . . . . . . 123 6.6 Active Queries: Tabled Optimized Approach . . . . . . . . . . . . . . . . 124 6.6.1 Tabled Logic Programming . . . . . . . . . . . . . . . . . . . . . . 124 6.6.1.1 Incremental Evaluation of Tabled Logic Programs . . . . 125 Contents vi 6.6.2 Tabled Optimized Approach. . . . . . . . . . . . . . . . . . . . . . 128 6.6.3 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.7 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 6.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 7 RobAPL Agent Programming Language 137 7.1 Plan Execution Control Requirements . . . . . . . . . . . . . . . . . . . . 137 7.1.1 Usecase Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 7.1.2 Complex Plan Execution Control . . . . . . . . . . . . . . . . . . . 139 7.1.3 Plan Execution Coordination . . . . . . . . . . . . . . . . . . . . . 140 7.2 RobAPL: a Robotic Agent Programming Language . . . . . . . . . . . . . 141 7.2.1 RobAPL Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 141 7.2.2 RobAPL Plan Overview . . . . . . . . . . . . . . . . . . . . . . . . 143 7.2.3 RobAPL Plan Execution Operational Semantics . . . . . . . . . . 145 7.3 Information Engineering Requirements . . . . . . . . . . . . . . . . . . . . 147 7.3.1 Information Engineering in RobAPL . . . . . . . . . . . . . . . . . 149 7.4 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 8 Summary 153 8.1 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 8.2 Conclusion and Future Work . . . . . . . . . . . . . . . . . . . . . . . . . 156 A Retalis API and Tutorial 161 A.1 Nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 A.2 Tutorial: Coordinate Transformation for NAO Robot . . . . . . . . . . . . 162 A.2.1 Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 A.2.2 Input from ROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 A.2.3 Event-Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 A.2.4 Memorizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 A.2.5 Querying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 A.2.5.1 Accessing Memory Instances . . . . . . . . . . . . . . . . 165 A.2.5.2 Query Synchronization . . . . . . . . . . . . . . . . . . . 166 A.2.6 Subscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 B RobAPL Plan Execution Atomic Transitions 168 Bibliography 179 Summary in English 193 Samenvatting in het Nederlands 195 Curriculum Vitae 197 List of Figures 2.1 Robot’s software components . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2 IEC architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.3 An IEC in ROS architecture . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.1 ELE event-processingoperatorexamples, re-producedfrom[Anicicetal., 2012] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.1 NAO’s software components . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.2 NAO application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.3 NAO application with automatic conversion of messages and events. . . . 83 5.4 Irrelevant memory instances . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.5 tf(X,Y,V,Q) memory instances (1) . . . . . . . . . . . . . . . . . . . . . . 85 5.6 tf(X,Y,V,Q) memory instances (2) . . . . . . . . . . . . . . . . . . . . . . 86 5.7 tf(head,cam,V,Q) memory instances . . . . . . . . . . . . . . . . . . . . . 87 5.8 Memory instances of different types . . . . . . . . . . . . . . . . . . . . . 88 5.9 Next and prev terms (1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.10 Next and prev terms (2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.11 Next and prev terms (3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.12 Synchronization with no delay . . . . . . . . . . . . . . . . . . . . . . . . 91 5.13 Synchronization with delays . . . . . . . . . . . . . . . . . . . . . . . . . 92 A.1 Example of a tf/tfMessage message . . . . . . . . . . . . . . . . . . . . . . 163 A.2 Example of a tf/tfMessage event . . . . . . . . . . . . . . . . . . . . . . . 163 B.1 Transitions of child and list nodes from the Inactive state . . . . . . . . . 169 B.2 Transitions of child and list nodes from the Waiting state . . . . . . . . . 170 B.3 Transitions of child and list nodes from the Waiting-Resources state . . . 171 B.4 Transitions of abort/pre-empt nodes from the Inactive state . . . . . . . . 172 B.5 Transitions of pause/resume nodes from the Inactive state . . . . . . . . . 172 B.6 Transitions of abort/pre-empt nodes from the Waiting state . . . . . . . . 172 B.7 Transitions of pause/resume nodes from the Waiting state . . . . . . . . . 173 B.8 Transitions of list nodes from the Executing state . . . . . . . . . . . . . . 173 B.9 Transitions of abort/pre-empt nodes from the Executing state . . . . . . . 174 B.10 Transitions of pause/resume nodes from the Executing state . . . . . . . . 174 B.11 Transitions of child nodes from the Executing state . . . . . . . . . . . . . 175 B.12 Transitions from the Failing state . . . . . . . . . . . . . . . . . . . . . . . 175 B.13 Transitions from the Finishing state . . . . . . . . . . . . . . . . . . . . . 176 B.14 Transitions from the Pausing state . . . . . . . . . . . . . . . . . . . . . . 176 B.15 Transitions from the Deactiving state . . . . . . . . . . . . . . . . . . . . 177 vii List of Figures viii B.16 Transitions from the Paused state. . . . . . . . . . . . . . . . . . . . . . . 177 B.17 Transitions from the Iteration-Ended state . . . . . . . . . . . . . . . . . . 178 List of Tables 2.1 ROS message examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.1 Performance of the caching mechanism . . . . . . . . . . . . . . . . . . . . 114 6.2 Performance of the Naive active query mechanism . . . . . . . . . . . . . 115 6.3 Comparision of performance on Program 5 . . . . . . . . . . . . . . . . . . 130 6.4 Comparision of performance on Program 6 . . . . . . . . . . . . . . . . . . 131 ix

Description:
A-Professor, TU Clausthal. Dr Antonio Sgorbissa 1.1 Artificial Intelligence and Robotics: The Reintegration . 1. 1.2 Background .
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.