Robot Control and Reasoning

Demonstration of a robot learning to climb a low-step, a high-step and staircase.

Our group has a strong background in formal logic based AI and particularly in the area of reasoning about knowledge and action. The expertise in this area extends from research into abstract representation formalisms for actions and knowledge, through to pragmatic issues of implementing reasoning for the purposes of controlling robot behaviour.

Action formalisms such as the situation calculus and the fluent calculus provide a mechanism to represent and reason about dynamic domains. This makes them well-suited for robotics, where they can be used for planning robot actions as well as execution monitoring at a high-level of abstraction. In this context it is important to have an explicit representation of the agent’s knowledge and belief, which typically only reflect an incomplete fragment of the real world and may even be incorrect. In particular it is important for the robot to be aware of what it does not know or what it is uncertain about and how new knowledge can be obtained to fill these gaps. For example, finding out what items are on a table may require the robot to inspect the table from different positions. Epistemic reasoning is also particularly important in a domestic environment where a robot has to interact with human agents and therefore has to reason not only about its own knowledge but also the knowledge of other agents.

Our group has been actively involved in efforts to bring these theories of actions and knowledge to practice. For instance, we have contributed in the development of ROSoClingo, an adaptation of a high-performance Answer Set Programming (ASP) reasoner for use in the ROS open-source robot framework, and used ASP to implement a epistemic variant of the situation calculus. We are furthermore currently working on a reasoning system for first-order epistemic reasoning.