Chapter 1: Introduction

The first chapter gives the motivation of the work, putting emphasis on the importance of tight integration of reasoning, accurate world representation and action execution for robustly executing manipulation tasks on autonomous robots in open environments. Referencing state of the art solutions to specific problems in specific subareas of robotics, the author introduces CRAM - a framework for implementing cognitive high-level robot control programs, which integrates these into one complete system. The author then proceeds to explain the reasons why a tight integration of reasoning, decision making and high-level planning is necessary on the example of a table setting task. A number of features of CRAM designed to achieve the latter are introduced. Next, the author lists the main contributions of the thesis, among them the plan language for writing high-level robot control programs, the build-in reasoning mechanisms for decision making, and a plan library to execute pick-and-place tasks on actual robots. Finally, an outline of the thesis is given.

Chapter 2: The CRAM software architecture

The second chapter describes the core components of the system and how they interact with each other. One core component is the CRAM plan language, which is a language for writing reactive concurrent control programs with integrated reasoning components. The other component, the CRAM Prolog interpreter, is an internal reasoning engine similar to Prolog, and it is used for every reasoning task that needs to be solved during planning and execution. Next, the author describes how plans can be written in a general way using designators – symbolic abstract representations of entities of the world that are grounded into sub-symbolic entities during execution. Designator resolution mechanisms are also explained. Another feature of CRAM plans, that the author emphasizes, is that they can be executed on different robot platforms and in simulation. The concept of process modules, which is used to achieve the latter, is described next, together with a detailed overview of the interaction mechanisms between the process modules, the high-level plans and robot's internal representation of the world. The author describes the plan library, consisting of plans for picking up and putting down objects, manipulating articulated objects and perception actions, and the goal-oriented design of the plans therein is explained. The author then gives an outline of the interaction between all the above-mentioned components. Finally, just as all the following chapters except the conclusion, this chapter ends with an overview of related work relevant for the chapter topic.

Chapter 3: CRAM reasoning extensions

The third chapter gives a detailed description of the extensions and applications of the CRAM reasoning engine that integrate geometric aspects of the environment, including robot's representation of the world, spatial and physics-based reasoning extensions and how reasoning about plans and plan execution can be performed. The chapter starts by emphasizing the importance of tight integration between reasoning and the executive and how it can be beneficial for the system. Then, the physics-based reasoning is explained in detail: a number of examples of tasks are listed where such reasoning would be required and the difference between the classical approach to this problem and the given solution is discussed. The details on the implementation of the solution are presented next: CRAM provides a physics-based reasoning engine that integrates a geometrically accurate representation of robot's environment to allow for inferring symbolically-described plan parameters based on the current state of the world, visibility, stability and reachability reasoning. The author clarifies why such importance is given to visibility, stability and reachability reasoning for pick-and-place scenarios and explains each of the three specialized reasoners in detail. Another type of reasoning extensions of the system presented in this chapter implements reasoning on executed plans by logging the actions of the robot into a knowledge base and querying the log for success and failures, achieved effects of actions and unintended side-effects. The advantages of this mechanism are demonstrated through a number of illustrative examples.

Chapter 4: Parameterizing plans

The fourth chapter continues the topic of the previous chapter of grounding symbolic entity descriptions using specialized reasoners, extending it with a way to deal with infinitely big solution domains. The main application of this extension is presented – poses in continuous 3D spaces – and examples are given. The author points out that the solutions for generating locations that satisfy the set of symbolic constrains of the location designator is based on non-optimal sampling, describes the generation-validation mechanism for finding good solutions and gives an explanation to why a good enough solution is more preferable for the system than an optimal one. The concept of density maps is introduced and the mechanism of generating infinite location samples from density maps is presented. The problem of computational complexity is mentioned and the way density maps address it is described. In addition, a method of combining different symbolic constraints on the location designator solution domain is presented. Finally, already implemented in the system density map generators corresponding to different symbolic constraints are listed. The chapter is concluded with a discussion on the advantages and drawbacks of the density map approach for generating location candidates.

Chapter 5: Temporal projection of plans

The fifth chapter describes the lightweight temporal projection mechanism that is used for taking into account future actions of the robot for improving the parameterization of plans. The chapter starts with a discussion on the difference between symbolic planning approach of finding a correct partial ordering of actions and an alternative approach presented in the thesis of carefully handcrafting general low-level plans and using reasoning for finding parameterizations for them. The author then explains the lightweight process modules implemented for the temporal projection and the efficient physics and geometric reasoning methods used during plan projection. The advantages over purely symbolic projection are listed. The handling of time in projection is described next. Finally, ways to integrate temporal projection into robot's executive are given: by repeatedly executing the top level plan of the robot in projection mode and recording the log of the simulation, the parameterization of the active plan can be improved by picking out the best parameterizations from simulation and matching behavior flaws to infer unwanted conditions.

Chapter 6: Conclusion

Thesis concludes by summarizing the presented CRAM framework, pointing out the main contributions of the thesis, the limitations of the system and an outlook on future work.