Rule Control of Teleo-Reactive, Multi-tasking, Communicating Robotic Agents
Lunedì, 29 Gennaio, 2018 - 12:00
Via Ariosto 25, aula A3
The robotic agents are programmed in two rule based languages: TeleoR and QuLog. The roots of TeleoR go back to the conditional action plans of the first cognitive robot, SRI’s Shakey. These lead to Nilsson’s Teleo-Reactive robotic agent language T-R. TeleoR is a major extension of T-R.
QuLog is a flexibly typed multi-threaded logic+function+action rule language. Its declarative subset is used for encoding the agent’s dynamic beliefs and static knowledge. Its action rules are used for programming the agent’s non-task threads.
The task threads are programmed using sequences of TeleoR guarded action rules clustered into parameterised procedures. The rule guards are QuLog queries to the agent’s dynamic beliefs, optionally via the static knowledge rules. The rule actions are one or more robotic actions to be executed in parallel, a single calls to a TeleoR procedure, which could be a recursive call, both optionally paired with QuLog belief update or communication actions.
We introduce the use of TeleoR and QuLog, and the multi-threaded agent architecture, with two robot control applications:
- A multi-tasking agent controlling two independent robotic arms in multiple construction tasks. Colleagues at UNSW Sydney have ported this to a Baxter robot, See https://www.doc.ic.ac.uk/~klc/20160127-LABCOT-HIx4.mp4
- Single task communicating agents each separately controlling a track following robot navigating through doorways that are exogenously opened and closed to a destination room. This is done without risk of collision and with continuous recompilation of the shortest path through doorways believed to be open. See https://www.doc.ic.ac.uk/~klc/pathFollowers.mp4
In the second application communication is as important as perception.
Keith Clark, Emeritus Professor Imperial College,
(joint work with Peter Robinson, University of Queensland)
Keith Clark has first degrees in both Mathematics and Philosophy and a PhD in Computational Logic. His first CS lecturing position was at Queen Mary College, London in 1969. With a colleague he developed a new course on automata theory more suited to CS students, based on a novel approach proposed by Dana Scott. The outcome was a text book, “Programs, Machines and Computation” published in 1975
In 1975 he moved to Imperial College to join Robert Kowalski in setting up the Logic Programming group, which became the Logic and AI section of the Computing Department. He is now an Emeritus Professor at Imperial, an Honorary Professor at UQ Brisbane, UNSW Sydney and UC London. This year he is also a Visiting Researcher at Stanford University.
His research has covered: theoretical results in computational logic, design and implementation of new logic programming languages, including concurrent languages, rule languages for programming multi-tasking communicating software and robotic agents. With students he has explored AI, multi-agent and robotic control applications of these languages.
He has consulted for the Japanese Fifth Generation Project, Hewlett Packard, IBM, ICL, Fujitsu and two start-ups, one in Sweden and one in California. He is a co-founder of the Prolog software and consultancy company Logic Programming Associates (LPA).
He has taught computing course at: Stockholm and Uppsala Universities in Sweden, Syracuse, UC Santa Cruz and Stanford Universities in the US, University of Queensland, Makerere University in Uganda, and at the British University in Egypt. Many years ago he taught mathematics at a high school in Sierra Leone.