Teaching
about Embedded Agents |
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 Summer
1998 Fall
1998 Winter
1998 Spring
1999 Summer
1999 Fall
1999 January
2000 Spring
2000 Summer
2000 Fall
2000 January
2001 Spring
2001 Spring
2001 |
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.