Extending Knowledge-Level Contingent Planning for Robot Task Planning

We present a set of extensions to the knowledge-level PKS (Planning with Knowledge and Sensing) planner, aimed at improving its ability to generate plans in realworld robotics domains. These extensions include a facility for integrating externally-defined reasoning processes in PKS (e.g., invoking a motion planner), an interval-based fluent representation for capturing the effects of noisy sensors and effectors, and an application programming interface (API) to facilitate software integration on robot platforms. We demonstrate our techniques in three simple robot domains, which show their applicability to a broad range of robot planning applications involving incomplete knowledge, real-world geometry, and multiple robots and sensors. Introduction and Motivation A robot operating in a real-world domain often needs to do so with incomplete information about the state of the world. A robot with the ability to sense the world can also gather information to generate plans with contingencies, allowing it to reason about the outcome of sensed data at plan time. In this paper, we explore an application of planning with incomplete information and sensing actions to the problem of task planning in robotics domains. In particular, building models of realistic domains which can be used with generalpurpose planning systems often involves working with incomplete (or uncertain) perceptual information arising from real-world sensors. Furthermore, this task may be complicated by the difficulties of bridging the gap between geometric and symbolic representations: robot systems typically reason about joint angles, spatial coordinates, and continuous spaces, while many symbolic planners work with discrete representations in represented in logic-like languages. Our approach makes use of the PKS (Planning with Knowledge and Sensing) planner (Petrick and Bacchus 2002; 2004) as the high-level reasoning tool for task planning in robotics domains. PKS is a general-purpose contingent planner that operates at the knowledge level (Newell 1982), by reasoning about how its knowledge changes due to action during plan generation. PKS is able to represent known and unknown information, and model sensing actions using concise but rich domain descriptions, making it well Figure 1: In the FORCE SENSING scenario, a compliant robot manipulator senses if beverage containers are filled by lifting them and sensing their weight. Objects must be held upright while moving to prevent spilling, unless they are known to be completely empty or unopened. suited for reasoning in structured, partially-known environments of the kind that arise in many robot scenarios. While PKS has been used successfully in previous robot domains (Petrick et al. 2009), it lacks certain features which could improve its applicability to a wider range of robotics tasks. In this paper, we describe a set of extensions designed to improve PKS’s ability to generate plans in realworld robot scenarios, by focusing on three tasks: combining high-level symbolic planning with low-level motion planning, reasoning about noisy sensors and effectors, and facilitating planner-level software integration on robot platforms. The planner has also been integrated into a larger software framework called Knowledge of Volumes for robot task Planning (KVP) (Gaschler et al. 2013a), aimed at facilitating the use of planning techniques on a variety of robot platforms (see Figures 1 and 5), which has been developed as part of the JAMES project.1 This framework serves as the basis for the robot demonstrators we describe below. The rest of this paper is organised as follows. We first See http://james-project.eu/ for more information. present an overview of PKS and then describe three extensions to the basic planning system which enhance its ability to operate in robotics domains. We then give three examples of robot domains where we use the extended version of the planner to generate solutions; the first two domains are tested on real robots, while the third domain is tested in simulation. Finally, we situate our approach with respect to related research and discuss future directions of our work. Planning with Knowledge and Sensing (PKS) PKS (Planning with Knowledge and Sensing) is a contingent planner that builds plans in the presence of incomplete information and sensing actions (Petrick and Bacchus 2002; 2004). PKS works at the knowledge level by reasoning about how the planner’s knowledge state, rather than the world state, changes due to action. PKS works with a restricted subset of a first-order logical language, and limited inference. Thus, unlike planners that reason directly with possible worlds models or belief states, PKS works with a set of formulae representing the planner’s knowledge state. This enables it to support a rich representation with features such as functions and variables; however, as a trade-off, its restricted representation means that the planner cannot model certain types of knowledge. PKS is based on a generalisation of STRIPS (Fikes and Nilsson 1971). In STRIPS, the state of the world is modelled by a single database. Actions update this database and, by doing so, update the planner’s world model. In PKS, the planner’s knowledge state, rather than the world state, is represented by a set of five databases, each of which models a particular type of knowledge. The contents of these databases have a fixed, formal interpretation in a modal logic of knowledge. Actions can modify any of the databases, which has the effect of updating the planner’s knowledge state. To ensure efficient inference, PKS restricts the type of knowledge (especially disjunctions) that it can represent. The contents of the databases are as follows: Kf : This database is like a STRIPS database except that both positive and negative facts are permitted and the closed world assumption is not applied. Kf is used for modelling action effects that change the world. Kf can include any ground literal `, where ` ∈ Kf means “the planner knows `. ” Kf can also contain known function (in)equality mappings. Kw: This database models the plan-time effects of sensing actions with binary outcomes. φ ∈ Kw means that at plan time the planner either “knows φ or knows ¬φ,” and that at execution time this disjunction will be resolved. In such cases we will also say that the planner “knows whether φ. ” Know-whether information is important since PKS uses such knowledge to construct conditional plans (see below). Kv: This database stores information about function values that will become known at execution time. In particular, Kv can model the plan-time effects of sensing actions that return constants, such as numeric values. Kv can contain any unnested function term f , where f ∈ Kv means that at plan time the planner “knows the value of f . ” At execution time, the planner will have definite information about f ’s value. As a result, PKS is able to use Kv terms as run-time variables (Etzioni et al. 1992) in its plans. Kx: This database models the planner’s exclusive-or knowledge. Entries in Kx have the form (`1|`2| . . . |`n), where each `i is a ground literal. Such formulae represent a particular type of disjunctive knowledge that arises in many planning scenarios, namely that “exactly one of the `i is true. ” LCW: This database stores the planner’s local closed world information (Etzioni, Golden, and Weld 1994), i.e., instances where the planner has complete information about the state of the world. We will not use LCW in this paper. PKS’s databases can be inspected through a set of primitive queries that ask simple questions about the planner’s knowledge state. Simple knowledge assertions can be tested with a query K(φ) which asks: “is a formula φ true? ” A queryKw(φ) asks whether φ is known to be true or known to be false (i.e., does the planner “know whether φ”). A query Kv(t) asks “is the value of function t known? ” The negation of the above queries can also be used. An inference procedure is used to evaluate primitive queries by checking the contents of the databases, taking into consideration the interaction between different types of knowledge. An action in PKS is modelled by a set of preconditions that query the agent’s knowledge state, and a set of effects that update the state. Action preconditions are simply a list of primitive queries. Action effects are described by a collection of STRIPS-style “add” and “delete” operations that modify the contents of individual databases. E.g., add(Kf , φ) adds φ to Kf , and del(Kw, φ) removes φ from Kw. Actions can also have ADL-style context-dependent effects (Pednault 1989), where the secondary preconditions of an effect are described by lists of primitive queries. A simple form of quantification, ∀x and ∃x, that ranges over known instantiations of x can also be used. Examples of PKS actions are shown below in Figure 3. PKS constructs plans by reasoning about actions in a simple forward-chaining manner: if the preconditions of an action are satisfied by the planner’s knowledge state, then the action’s effects are applied to produce a new knowledge state. Planning then continues from the resulting state. PKS can also build contingent plans with branches, by considering the possible outcomes of its Kw and Kv knowledge. For instance, if φ ∈ Kw then PKS can construct two conditional branches in a plan: along one branch (the K branch) φ is assumed to be known (i.e., φ is added to Kf ), while along the other branch (the K− branch), ¬φ is assumed to be known (i.e., ¬φ is added to Kf ). A similar type of multiway branching plan can also be built by considering a restricted type of Kv information. Planning continues along each branch until the goal—a list of primitive queries–is satisfied. A sample plan with branches is shown in Figure 4, and described in greater detail below. Extensions to PKS for Robot Task Planning In this section we consider three recent extensions to the basic PKS system