Reasoning about Space, Actions and Change (RSAC)

Humans, robots and systems that act, and interact, are embedded in space, and this change is often the result of actions and events. Actions and events are a critical link to the external world, in a predictive as well as an explanatory sense: our anticipations of spatial reality conform to our commonsense knowledge of the effects of actions and events in the real world. Similarly, explanations of the perceived reality (e.g., by humans, robots, systems) also are established on the basis of such apriori commonsense notions. Integrated reasoning about Space, Actions and Change is of paradigmatic importance from the viewpoint of both theoretical as well as application-driven goals.

Spatial Control and Decision-Making

ExpCog was conceived with high-level spatial reasoning problems as an area of main focus. This includes problems including, but not limited to, spatial planning / re-configuration, abductive explanation of observations and so forth. This is also reflected in the Demo Scenarios that have been constructed.
ExpCog has two main goals: (1) Provide access to qualitative spatial representation and reasoning methods, and (2) provide transparent access to a range logic-based methods for commonsense reasoning about action and change, and purely cognitively-driven models of agency and situated control.

Qualitative Spatial Representation and Reasoning

ExpCog provides direct access to qualitative abstractions of space that may used for representing and reasoning with imprecise and uncertain spatial data. In the most basic case, robotic application domains may utilise a Qualitative Scene Description Model for grounding the robots's perceptions.
Qualitative Spatial Calculi
Qualitative Spatial Calculi are formal relational systems that pertain to one or more aspects of space, e.g., Topology, Orientation, Direction, Size. One potent use of such spatial formalisms is the ability to abstract an infinite quantity space into finite disjoint categories and then perform reasoning on the basis of the special axiomatic and / or relational algebraic semantics that underlies the constitution of qualitative spatial relationship space, or the qualitative spatial calculus itself.

A range of formal systems have been constructed in the QSTR community: The topological (region-based) Region Connection Calculus (RCC) and its several fragments (e.g., RCC-8), the point-based Single-Cross and Double-Cross Calculi for orientation, the Block Algebra, the line-segment based Dipole Calculus, the Oriented Point Relation Algebra (OPRA) etc.
The CLP(QS) Spatial Reasoning System
CLP(QS) is a declarative spatial reasoning system capable of modelling and reasoning about qualitative spatial relations pertaining to multiple spatial domains, i.e., one or more aspects of space such as topology, and intrinsic and extrinsic orientation, distance. Furthermore, users / application developers may freely mix object domains (i.e., points, line-segments, and regions) and with the available spatial domains. CLP(QS) also offers mixed geometric-qualitative spatial reasoning capabilities, and in its current form, a limited of quantification support offering the means to go back from qualitative relations to the domain of precise quantitative information.

CLP(QS) is implemented as a general library within the context of Constraint Logic Programming (CLP). Based on previous work concerning the formalisation of the framework, we now demonstrate the theoretical results by way of a comprehensive reasoning system which may be used independently, or via a logic programming based interface (i.e., Prolog-based library) within a range of large-scale cognitive systems and assistive technologies.

CLP(QS) is developed by Project DesignSpace of the SFB/TR 8 Spatial Cognition Research Center.
ExpCog aims to provide high-level capabilities to perform commonsense inference with spatial knowledge in the backdrop of formal spatial calculi. For instance, basic tasks such as topological re-configuration, and spatio-temporal abduction for scenario and narrative completion have been investigated in the context of scene descriptions consisting of set of qualitative relationships pertaining to one or more aspects of space.

Furthermore, ExpCog's scene modelling capabilities are based on the qualification capabilities provided by the SparQ toolbox. ExpCog provide direct, high-level access access to the fundamental capabilities being developed by SparQ such that robotics application may transparently and seamlessly utilize this, and other SparQ facilities via the high-level mediation.

Logical Formalizations of Space, Actions and Change

