Teaching about Embedded Agents
Deepak Kumar
Department of Mathematics & Computer Science
Computer Science
Bryn Mawr College
Bryn Mawr, PA 19010

Curriculum Descant
From ACM Intelligence Magazine
Volume 9, Number 1, Summer 1998
ACM Press


Twenty years ago, if you wanted to work on computer graphics, you had to have access to expensive graphics terminals. The enterprise has evolved to the extent that one rarely considers writing an application that is devoid of a GUI. Well, mostly. A large number of us continue to persist on command line interfaces. However, the introduction of Java is quickly taking care of that. Oh no! yet another Java article. Not!

This installment is about a similar evolution that has been quietly taking place in the area of robotics. It used to be that, besides lots of money, one needed to have expertise in electrical engineering, electronic control, and a good mechanical engineering background to put together a robot like SHAKEY for purposes of modeling AI theories about intelligent agents. Do not get me wrong, one still needs these disciplines. Even more so. Just look at the effort going into the building of COG in Rodney Brooks' lab at MIT. However, there has also been an evolution of platforms that can be used for building small mobile robots that are about as expensive as adding an additional disk drive to your desk top computer, and about as easy to use (or easier!) as Microsoft Word. Besides, they give you functionality that is not too distant from that employed in the Mars rover. Several schools have started integrating these platforms into their AI courses. In my mind, the next revolution in computer science education is here.

Teaching AI using an Embedded Agent theme is an extension of the agent-centered approach. As discussed in the last installment of this column, taking an agent-oriented perspective, the problem of AI is seen as describing and building agents that receive perceptions as input and then output appropriate actions based on them. Consequently, the study of AI centers around how best to implement this mapping from perceptions to actions. By using small robots, the embedded agent perspective takes the agent-oriented approach one step further; rather than studying software agents in a simulated environment, we embed physical agents in the real world. This adds a dimension of complexity as well as excitement to the AI course. The complexity has to do with additional demands of learning robot building techniques but can be overcome by the introduction of kits that are easy to assemble. Additionally, the kits are lightweight, inexpensive to maintain, programmable through the standard interfaces provided on most computers, and yet, offer sufficient extensibility to create and experiment with a wide range of agent behaviors.

A robot building laboratory is essentially a low-cost extension of an existing computing laboratory. Each computer workstation is augmented with additional external hardware and materials and can serve teams of 2-3 students in a robot building exercise. The additional hardware required is a controller board, building materials, and some sensors. The most commonly used hardware platform is the MIT Handy Board, a Motorola 6811 based microcontroller board that is the successor to the earlier 6.270 board. One can build mobile robot bodies out of LEGO pieces and LEGO motors. The Handy Board provides a serial interface for connecting to the computer, two programmable switches, 7 analog input ports, 8 digital input ports, an infrared receiver for accepting signals from a television remote, a piezoelectric beeper, a 2-line LCD display, and 32 kilobyte of memory, all housed in a palm-sized unit weighing less than 1lb, including the rechargeable battery. Robot behaviors are programmed using Interactive C (IC), a subset of the C programming language augmented with library routines for access to the various ports and for multitasking. The latter enables the implementation of Brooks' style subsumption architectures.

A robot building laboratory intensifies the role that an AI course can play in the computer science curriculum in several important ways. It provides an avenue that represents a shift from the traditional emphasis on software development. Construction of physical agents intrinsically involves the handling of controller boards and sensors that interface to the physical world. Developing software to control the behavior of physical robots also involves working under constrained resources (speed and memory). While one can use the Handy Board as an accessible hardware device for computer scientists, if one prefers, one can also indulge in it as an electronics designer. The availability of such a lab also facilitates other possibilities that can significantly impact the entire curriculum. Some schools are starting to use robots--Not Java--as a way of teaching introductory computer science.

For more information on setting up a robot building lab, a resource kit has been created. It is available at http://mainline.brynmawr.edu/Robots/ResourceKit. You will find other useful pointers there. Also, be on the look out for tutorials and workshops organized by AAAI, KIPR (Kiss Institute for Practical Robotics), and ACM/SIGCSE in the coming months. Other, slightly more expensive robot platforms are also being developed for use in education. You will find those also listed in the resource kit. Perhaps, I will write about them in a later issue.


Fall 1997
Inaugural Installment of the new column.
(Deepak Kumar)

Summer 1998
Teaching about Embedded Agents
Using small robots in AI Courses
(Deepak Kumar)

Fall 1998
Robot Competitions as Class Projects
A report of the 1998 AAAI Robot Competition and how robot competitions have been successfully incorporated in the curriculum at Swarthmore College and The University of Arkansas
Lisa Meeden & Doug Blank)

Winter 1998
Nilsson's New Synthesis
A review of Nils Nilsson's new AI textbook
(Deepak Kumar)

Spring 1999
Pedagogical Dimensions of Game Playing
The role of a game playing programming exercise in an AI course
(Deepak Kumar)

Summer 1999
A New Life for AI Artifacts
A call for the use of AI research software in AI courses
(Deepak Kumar)

Fall 1999
Beyond Introductory AI
The possibility of advanced AI courses in the undergraduate curriculum
(Deepak Kumar)

January 2000
The AI Education Repository
A look back at AAAI's Fall 1994 Symposium on Improving the Instruction of Introductory AI and the resulting educational repository
(Deepak Kumar)

Spring 2000
Interdisciplinary AI
A challenge to AI instructors for designing a truly interdisciplinary AI course
(Richard Wyatt)

Summer 2000
Teaching "New AI"
Authors of a new text (and a new take) on AI present their case
(Rolf Pfeifer)

Fall 2000
Ethical and Social Implications of AI: Stories and Plays
Descriptions of thought provoking stories and plays that raise ethical and social issues concerning the use of AI
(Richard Epstein)

January 2001
How much programming? What kind?
A discussion on the kinds of programming exercises in AI courses
(Deepak Kumar)

Spring 2001
Predisciplinary AI
A follow-up to Richard Wyatt's column (above) and a proposal for a freshman-level course on AI
(Deepak Kumar)

Spring 2001
Machine Learning for the Masses
Machine Learning comes of age in undergraduate AI courses
(Clare Congdon)

About Curriculum Descant
Curriculum Descant has been a regular column in ACM's Intelligence magazine (formerly published as ACM SIGART's Bulletin). The column is edited by Deepak Kumar. The column features short essays on any topic relating to the teaching of AI from any one willing to contribute. If you would like to contribute an essay, please contact Deepak Kumar.