Professor Keith L. Clark
Department of
Computing
Imperial College
180 Queen's Gate
LONDON SW7 2AZ
UK
Emeritus Professor: Imperial College
Honorary Professor: University of Queensland, University of New South Wales
Visiting Professor: Royal Holloway College, University College, Huddersfield University, Brunel University
fax:
e-mail:
|
+44 20 8594 8284
k.clark at imperial.ac.uk
|
|
|
Current Research Interests
- multi-agent systems
and multi-threaded agent architectures
- cognitive robotics
- multi-threaded
symbolic programming languages
- teleo-reactive procedures and plans
- ambient intelligence
|
Recent Papers
·
QuLog: A flexibly typed logic and functional programming language with action rules (Research Report, 2015)
·
Robotic Agent Programming in TeleoR (ICRA 2015)
·
Multi-tasking Robotic Agent Programming in TeleoR (Research Report, 2014)
·
Proactive Multi-agent Explanation Generation and Evidence Gathering
in a Service Robot Inhabited Assisted Living Environment (ICAART 2016)
Multi-tasking Teleo Reactive Agent controlling two robotic arms in concurrent tasks
The agent uses the arms to build towers of blocks distibuted over three tables. It uses the arms in parallel whenever possible and in such a way that the tasks do not intefere with one another. Nor do the arms clash although both must occasionally be used to access a shared table. The control program for each task is an multi-tasking/multi-resource using extension of Nilsson's program controlling a single arm building a single tower of
Teleo Reactive Block Tower Builder.
Below are links to three videos of multi-tasking using multiple robotic arm resources
:
Two simulated robot arms, controlled by an agent with four tower building tasks, with a voice over explanation of the behaviour
Essentially the same TeleoR program running on a Baxter robot engaged in two concurrent horozontal block configuration tasks recovering from interference.
Another Baxter video building two vertical block towers with both help and interference. The TeleoR program is esentially the same.
Communicating Teleo Reactive Agents sharing
perceptions and intentions
Each agent controls a mobile robot that moves through a network of
open doorways following tracks. The maintain the same beliefs about
their environment by continually notifying one another of their
current room location, that open/closed status of doors in each room
they enter, and their current doorway path intentions. The location
and path intentions are used to avoid collisions on tracks.
.
This is a video of a
Python visualisation of the communicating path following robots.
The extension to Nilsson's TR procedures that is used as the main agent
programming language has new forms of TR rules, new forms of action, and the concept of task atomic procedures. Task atomic procedures ensure deadlock free fair sharing of the robot arms and table resources between the tasks. The extensions are covered in a forthcoming book:
Programming Robotic Agents: A Multi-tasking Teleo-Reactive Approach,
K. L. Clark and P. J. Robinson, Springer (late 2017)
and the papers
Robotic Agent Programming in TeleoR (ICRA 2014),
Multi-tasking Robotic Agent Programming in TeleoR (Research Report, 2014)
The first six chapters of the book are downloadable from
Teleo Reactive Programs.
The TeleoR and QuLog software and documentation are downloadable from
TeleoR/QuLog Home Page
Very Old Papers that may still be of interest
·
Negation
as Failure(1978)
·
Unpublished Draft Monograph (part of my PhD thesis): Predicate Logic
as a Comptational Formalism(1980)
·
Chapter 3 of above giving a fixed point
semantics for LP treating partially instantiated answers to queries (1979)
·
Logic Programming Schemes and
their Implementations(1990)
(large pdf file, 3941368 bytes)
Selected Papers
·
April:
Agent Process Interaction Language (1995)
·
Agents as Clonable Objects
with Knowledge Base State (1996)
·
Intelligent Routing based on
Active Patterns as the basis for the integration of distributed information
systems (1997)
·
A Harness Language for
Cooperative Information Systems (1997)
·
Content based routing as the
basis for intra-agent communication (1998)
·
Distributed Object Oriented
Logic Programming (1994)
·
Distributed Object Oriented Logic
Programming as a Tool for Enterprise Modelling (1996)
·
Programming internet distributed
DAI applications in Qu-Prolog (1998)
·
A Framework for Developing
Reactive Information Agents with Heterogeneous Communication Capabilities
(2000)
·
Concurrent programming on
the web with Webstream (2000)
·
Multi-threading and Message
communication in Qu-Prolog (2001)
·
Component based agent
construction (2002)
·
Agents as Multi-threaded Logical
Objects (2002)
·
Multi-threaded
communicating agents in Qu-Prolog(2006)
·
·
Go! -- A Multi-paradigm
Programming Language for Implementing Multi-threaded Agents(2003)
·
Go! for multi-threaded
deliberative agents(2003)
·
Ontology schema for an agent
belief store(2005)
·
Ontology Oriented Programming
in Go! (2005)
·
A
multi-agent architecture for collaborative filtering(2003)
·
Distributed Logic Programming
using Mobile Agents (2004)
·
A Hybrid, Teleo-Reactive Architecture for Robot
Control(2006)
·
Ballroom etiquette: a case study for norm-governed multi-agent systems (2006)
·
ssContract Related Agents (2006)
·
SAGE: A Logical Agent-Based Environment
Monitoring and Control System (2009)
·
Pedro: A publish/subscribe
server using Prolog technology (2009)
Colleagues with related research
interests
·
Robert Cunningham
·
Robert Kowalksi
·
Marek Sergot
·
Fariba Sadri
·
Krysia Broda
·
Alessandra Russo
·
Jiefei Ma
·
Peter Robinson