Teaching Robotics from a Computer Science Perspective


Jennifer Kay
Computer Science Department
Rowan University

Historically, robotics textbooks have been written from the mechanical engineering perspective. These texts spend hundreds of pages studying gears, motors, sensors, and other related topics. While a computer scientist needs to know something about these topics, he or she certainly is not concerned with them to the degree that the texts cover. The computer scientist needs to know some of the basics about robotics, and then focus on the software, using techniques derived from Artificial Intelligence to find the best way out of a burning building, or the best way to locate an irregular part.

The following is a selection of papers that can help a computer science professor teach a first course in Robotics at the Junior/Senior undergraduate level. Some of the papers are freely available on the internet, others are part of the Association for Computing Machinery's (ACM) Digital Library or IEEE Xplore. Many universities subscribe to these electronic databases, making them freely available to their students and faculty. For those students whose universities do not subscribe to the ACM digital library, a student membership in the ACM is a reasonably priced option (cheaper than many text books and a good thing for a computer science student to do anyway). Articles can also be purchased on a per-article basis. Most articles also include a copyright notice stating that they may be copied for educational use without fee.

Introduction to Traditional Robotics: Coordinate Frames and Kinematics

This report gives a very careful description of coordinate frames and transformations, together with forward and inverse kinematics and more. I recommend that you only cover pages 1-16: coordinate frames and forward kinematics.

Robot Classes and Competitions

This is a paper for you to read, not your students. It describes the Autonomous Robotics class at Case Western Reserve University.

Lego Design

One of the biggest lessons that I think computer science students learn in a Robotics class is the fact that the same code in apparently the same environment may not work exactly the same way each time you run it. I believe it is essential to give students some practical experience in writing code for real robots. Having said that, in a computer science course, the goal is not to spend too much time on the hardware aspects of the robots. Both the Handyboard and the RCX use Lego bricks to build a robot base. This article is an excellent introduction to the mathematics of Lego and gearing.

AI Search Algorithms

Ideally a class in Robotics has an artificial intelligence class as a prerequisite and students are already familiar with various search techniques. But often in smaller departments courses are not offered with enough frequency to achieve this.

This is another paper for you to read, not for your students. It describes a tool available on the web at http://www.cs.rmit.edu.au/AI-Search/ that allows you to view a graphical demonstration of several search algorithms. The web site also includes a set of slides that you can use to help teach AI search techniques to your students.

Would a text book be better for this section of the course? Absolutely. But is it really reasonable for students to purchase an AI textbook simpliy to learn about search. Probably not.


This is not really a paper that you can give to an undergraduate and expect them to really follow the algorithm. However, I like the idea of the algorithm so much, that I do use this paper. I encourage the students to listen to my lecture before trying to follow the paper, and rather than require them to understand the algorithm completely, I am more concerned with them understanding why there is a need for such an algorithm, and the general way it operates.

Case Studies

Communications of the ACM had a special issue in March 2002 about Robotics. These are articles written for the computer science community at large, and are extremely valuable for the student in a robotics class. This article is a brief introduction to the papers that follow.
This discussion considers issues in humanoid robots, primarily through two examples (Kismet and Cog) from MIT's AI lab. Includes some interesting discussion of human vision. Along with this article you might want to reference the Humanoid Robotics group at MIT, or other humanoid robot projects mentioned in the paper.
By building bigger robots out of smaller modules, robots can reconfigure themselves for different tasks, and can cope with the failure of an individual module. Along with this article, you might want to reference the Dartmouth Robotics Lab
I've included this article in this list for completeness because it is part of the special CACM issue on Robotics. It could be very useful for an advanced Robotics class, but probably not appropriate for an introductory one. It's a bit too much virtual Robots for my taste, though it could be useful in an extended discussion of teleoperation.

This article may be a bit heavy on the probability for some students, but I think it's a good one nonetheless. Students in most classes will have experience in the impreciseness of their robots, and will be greatly relieved to find out that techniques for coping with a range of possible locations exist.

This is a fun paper that your students will love. If you have any sort of a competition of  your own, this will give students a glimpse at the next level. The focus is on Robot soccer and the Robocup competitions (you might also want to reference Robocup).
I believe that Pomerleau's use of Neural Networks in Robotics is worth taking a look at, time permitting. While this paper is getting on in years, it is the most accessable reference that I've found that gives an overview of some of the possibilities of the field.

A companion to the Pomerleau paper for those without experience in Neural Networks

Copyright (c) 2002  Jennifer Kay, http://www.rowan.edu/~kay
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage, that copies bear this notice and  and a brief description of your use of this material is sent by email to kay@elvis.rowan.edu.