BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Programming Robotic Agents: A Multi-tasking Teleo-Reactive Approac
 h - Professor Keith Clark\, Department of Computing\, Imperial College\, L
 ondon
DTSTART:20140714T130000Z
DTEND:20140714T140000Z
UID:TALK53343@talks.cam.ac.uk
CONTACT:Alan Mycroft
DESCRIPTION:This talk will present a multi-threaded and multi-tasking robo
 tic agent architecture in which the concurrently executing tasks\, which c
 an be alternating use of several robotic resources\, are programmed in Tel
 eoR.  This a major extension of Nilsson’s Teleo-Reactive Procedures lang
 uage (TR) for robotic agents.  The architecture is for mid to high level c
 ontrol. \n\nTeleoR programmed tasks are robust and opportunistic\, redoing
  or skipping robotic resource actions as appropriate.  This makes them wel
 l suited to robot/robot or human/robot co-operative tasks. \n\nTeleoR’s 
  most important extension of TR is the concept and use of task atomic proc
 edures to control the deadlock and starvation free use of the robotic reso
 urces by an agent’s concurrent tasks. \nThis use is illustrated in a sim
 ulation video at http://youtu.be/f81U0iHNzB0. \n\n*More Details* \n\nA Tel
 eoR program comprises sequences of Guard ~> Action rules grouped into proc
 edures. The Action is either:\n\n*    a set of robotic resource actions to
  be executed in parallel\, or {} do nothing\n*    a call to an TeleoR proc
 edure - a programmed action\, \n*    a repeatable sequence of time limited
  durative robotic actions or procedure calls. \n\nwith optional associated
 \n\n*    message send actions to other robotic agents or humans\n*    atom
 ic updates of the agent’s beliefs\n\n\nIn each called procedure the firs
 t rule with an inferable Guard is fired and its action started.  If this a
  robotic resource action its effect may be to modify a previous actions us
 ing the same resources.  The primitive resource actions may be relatively 
 complex\, such as moving a jointed robot arm.\n\nThe Guard  inference uses
  facts and rules rules of typed declarative language sitting in the agent
 ’s deductive BeliefStore to give an application specific interpretation 
 of rapidly changing percepts and more slowly changing told facts\, the dyn
 amic component of the BeliefStore.  The percepts are  abstractions of sens
 e data and may have involved lower level analysis such as image processing
 . \n\nA percept handler thread within the agent frequently atomically upda
 tes the BeliefStore. Another thread converts received messages into new be
 liefs giving a minimum three thread architecture.\n\nOn each BeliefStore u
 pdate the rule firings of all called procedures are re-considered. This ma
 y cause several nested procedure calls to be terminated and replaced by a 
 new nested sequence because of the firing of a different rule in some call
 . It is what gives the language its elastic behaviour. Compiler analysis e
 nsures that only rule firings that may be changed by an update are re-chec
 ked. \n\nTeleoR can also be used to program pure communicating agent appli
 cations simply by having all rules with the {} robotic resource action.  T
 here will then be a task thread handling each conversation.  \n\n
LOCATION:SS03
END:VEVENT
END:VCALENDAR
