![Arxiv:Cs/0003032V1 [Cs.AI] 8 Mar 2000 Endvlpdfrti Ups.A Neape Con- Example, an As Following Purpose](https://data.docslib.org/img/3a60ab92a6e30910dab9bd827208bcff-1.webp)
cc-Golog: Towards More Realistic Logic-Based Robot Controllers Henrik Grosskreutz and Gerhard Lakemeyer Department of Computer Science V Aachen University of Technology 52056 Aachen, Germany {grosskreutz,gerhard}@cs.rwth-aachen.de Abstract robot concurrently also does the following, with an in- creasing level of priority: whenever it passes the door High-level robot controllers in realistic domains typi- to Room A-118 it says “hello” and, should the battery cally deal with processes which operate concurrently, change the world continuously, and where the execu- level drop dangerously low, it recharges its batteries in- tion of actions is event-driven as in “charge the batter- terrupting whatever else it is doing at this moment. ies as soon as the voltage level is low”. While non-logic- Even this simple program exhibits important features based robot control languages are well suited to express of high-level robot controllers: (1) The timing of ac- such scenarios, they fare poorly when it comes to pro- tions is largely event-driven, that is, rather than ex- jecting, in a conspicuous way, how the world evolves plicitly stating when an action occurs, the execution when actions are executed. On the other hand, a logic- time depends on certain conditions becoming true such based control language like ConGolog, based on the sit- as reaching a certain door. Most robot control lan- uation calculus, is well-suited for the latter. However, it has problems expressing event-driven behavior. In guages realize this feature using the special construct waitFor(φ), which suspends activity until φ becomes this paper, we show how these problems can be over- 2 come by first extending the situation calculus to sup- true. (2) Actions are executed as soon as possible. For port continuous change and event-driven behavior and example, the batteries are charged immediately after then presenting cc-Golog, a variant of ConGolog which a low voltage level is determined. (3) Conditions such is based on the extended situation calculus. One ben- as the voltage level are best thought of as changing efit of cc-Golog is that it narrows the gap in expres- continuously over time. (4) Parts of programs which siveness compared to non-logic-based control languages execute concurrently and with high priority must be while preserving a semantically well-founded projection non-blocking. For example, while waiting for a low bat- mechanism. tery level, mail delivery should continue. On the other hand, the actual charging of the battery should block Introduction all other activity. High-level robot controllers typically specify processes Given the inherent complexity of concurrent robot which operate concurrently and change the world in programs, answers to questions like whether a program a continuous fashion over time. Several special pro- is executable and whether it will satisfy the intended gramming languages such as rpl (McDermott 1992),1 goals are not easy to come by, yet important to both rap (Firby 1987), or colbert (Konolige 1997) have the designer during program development and the robot arXiv:cs/0003032v1 [cs.AI] 8 Mar 2000 been developed for this purpose. As an example, con- who may want to choose among different courses of ac- sider the following rpl-program: tion. A principled approach to answering such ques- tions is to project how the world evolves when actions WITH-POLICY WHENEVER Batt-Level ≤ 46 are performed, a method which also lies at the heart of CHARGE-BATTERIES planning. WITH-POLICY WHENEVER NEAR-DOOR(RmA-118) In the case of rpl, a projection mechanism called SAY(“hello”) xfrm DELIVER-MAIL exists (McDermott 1992; 1994), but it has prob- lems.3 Perhaps the most serious deficiency of xfrm is Figure 1: Office delivery plan that projections rely on using rpl’s execution mecha- nism, which lacks a formal semantics and which makes Roughly, the robot’s main task is to deliver mail, which we merely indicate by a call to the proce- 2 waitFor dure DELIVER-MAIL. While executing this procedure, the In the example, is hidden within the whenever- construct. 1rpl has recently been used successfully to control the 3As far as we know, other non-logic-based robot control behavior of a mobile robot deployed in a realistic environ- languages like rap or colbert do not even consider projec- ment for an extended period of time (Thrun et al. 1999). tion. predictions implementation dependent. Preferably one functional fluents and are denoted analogously; finally, would like a language which is as powerful as rpl yet al- there is a special predicate Poss(a,s) used to state that lows for projections based on a perspicuous, declarative action a is executable in situation s. semantics. Within this language, we can formulate theories The recently proposed language ConGolog (de Gia- which describe how the world changes as the result of como, Lesperance, & Levesque 1997) fulfills some of the available actions. One possibility is a basic action these desiderata as it offers many of the features of rpl theory of the following form (Levesque, Pirri, & Reiter such as concurrency, priorities etc. and, at the same 1998): time, supports rigorous projections of plans4 because it is entirely based on the situation calculus(McCarthy • Axioms describing the initial situation, S0. 1963; Levesque, Pirri, & Reiter 1998). • Action precondition axioms, one for each primitive It turns out, however, that despite many similari- action a, characterizing Poss(a,s). ties, ConGolog in its current form is not suitable to F represent robot controllers such as the example above. • Successor state axioms, one for each fluent , stat- F ~x, a,s The main problem is that the existing temporal ex- ing under what conditions ( do( )) holds as a s. tensions of the situation calculus such as (Pinto 1997; function of what holds in situation These take the Reiter 1996) require that the execution time of an ac- place of the so-called effect axioms, but also provide tion is supplied explicitly, which seems incompatible a solution to the frame problem (Levesque, Pirri, & with event-driven specifications. To solve this prob- Reiter 1998). lem we proceed in two steps. First we present a new • Domain closure and unique name axioms for the ac- extension of the situation calculus which, besides deal- tions. ing with continuous change, allows us to model actions • Foundational, domain independent ax- which are event-driven by including waitFor as a spe- ioms (Levesque, Pirri, & Reiter 1998). cial action in the logic. We then turn to a new variant of ConGolog called cc-Golog, which is based on the ex- 1. ∀P.P (S0) ∧ [∀s∀a.(P (s) ⊃ P (do(a,s)))] ⊃ ∀sP (s); tended situation calculus. We study issues arising from 2. do(a,s)= do(a′,s′) ⊃ a = a′ ∧ s = s′;5 the interaction of waitFor-actions and concurrency and 3. ¬(s ❁ S0); show how the example-program can be specified quite ❁ ′ ′ ′ naturally in cc-Golog with the additional benefit of sup- 4. s do(a,s ) ≡ s ⊑ s , where s ⊑ s stands for ❁ ′ ′ porting projections firmly grounded in logic. (s s ) ∨ (s = s ). The rest of the paper is organized as follows. In the 5. s ≺ s′ ≡ s ❁ s′ ∧ ∀a,s∗.s ❁ do(a,s∗) ⊑ s′ ⊃ next section, we briefly review the basic situation cal- Poss(a,s∗) culus. Then we show how to extend it to include con- The first is a second-order induction axiom ensuring tinuous change and time. After a very brief summary that the only situations are those obtained from apply- of ConGolog, we present cc-Golog, which takes into ac- ing do to S0. The second is a unique names axiom for count the extended situation calculus. This is followed situations. ⊑ defines an ordering relation over situa- by a note on experimental results and conclusions. tions. Intuitively, s ⊑ s′ holds if s′ can be obtained from s by performing a finite number of actions. Fi- The Situation Calculus nally, s ≺ s′ holds when there is a legal sequence of One increasingly popular language for representing and actions leading from s to s′, where legal means that reasoning about the preconditions and effects of actions each action is possible. is the situation calculus (McCarthy 1963). We will not go over the language in detail except to note the follow- Continuous Change and Time ing features: all terms in the language are one of three sorts, ordinary objects, actions or situations; there is Actions in the situation calculus cause discrete changes a special constant S0 used to denote the initial situa- and, in its basic form, there is no notion of time. In tion, namely that situation in which no actions have yet robotics applications, however, we are faced with pro- occurred; there is a distinguished binary function sym- cesses such as navigation which cause properties like the bol do where do(a,s) denotes the successor situation robot’s location and orientation to change continuously to s resulting from performing the action a; relations over time. In order to model such processes in the situa- whose truth values vary from situation to situation are tion calculus in a natural way, we add continous change called relational fluents, and are denoted by predicate and time directly to its ontology. symbols taking a situation term as their last argument; As demonstrated by Pinto and Reiter (Pinto 1997; similarly, functions varying across situations are called Reiter 1996), adding time is a simple matter. We add a new sort real ranging over the real numbers and, for 4In this paper we will use the terms program and plan mnemonic reasons, another sort time ranging over the interchangeably, following McDermott (McDermott 1992) who takes plans to be programs whose execution can be 5We use the convention that all free variables are implic- reasoned about by the agent who executes the program.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages9 Page
-
File Size-