*3.2. Planning Formulation*

Our planning system domain D is a tuple A, Ω, F, W, *Sg* where A is the action space, Ω is the sensing action space, F is a set of literals, W is a workspace involving a mobile manipulator *R* (described by the pose of the base *Posrob* along the arm configuration *Qrob*) and a number of objects *<sup>O</sup>*, and, *Sg* is a set of grasping poses described for objects. Objects are denoted as: *<sup>O</sup>*={O*<sup>m</sup>* <sup>1</sup> *(pos,fe) ...*O*<sup>m</sup> <sup>j</sup> (pos,fe),* <sup>O</sup>*<sup>f</sup>* <sup>1</sup> *(pos,fe)* ... <sup>O</sup>*<sup>f</sup> <sup>k</sup> (pos,fe)}*, where *j* and *k* are the number of *Movable* and *Fixed* objects respectively, whose initial position and orientation are denoted by *pos*, and whose features are denoted by *fe*.

An action *a* ∈ A is a tuple *name(a), pre(a), effect(a), coneffect(a), geom(a)*, Q(*a*), where *name(a)* is the action symbolic name, *pre(a)* is a propositional formula which must hold for the action to be applied, *geom(a)* is the numerical counterpart of an action containing geometric information, *effect(a)* represents the negative and positive effects of *a* on the state it is applied to, and Q(*a*) is a query function to the motion planner which computes a motion between two robot configurations and stores the solution if any. A relaxed action *a* ∈ A (where A is the relaxed action space) is similar to the action despite it does not consider any negative effects. Actions refer to executable actions, i.e., requiring motion, and can be done by either the robot or a person. The following actions types are considered to deal with some examples of mobile robot manipulation:


Each sensing action is a tuple *pre(a), o(a)*, where *o(a)* is a literal with uncertainty. These are actions not involving motion, devoted to observing the value of *o(a)*. The observation is done in run-time. Some sample sensing actions are considered in the proposed planning system. They are the following:


A belief state *S* is a tuple *S* = P, V where P includes a set of known literals which hold in that state and a set of uncertain literals which may hold or not in the state, and V represents a full geometric description of the scene, i.e., configurations of robots and poses of objects corresponding to certain and uncertain literals. An executable action from a state *S*<sup>1</sup> results in a new world state using the state transition functions *<sup>S</sup>*2.<sup>P</sup> :<sup>=</sup> *<sup>S</sup>*1.P − *effect*−(*a*) + *effect*+(*a*) and *<sup>S</sup>*2.<sup>V</sup> :<sup>=</sup> *<sup>S</sup>*1.V − *geom*−(*a*) + *geom*+(*a*). A sensing action splits a belief state and introduces two branches into the plan marked with *o(a)*, and ∼ *o(a)*.

The planning problem T is expressed by a tuple D, S0, G where D is a domain, S<sup>0</sup> consists of a set of literals representing the initial symbolic state I such that I⊆F along their geometric assignments regarding the initial state of the world W0, and G⊆F is the set of symbolic goal conditions. The solution of a *Combined Task and Motion Planning (TAMP)* problem under uncertainty, which we denote by *π*, is a tree-shaped conditional plan, i.e., a sequence of symbolic actions achieving G, along with a feasible motion for each action.
