Temporal Golog with Execution Monitoring

Mikhail Soutchanski

Imagine a robot that is executing a program on-line, and, insofar as it is reasonable to do so, it wishes to continue with this on-line program execution, no matter what exogenous events occur in the world. Execution monitoring is the robot’s process of observing the world for discrepancies between the actual world and its internal logical representation of it, and recovering from such discrepancies. We provide logical specifications of on-line program executions (with monitoring) formulated in a version of the situation calculus that includes time. In that version, all primitive actions have an additional temporal argument. Our account relies on specification of a single-step interpreter for the logic programming language Golog. The main contribution of this paper is an adaptation of the recently developed framework to the temporal domain. The theory is supported by an implementation. The interpreter for temporal Golog based on transitional semantics and an execution monitor have been implemented in Eclipse Prolog. Our execution monitor is able to control an arbitrary Golog program in which primitive actions depend on time. The interpreter and monitor were tested in the simulation. Ongoing work along these lines includes controlling an RWI B21 autonomous robot to perform temporal scheduling tasks in an office environment.

This page is copyrighted by AAAI. All rights reserved. Your use of this site constitutes acceptance of all of AAAI's terms and conditions and privacy policy.