Contents
1 Introduction . . . 1
1.1 Motivation . . . 2
1.2 Problem Statement . . . 3
1.3 Challenges . . . 4
1.4 Scope . . . 5
1.5 Previous Work . . . 6
1.6 Contributions . . . 9
1.7 Outline . . . 11
2 The Hybrid Deliberative Layer . . . 13
2.1 System Architecture . . . 13
2.1.1 A Brief Overview of Robot Control Architectures . . . 13
2.1.2 The Hybrid Deliberative Layer Architecture . . . 16
2.2 HDL Components . . . 17
2.2.1 Knowledge Bases . . . 17
2.2.2 Description Logic Reasoner . . . 24
2.2.3 Planner . . . 25
2.2.4 Planning Problem Extractor . . . 27
2.3 Concept . . . 27
2.4 Ontologies . . . 28
2.4.1 HTN Planning De?nition . . . 29
2.4.2 HTN Planning TBox . . . 30
2.5 Reasoning . . . 36
2.5.1 Algorithm for HTN Planning Domain/Problem Generator . . . 36
2.5.2 Algorithm for Generating SHOP2 Code . . . 38
3 HDL Systems in the Robotics Domain . . . 43
3.1 Modelling the HTN Planning Problem in the HDL System . . . 43
3.2 Navigation Domain . . . 45
3.2.1 Step 1: De?ne the Actions and Objectives . . . 45
3.2.2 Step 2: De?ne the Task Networks . . . 47
3.2.3 Step 3: Program the Planning Domain . . . 49
3.2.4 Step 4: Test the Planning Domain . . . 50
3.2.5 Step 5: De?ne the HTN ABox in the HDL System . . . 52
3.2.6 Step 6: Modelling and Instantiating the States in the HDL System . . . 52
3.2.7 Step 7: Testing the HDL System . . . 53
3.3 Exploiting the HDL System . . . 54
3.3.1 Results. 57
3.4 Pick-and-Place Domain . . . 58
3.4.1 Problem Speci?cation . . . 58
3.4.2 Modelling Actors and Objects. 59
3.4.3 De?ning the HTN Planning Domain for Pick-and-Place Tasks . . . 60
3.4.4 Results. 70
4 Case Study: “Johnny Jackanapes” . . . 79
4.1 Robocup@Home . . . 79
4.1.1 Test Scenarios . . . 80
4.1.2 Challenges. 81
4.2 Johnny Jackanapes, The Robot . . . 82
4.2.1 Hardware Components . . . 82
4.2.2 Software Components . . . 84
4.2.3 Applications . . . 86
4.3 The HDL System in Johnny Jackanapes . . . 90
4.3.1 Using the HDL System as Knowledge Base Component 91
4.3.2 Solving Robocup@Home Tasks with the HDL System . . . 97
5 HDL Systems in the AI Domain . . . 103
5.1 Blocks World . . . 103
5.1.1 Problem Statement . . . 104
5.1.2 The HTN Planning Domain . . . 104
5.2 HDL Implementation of Blocks World . . . 109
5.2.1 HDL’s Blocks World Domain . . . 109
5.2.2 Modelling Blocks World in HDL . . . 110
5.2.3 Enhanced Model of Blocks World Domain in HDL . . . 113
5.3 Experimental Results . . . 116
5.3.1 Simple Blocks World . . . 116
5.3.2 Two Simple Blocks World Problems . . . 117
5.3.3 Complex Blocks World Problems . . . 120
6 Results and Evaluation . . . 123
6.1 Complexity of the HDL System . . . 123
6.2 Experiment Design . . . 128
6.3 Experiments . . . 130
6.3.1 Navigation Domain . . . 130
6.3.2 The Blocks World Domain. 136
6.4 Concluding Remarks . . . 141
7 Discussion . . . 143
7.1 HTN Blocks World Anomaly . . . 143
7.2 Inconsistencies in the Model . . . 144
7.3 De?ning Usable Objects . . . 145
7.4 HDL and Plan-Based-Control Approaches for Robotics . . . 146
7.5 Plan Recovery from Failures . . . 147
7.6 Operator Cost and Plan Optimisation . . . 148
7.7 HDL versus Other DL-Planning Approaches . . . 148
8 Conclusions . . . 151
8.1 Summary . . . 151
8.2 Strengths and Limitations . . . 152
8.3 Future Work . . . 153
8.3.1 A?ordance-Based Planning . . . 153
8.3.2 Using Other HTN Planning Implementations . . . 153
8.3.3 Collocate the Planner Using Web-Service . . . 153
8.3.4 Application in Plan-Based Robot Control . . . 154
8.3.5 Using DL Inference Engine for Plan Repair . . . 154
A Generated Planning Domain . . . 157
A.1 Navigation Domain . . . 157
A.1.1 An Example from the Planning–Domain Instance. 157
A.1.2 An Example from the Method Instance . . . 160
A.2 Pick-and-Place Domain . . . 162
A.2.1 Partial Pick-and-Place Domain . . . 163
A.2.2 Complete Pick-and-Place Domain . . . 166
A.3 Johnny Jackanapes Domain . . . 172
A.3.1 Solution Using Pick-and-Place Domain . . . 172
A.3.2 Bring an Object Planning Domain . . . 173
A.4 Blocks World Domain . . . 178
A.4.1 Simple Blocks World Planning Example . . . 183
A.4.2 Two Blocks World Planning Example . . . 186
A.4.3 Complex Blocks World Example . . . 191
B HDL ABox Assertion . . . 195
B.1 Navigation Domain . . . 195
B.2 Pick-and-Place Domain . . . 196
B.2.1 Partial Pick-and-Place Domain . . . 196
B.2.2 Complete Pick-and-Place Domain . . . 198
B.3 Blocks World Domain . . . 200
References . . . 203
Index . . . 211