Research projects
ALAN: Designing an axiomatization language for autonomous agents and mobile robots.
2002 - 2006
Abstract:
The aim of this project is the development of a
theoretically founded, high-level axiomatization language
for intelligent software agents and autonomous robots.
The language ALAN is based on the theory of the Fluent
Calculus, which we devised successfully during the last
three years.
In opposite to classical programming languages, where
basic commands manipulate the internal state of the program
only, the basic commands comprising a software agent or a
program for robot navigation are actions which affect the
external environment.
Furthermore, autonomous agents and robots have to respond
to specific situations in a flexible and intelligent way,
such that the programmer only needs to provide a framework
that allows for a certain range of freedom in response being
autonomously determined according to the specific situation
in an appropriate way.
By that, programming becomes axiomatization, i.e.,
describing the problem instead of developing a detailed plan
of incremental problem solving.
The objectives of the axiomatization language ALAN
(Axiomatization Language for Agents), which is to be developed
during this project, are as follows. First, it will provide a
method for specifying the effects of basic actions on the
agent's specific environment. Next, the language will allow
for programs that are highly non-deterministic and only specify
the framework mentioned above. Using this concept, a software
agent or a robot has to be able to autonomously choose an
option of execution of the non-deterministic program that is
appropriate with respect to the given theory on the effects
of its actions.
This requires a comprehensive theory of automatic logical
inference on actions, as the Fluent Calculus already represents
in a limited way. The extension of this theory as well as its
application forming a foundation concerning syntax, semantic and
implementation of ALAN, is the objective of our project.
Watch this movie (low resolution 75 MB MPEG1)
(high resolution 238 MB MPEG2) demonstrating ALAN solving a complex delivery task in an office environment.
In this movie (low resolution 30 MB MPEG1)
(high resolution 95 MB MPEG2) our mobile robot picks up an object for delivery.
This movie (low resolution 23 MB MPEG1)
(high resolution 70 MB MPEG2) demonstrates obstacle avoidance and path planning of our mobile robot.
Student projects
Stephan Schiffel
Translation of Domain Specifications between Situation Calculus and Fluent Calculus.
Diploma thesis, 2005
Abstract:
Situation Calculus and Fluent Calculus are two action formalisms used for describing dynamic domains. Both calculi provide different solutions to the frame problem and therefore the programming languages based on them - Golog and Flux - have different properties. For this reason, one might be suited better than the other to solve certain classes of problems. In order to compare the two calculi or the two programming languages a formal relation between both is needed. In this thesis I develop such a relation in form of a translation function between domain axiomatisations of Situation Calculus and Fluent Calculus and prove the correctness of this translation. Furthermore, I present an implementation of this translation function in Prolog which translates Golog domain descriptions to Flux and vice versa.
(PDF,
345 KB;
PS.GZ,
249 KB)
Isara Anantavrasilp.
Learning Agent: A Step Toward Automated Agent Programming.
MSc thesis, 2004
Abstract: Fluent Calculus, a high level action representation formalism, employs the
concept of state-update axioms to formalize actions together with their effects
and, in effect, provides a solution to the classical frame problem. However,
encoding the state-update axioms could be very difficult and error-prone,
especially if the programmer is not familiar with the programming domain.
To tackle this problem, a framework which allows the agent to learn the
effects of its own actions (i.e. its state-update axioms) in a deterministic
environment has been proposed. The Candidate Elimination algorithm has
been utilized to add this learning ability to the agent. By maintaining version
spaces of each action, the possible state-update axioms, based on the
evidence of the already-seen observations, can be extracted when required.
This framework has been evaluated by the simulation of the learning agent
in the Yale Shooting scenario. An impressive result had been carried out in
the experiment. The agent successfully learned the effects of its actions with
100% correctness.
Loïc Alain Royer.
Subsumption Special Fluent Calculus:
Towards a Unification of Representationalism and Behaviorism through an Abstraction Action Theory.
MSc thesis, 2003
Abstract: A variant of the Special Fluent Calculus action theory is
introduced: the Subsumption Special Fluent Calculus, along with its logic programming
implementation: the Subsumption FLUent calculus eXecutor (SFLUX). This new action
theory is able to represent an agent's domain as a hierarchy of abstracted models.
Harnessing the state space complexity and bridging the gap between cognitive and
reactive control are the main two goals of this work. In essence we merge into one
paradigm the key ingredients of representational AI and subsumption-based AI through
the use of abstraction. The SFLUX language is a purely declarative specification
language consisting of the agent's domain axiomatization and an interface to actuators
and sensors. As a proof of principle, a real physical Blocks World robot: Mani II was
built. It is entirely controlled from the low level to the high level in SFLUX. It is a unified
architecture, with nothing more than a thin interface to real sensors and actuators. The
system is very fast, computationally efficient, and is mostly implemented in Prolog. As
integral part of this system, a simple execution monitoring strategy is shown to be
capable of recovering from unexpected changes of the world in a sound and, if
needed, optimal way.
Watch this movie
(1.2 MB AVI), demonstrating SFLUX applied to the Mani-II robot in the blocks world.