ExpCog provides an extensive collection of high-level formalisms / languages for commonsense representation and reasoning about actions and change. In so far as formalizations of spatio dynamics is concerned, both logic-based formalizations of commonsense reasoning, as well as cognitively-driven control approaches are within the scope of ExpCog.

Presently, basic STRIPS planning, the Belief-Desire-Intention model of agency, and high-level reasoning with the Situation Calculus, the Event Calculus, and the Fluent Calculus are of primary focus.
Belief-Desire-Intention (BDI) Model of Agency
The Belief-Desire-Intention (BDI) model is based on a `folk psychology' idea of the cognitive processes of humans, originally proposed by Michael Bratman. BDI agents are agents that are situated in a dynamic environment and are able to perceive the environment. The agents have actions to change the world. The behavior of an agent is based on the three mental attributes of the agent: beliefs, desires, and intentions. Beliefs are the agent’s knowledge of the world. They represent the environment and can be updated by sensing actions. Desires can be interpreted as goals and Intentions are the chosen course of action execution to accomplish a desire. AgentSpeak(L) (Rao, 1996) is one of the earlier and well-known logic-based programming language that provides to the capability to implement the BDI model of agency.
STRIPS Planning
STRIPS - the STanford Research Institute Problem Solver - originally proposed by Fikes and Nilsson (1971) as a planning program was developed at SRI International to control the SHAKEY robot. The basic STRIPS problem solver represents the state of the world as a set of atomic formulas and defines operators, which can be applied to the world model in order to transform it to a successor state. To solve a problem, it should find a sequence of operators which transform an initial world model into a world model that satisfies the given goals.
The Situation Calculus
Situation calculus as a representational formalism for modelling dynamically changing domains was first formally presented by John McCarthy. Since its original inception, the formalism has been considerably extended and elaborated in several ways in order to account for key aspects of realistic application domains (e.g., concurrency, continuous time) and some of the problems involved in modelling dynamically varying systems (e.g., frame, ramification and qualification problems). However, in all extensions, the basic ontological elements, viz - events, actions, situations and fluents remain the same.

In the context of approaches that are based on mathematical logic, situation calculus is one of the most investigated and well-understood formalisms for modelling dynamical systems, or in general, to represent and reason about events, actions and their effects.

The GOLOG Family of Languages
Several high-level control languages, e.g., GOLOG, ccGOLOG, conGOLOG, INDIGOLOG, which are based on the situation calculus semantics have been developed and applied in the cognitive robotics domain. Each of these languages is equipped with different features including concurrent and continuous change, and online / incremental execution and sensing for applicability in real (robotic) control environments.

The ExpCog framework has focussed on integration of the IndiGolog language, presently being developed and maintained by Sebastian Sardina.

The Event Calculus
The event calculus as a formalism for representing and reasoning about the effects of actions is essentially a theory of time that is based on the Logic Programming paradigm. The basic ontology of the event calculus comprises action and event types, fluents and unlike the situation calculus, explicit time-points. Like situation calculus, event calculus is capable of representing a variety of phenomena, including actions with indirect effects, actions with non-deterministic effects, complex or compound actions, concurrent actions, and continuous change.
The Discrete Event Calculus (DEC) Reasoner
The Discrete Event Calculus (DEC) Reasoner is an implementation of the discrete event calculus by Erik Mueller. DEC can be used for performing automated commonsense reasoning about arbitrary domains. The DEC reasoner solves problems efficiently by converting high-level specifications into satisfiability (SAT) problems.

Fluent Calculus
The fluent calculus is a formalism for expressing dynamical domains using logic. It derives its name from the most fundamental entity within the formalism, viz -- a fluent. Fluent calculus is similar to situation calculus, with the main difference being that situations are considered representations of states. It has been developed as a comprehensive specification and programming language, namely FLUX, primarily for applications in cognitive robotics.

The FLUX Language
FLUX is a high-level programming system developed by Michael Thielscher for cognitive agents such as autonomous robots. Cognitive agents control themselves using an internal model of their environment. FLUX is an implementation of the Fluent Calculus."