Information Engineering in Autonomous Robot Software

Abstract

In order to engage and help in our daily life, autonomous robots are to operate in dynamic and unstructured environments and interact with people. As the robot's environment and its behaviour are getting more complex, so are the robot's software and the knowledge that the robot needs to carry out its operations. In collaborating with a human to bake a cake, for instance, the robot needs a large number of components to perceive and manipulate the objects and to communicate and coordinate the task with the human. It also needs a large body of knowledge such as the cooking instruction, the model of objects and common-sense knowledge such as, “eggs are usually found in the fridge.” To cope with such complexity, there has been a large body of research on robotic frameworks and robotic knowledge representation and reasoning systems. Robotic frameworks increase the re-usability of the robot's software by supporting its decomposition into separate components and supporting the configuration, composition, communication and coordination of the components. Robotic knowledge representation and reasoning systems provide common language structures and tools to represent, share and integrate pieces of knowledge and to reason about it. However, there is a lack of tools and mechanisms to support aggregating and correlating sensory data to extract knowledge of the robot's environment and to manage, update and query such changing knowledge in an efficient way. The robot's sensory components continuously and asynchronously process its sensory data into events, discrete pieces of information. Information engineering is the processing, management and querying of sensory events to create and use knowledge of the robot's environment. To be responsive to the situations of the environment, flows of sensory events should be processed on the fly to detect the occurrence of complex events (i.e. on-flow processing). Also, some information should be extracted and maintained in memory to query the state of the environment in the past (i.e. on-demand processing). In addition, planning and plan execution requires the repeated evaluation of the same queries. Doing so efficiently requires an incremental approach to update the results of these queries when the robot’s knowledge base is updated (i.e. incremental query evaluation). The focus of this thesis is on supporting these three models of information processing in autonomous robot software. This thesis builds on top of recent advances in logic programming to provide a novel architecture for robotic information engineering. It develops the Retalis language for a high-level and efficient implementation of information engineering functionalities. Based on logic programming, Retalis supports rule-based representation and reasoning about knowledge in all three models of information processing. In particular, Retalis addresses the problem of processing discrete and asynchronous flows of sensory data to efficiently extract, represent and manage the robot's knowledge of the state of the environment which is frequently updated through perception and queried for planning and plan execution. We discuss how Retalis can be used to develop a novel agent-based language for autonomous robot programming and present the design specification of such a language

    Similar works