Modern artificial intelligence robotics education treats the field as a collection of overlapping subfields. An examination of the current robotics textbooks (McKerrow 1991; Arkin 1998; Dudek and Jenkin 2000; Murphy 2000; Niku 2001; Siegwart and Nourbakhsh 2004; Craig 2005; Choset et al. 2005) indicates that these subfields are traditional planning-based robotics, behavior-based robotics, probabilistic robotics, mobile robotics, and engineering robotics. Reading these texts gives the impression that each of these fields is overlapping, yet distinct, except for engineering robotics, which many computer science/Al instructors consider to be an entirely separate field.
This fragmentation of fields likely derives from the sometimes fractious relations between the fields as they competed for primacy. "The whole idea of plan execution and the run-time maintenance of something called a 'plan' is misguided" (Brooks 1986). "This development follows a much broader trend in mobile robotics, where probabilistic techniques are commonly the method of choice over more ad hoc approaches, such as behavior-based techniques" (Thrun 2002). Although such competition is natural in a research setting, it makes it difficult to present these multiple fields coherently to an undergraduate. Exacerbating the situation, many robotics instructors present topics chronologically according to historical development. This approach, while interesting to practitioners, fails to put the areas in their technical context.
This article argues for a perspective that unifies all the competing robotics subfields into a single framework for instruction. By using the organizing principle that robotic systems are best understood as layers of abstractions over input and output channels, it results in a more natural order of topics and emphasizes their relations rather than differences. I will begin by presenting the layered framework, followed by an example AI robotics curriculum that emphasizes the similarities and encourages a cohesive big-picture understanding of the field. I will then compare the curricular themes presented in other robotics textbooks. Finally I will discuss the sometimes surprising implications of this view in how the various robotics subfields relate to each other.
Layers of Abstraction
The application of layers of abstraction in computer science is a well-known technique used either prescriptively to coordinate standards development, or descriptively to make sense of complicated processes and ease comparison of apparently conflicting ideas. The classic example of the former is the OSI network layer system (International Organization for Standardization 1994), which specifies an organization for computer networking (figure 1, left). On the other hand, layers of abstraction are used as a general guideline for the understanding of complicated systems throughout computer science and engineering, such as the organization of computer hardware, operating systems, or large pieces of software (figure 1, right). The claim made here is that the technique of applying layers of abstraction as a descriptive tool is useful for understanding robotics systems.
[FIGURE 1 OMITTED]
Layers of abstraction are a natural way to characterize intelligent robotics, in which low-level perceptions are converted to high-level decisions and actions and then converted back down to low-level motor movements. Every system does this by processing multiple sensor inputs, combining the input into increasingly higher levels of abstraction until an action decision can be made, and breaking down the decision into increasingly more specific information until it can be executed as motor commands. Intelligent robotics as a field is best seen as two information channels (input and output) crossing multiple layers of abstraction from physical signals to sophisticated symbols (such as multiple-term logical representations). All of the major paradigms fit into and can be interrelated by this paradigm. …