Concurrent task programming of robotic agents in TeleoR

Clark, Keith L. and Robinson, Peter J. (2017). Concurrent task programming of robotic agents in TeleoR. In: Doctoral Consortium, Challenge, Industry Track, Tutorials and Posters @ RuleML+RR 2017, London, United Kingdom, (). 11-15 July 2017.

Author Clark, Keith L.
Robinson, Peter J.
Title of paper Concurrent task programming of robotic agents in TeleoR
Conference name Doctoral Consortium, Challenge, Industry Track, Tutorials and Posters @ RuleML+RR 2017
Conference location London, United Kingdom
Conference dates 11-15 July 2017
Journal name CEUR Workshop Proceedings   Check publisher's open access policy
Publisher CEUR-WS
Publication Year 2017
Year available 2017
Sub-type Fully published paper
Open Access Status Not yet assessed
ISSN 1613-0073
Volume 1875
Total pages 20
Language eng
Abstract/Summary TeleoR is a major extension of Nilsson's Teleo-Reactive (TR) rule based robotic agent programming language. Programs comprise sequences of guarded action rules grouped into parameterised procedures. The guards are deductive queries to a set of rapidly changing percept and other dynamic facts in the agent's Belief Store. The actions are either tuples of primitive actions for external robotic resources, to be executed in parallel, or a single call to a TeleoR procedure, which can be a recursive call. The guards form a sub-goal tree routed at the guard of the first rule. When partially instantiated by the arguments of some call, this guard is the goal of the call. TeleoR extends TR in being typed and higher order, with extra forms of rules that allow finer control over sub-goal achieving task behaviour. Its Belief Store inference language is a higher order logic+function rule language, QuLog. QuLog also has action rules and primitive actions for updating the Belief Store and sending messages. The action of a TeleoR rule may be a combination of the action of a TR rule and a sequence of QuLog actions. TeleoR's most important extension of TR is the concept of task atomic procedures, some arguments of which belong to a special but application specific resource type. This allows the high level programming of multitasking agents using multiple robotic resources. When two or more tasks need to use overlapping resources their use is alternated between task atomic calls in each task, in such a way that there is no interference, deadlock or task starvation. This multi-task programming is illustrated by giving the essentials of a program for an agent controlling two robotic arms in multiple block tower assembly tasks. It has been used to control both a Python interactive graphical simulation and a Baxter robot building real block towers, in each case with help or hindrance from a human. The arms move in parallel whenever it can be done without risk of clashing.
Q-Index Code EX
Q-Index Status Provisional Code
Institutional Status UQ

Document type: Conference Paper
Sub-type: Fully published paper
Collections: HERDC Pre-Audit
School of Information Technology and Electrical Engineering Publications
Version Filter Type
Citation counts: Scopus Citation Count Cited 0 times in Scopus Article
Google Scholar Search Google Scholar
Created: Sun, 17 Dec 2017, 00:21:31 EST