Main references:
- Mokhtari, V., Seabra Lopes, L. & Pinho, A.J. Pattern Recognition Letters (2017) 99: 57.
- Mokhtari, V., Seabra Lopes, L. & Pinho, A.J. Journal of Intelligent & Robotic Systems (2016) 83: 463.
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.
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.
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)
.
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)))
.
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.
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.
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:
- source code implemented in swi-prolog ('ebpd-system') containing the learning and planning system.
- 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)