curriculum Teaching About Embedded Agents wenty 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. Yet another Java article? Nod 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. 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 desktop 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, 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. T By using small robots, the embedded agent perspective takes the agent-oriented approach one step further; rather than study 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 two to three 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, seven analog input ports, eight digital input ports, an infrared receiver for accepting signals from a television remote, a piezoelectric beeper, a 2-line LCD display, and 32 kilobytes of memory, all housed in a palm-sized unit weighing less than one pound, 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 usefifl pointers there. Also, be on the lookout 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. ⢠Deepak Kumar Dept. of Mathematice & Computer Science I~i"yn Mawr College, Bryn Mawr, PA 19010 dkurnar@brynrnawr.edu Bull6tin ,~IGAI~,.T ⢠,~,ummsr 199,B
/lp/association-for-computing-machinery/teaching-about-embedded-agents-37JOLrG0Sn