A Hybrid Deliberative Layer for Robotic Agents


A Hybrid Deliberative Layer for Robotic Agents: Fusing DL Reasoning with HTN Planning in Autonomous Robots (2011) ..


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