6.2 A Control Architecture for Acting under Uncertainty
6.2.4 High-Level Plans and Directly Observable Fluents
While in ConGolog and cc-Golog plans the execution of actions is conditioned on the value of fluents which are either true or false, in a probabilistic setting the high-level controller has merely beliefs about the value of fluents. For example, in our example the robot initially believes that FL holds with probability 30%. As a result, in our probabilistic framework we no longer consider high-level plans whose tests appeal to the value of fluents, but instead
consider belief-based plans which appeal to the robot’s beliefs at execution time.8
In particular, we only consider programs written in a variant of pGOLOG which we call bGOLOG as legal high-level plans. bGOLOG programs are non-probabilistic and may only appeal to the robot’s beliefs, that is to the term Bel which is a reified version of the fluent Bel (cf. Section 3.3.2) with situation argument suppressed. Similarly, a legal bGOLOG plan may not appeal to functional fluents in primitive actions or procedure calls (we will relax this assumption in Section 7.3.1). Furthermore, a bGOLOG plan may not include waitFor(τ ) actions, because their execution appeals to the least time point of τ , and the robot is not guaranteed to know about it (we will elaborate on this assumption in Section 7.3.1). Finally, as we assume that the high-level controller cannot directly affect the state of the world (cf. Figure 6.1), we only consider bGOLOG programs as legal high-level plans if they do not execute any action which affects a fluent used to describe the state of the world (as opposed to a fluent like reg used to describe the state of the high-level controller). For simplicity, we restrict the primitive actions which may occur in a high-level bGOLOG plan to send actions. See Appendix A.3.2 for a thorough treatment of these issues, including the reification of Bel as first-order term. As the examples in the remainder of this chapter illustrate, these restrictions are not as severe as they may seem.
As a simple example, the following bGOLOG plan activates both inspect and paint, waits for their completion and finally processes the widget according to the result of inspect:
Πbb= [send(fork, inspect), Bel(reg(inspect). 6= nil) = 1?,
send(fork, paint), Bel(reg(painted)6= nil) = 1?,
if(Bel(reg(inspect) = OK) = 1, send(fork, ship), send(fork, reject)),
Bel(reg(processed)6= nil) = 1?].
The test Bel(reg(inspect)6= nil) = 1? can be used to verify that inspect has executed a reply
action due to the fact that initially all registers have the value nil.9 Thus, the value of
reg(inspect) only changes from nil to a new value (i.e. OK or OK) when inspect executes a reply(inspect, OK/OK) action, and as the high-level controller is aware of all reply actions (cf.
8
This is similar to Reiter’s notion of knowledge-based programming [Rei00]. However, we remark that here we are dealing with degrees of belief.
9
Section 6.2.2), its belief in reg(inspect)6= nil rises to 1 right after the completion of inspect.10
Similarly for the other epistemic tests.
Note that the above plan only appeals to the robot’s beliefs concerning the value of the
fluent reg. Furthermore, the robot’s beliefs are only compared with the values 1 and 0,
meaning that the above plan does not really appeal to probabilistic, real-valued beliefs. This is no coincidence. In fact, in this chapter we will only consider pseudo-belief-based plans whose tests and conditionals only appeal to the robot’s beliefs concerning the set of registers reg. That is, while in general bGOLOG plans can also appeal to the robot’s real-valued beliefs
concerning other fluents, in this chapter we do not consider programs like the following:11
Πf orbidden= [send(fork, inspect), Bel(FL). 6= 0.3?,
send(fork, paint), Bel(PA) > 0?,
if(Bel(FL < 0.5, send(fork, ship), send(fork, reject)), Bel(PR) = 1?].
The reason why in this chapter we only consider epistemic tests appealing to the robot’s beliefs concerning the set of registers reg is that in order to determine the belief in arbitrary sentences we need a successor state axiom for the fluent p, specifying how the robot’s beliefs evolve over time. However, the specification of such a successor state axiom is quite complicated, and we will postpone it to the next chapter (we will consider general belief-based programs in Section 7.3.1). On the other hand, as we will see, it is straightforward to determine the robot’s beliefs concerning the fluent reg.
Intuitively, the robot always has perfect information about the value of reg, because it is aware of all actions that affect its truth value, namely of all send and reply actions. As there is no uncertainty about the value of reg, we distinguish reg from other fluents and call it directly observable. Directly observable fluents are such that the agent always has perfect information about them - like the display of one’s watch or a fuel gauge in the car. Formally, directly observables are defined as follows:
Definition 17 (Directly Observable Fluents) Let Γ be a situation calculus theory includ- ing a characterization of an agent’s epistemic state in terms of the fluent p (see Section 3.3). We call a relational fluent F directly observable with respect to Γ if and only if the following holds:
Γ|= [S0 s ∧ p(s0, s) > 0]⊃ F (~x, s0)≡ F (~x, s).
Similarly, we call a functional fluent f directly observable if and only if Γ|= S0 s ∧ p(s0, s) > 0⊃ f(~x, s0) = f (~x, s).
The following proposition, which follows directly from the definition of Bel, ensures that we do not have to worry about the fluent p to determine the robot’s beliefs concerning the value of directly observable fluents.
Proposition 18:
Let Γ be a situation calculus theory including a characterization of an agent’s epistemic state in terms of the fluent p, and F a directly observable fluent with respect to Γ. Then:
10
We remark that so far, this claim is only supported by our intuition, as we have not yet presented a successor state axiom for p, specifying how the robot’s beliefs evolve over time.
11
6.3. PROBABILISTIC PROJECTION IN PGOLOG 123