Controlling Logistics Robots with the Action-based Language YAGI


To achieve any meaningful tasks, a robot needs some form of task-level executive which acquires knowledge, reasons or plans, and performs and monitors actions. A formal approach for such agent programming is the Golog agent programming language. Golog is based on a first-order logic representation, and a drawback of common implementations is that in order to program agents, also knowledge of Prolog functionality is typically needed. In this paper, we present a prototype implementation of YAGI, a language rooted in Golog that offers a practical subset of the rich Golog framework in a more familiar syntax. Bridging imperative-style programming with an action-based specification, YAGI is more accessible to developers and provides a better ground for robot task-level executives. Moreover, we developed bindings for popular robotics frameworks such as ROS and Fawkes. As a proof of concept we present a YAGI-based agent for the RoboCup Logistics League which shows the expressiveness and the possibility to easily embed YAGI into robot applications.

Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems 2015 (IROS) – Workshop on Task Planning for Intelligent Robots in Service and Manufacturing