ICST Conference
conference call for paper
research conference
icst
ROBOCOMM 2009 - Second International Conference on Robot Communication and Coordination
research conference europe communications workshop

Introduction to Spatial Computing

BACKGROUND

Networked robotic systems with local communication are an example of a "spatial computer" - a collection of local computational devices distributed through a physical space, in which:

  • the difficulty of moving information between any two devices is strongly dependent on the distance between them, and
  • the "functional goals" of the system are generally defined in terms of the system's spatial structure.
Other examples of spatial computers include sensor networks, engineered biofilms, embryos during morphogenesis, distributed control systems, cellular automata, and FPGAs.

Research in spatial computing has begun to produce programming paradigms that take advantage of the special geometric nature of such networks to yield predictable aggregate behavior. Applying these paradigms to networked robotic systems greatly simplifies the programming of aggregate behavior and also makes it easy to apply algorithms and techniques from other forms of spatial computers to robotic systems.

MOTIVATION AND OBJECTIVES

Programming distributed applications in multi-robot network environments is challenging for traditional programming approaches. Typically, there are potentially large numbers of devices, spread through a physical space with only local communication, resource-constrained devices, and a frequently changing network structure. A number of programming models have been developed, however, that simplify these problems by taking advantage of the spatial character of the network structure and typical pervasive computing goals. This tutorial presents an overview of the problem area and state-of-the art approaches, plus an in-depth look at one such programming model, the Proto programming language, which uses a continuous space abstraction to enable global-to-local compilation of high-level geometric programs into distributed application code.

Attendees will learn about spatial computing and the range of existing spatial programming models. They will also learn details of the Proto language and be taught the basics of programming in Proto with a cumulative sequence of examples culminating in a complete target tracking program. It is expected that, following the tutorial, any attendee who wishes will be able to download Proto and begin building their own applications.

TUTORIAL OUTLINE

1. The spatial computing paradigm and how it maps onto robotic network scenarios (some of which will serve as application examples for the tutorial)

2. Survey of existing spatial approaches (Brief review and categorization of the several dozen systems we mention)

3. Proto and the Amorphous Medium abstraction (In-depth look at one paradigm, and the abstractions that support it)

INTENDED AUDIENCE

The primary audience for this tutorial are researchers interested in controlling large-scale spatially distributed robotic systems such as swarms and modular robots. The secondary audience are robotics researchers interested in how the spatial computing paradigms connects their field to other forms of spatial computing.

BIOGRAPHy OF INSTRUCTOR

Jacob Beal
BBN Technologies
Cambridge, MA, USA
Email: jakebeal@bbn.com

Jacob Beal, PhD, is a scientist at BBN Technologies. His research focuses on engineered self-organization. He is one a number of researchers defining the field of spatial computing, and was an organizer of the 2008 Spatial Computing Workshop at IEEE SASO. He is the inventor of the amorphous medium abstraction and, with Jonathan Bachrach, the co-creator of the Proto programming language.