Skip to content

mokhtarivahid/ebpd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Experience-Based Planning Domains (EBPDs)

Main references:

Definition 1.

An EBPD is a tuple,

∆ = (Da, Dc, R, E, M),

where Da is an abstract planning domain, Dc is a concrete planning domain, R is a set of abstraction hierarchies (i.e., inference rules) f : Dc → Da to translate the concrete space in Dc into the abstract space in Da , E is a set of experiences, and M is a set of methods in the form of activity schemata for solving problems.

Definition 1.

A planning domain D in general is a tuple,

D = (L, Σ, S, O),

where L is a first-order logic language that has finitely many predicate and constant symbols, Σ is a set of ground atoms of L that are always true (i.e., static world information), S is a set of states in which every state s ∈ S is a set of ground atoms of L which may become false (i.e., transient world information), and O is a set of planning operators.

Definition 2.

A planning operator o ∈ O is a tuple,

o = (h, S, P, E),

where h is the abstract operator's head, S is the static world information, P is the precondition, and E is the effect of a. A head takes a form n(x1 , ..., xk≥0), in which n is the name, and x1 , ..., xk are the arguments, e.g., pick(?object, ?table).

Definition 3.

An experience e ∈ E is a triple of ground structures,

e = (t, K, π),

where t is the head of a task, taught by a human user to a robot, e.g., clear(table1), K is a set of key propositions, and π is a plan solution to achieve t. K is a subset of world description of an experience. Every key proposition in K is in the form τ (P ), which τ is a timestamp and P is a predicate. The timestamps specify the temporal extent of the predicates in an experience. Three types of timestamps are used to represent key propositions, init (true at the initial state, e.g., (init(on cup table1)), static (always true during an experience, e.g., (static(arm canreach arm1 table1))), and goal (true at the goal state, e.g., (goal(on cup tray1))).

Definition 4.

An activity schema m ∈ M is a triple,

m = (h, S, Ω),

where h is a head of a target task (e.g., clear(?table)), S is the scope of applicability of m, and Ω is an abstract plan to achieve the h, i.e., a sequence or loops of abstract operators enriched with features.

Every enriched abstract operator ω is in the form: ω = (a, F), where a ∈ A is an abstract operator head, and F is a set of features, i.e., a set of key propositions (see Definition 3), that describes the arguments of a.

Definition 5.

A task planning problem is a tuple of ground structures,

P = (t, σ, s0, g),

where t is the head of a target task to be planned (e.g., clear(table1)), σ ⊆ Σ is the static world information (i.e., state invariant information), s0 ∈ S is the initial state (i.e., transient world information), and g is the goal, i.e., a set of propositions to be satisfied in a goal state sg ∈ S.

Repository content

This repository contains the materials for the experience-based planning and learning system. It includes the following files and folders for the 'robotic arm' application domain:

  1. source code implemented in swi-prolog ('ebpd-system') containing the learning and planning system.
  2. test domains:
    2.1. the planning operators domain ('domain.ebpd')
    2.2. the abstract operators domain ('domain-abs.ebpd')
    2.3. the abstraction hierarchies ('abstraction-hierarchies.ebpd')
    2.4. a set of experiences ('experience.ebpd')
    2.5. a set of activity schemata, i.e., task models ('schema.ebpd')
    2.6. a set of problems represented in both ebpd and pddl (\problems)
    2.7. the obtained results from SBP and Mp planners (\results)