CS 344R: Robotics

The goals and approach of this class will be approximately the same in Fall 2008 as they were in Fall 2007. CS 344R will share lectures with the graduate course CS 393R, but will have somewhat different requirements. See below.

As of today (8-19-08), the material below describes this year's class. Things may be adjusted, and adjustments will be announced on this web site and in class.


A robot is a computational system coupled with the physical world through its sensors and effectors. An intelligent robot learns about its world from experience, and uses the knowledge it accumulates to make better plans to achieve its goals. Robotics is hard, partly because it crosses many of the abstraction boundaries that simplify other areas of computer science.

This course has two goals. First, a number of important theories and techniques are taught, important to perception and action in a partially-known world. Second, students will work in teams, applying these methods to get intelligent behavior from physical robots.

We will be using the Sony AIBO.


Most of the practical part of the class will be done in teams of three students, each with a robot. There will be limited space due to the limited number of robots.

If you have not been able to register for the class, please contact Professor Kuipers. There will be a small number of additional spaces and a waiting list.



A robot is an intelligent system in continuous sensorimotor interaction with its environment.


Control laws are continuous dynamical systems that can be designed to bring the robot along a trajectory or keep it near a setpoint in spite of limited knowledge and sensor and motor errors.


Kalman filters can be used to track a moving target from incomplete observations, or to track a moving robot while observing fixed landmarks.

Behavior Languages

Continuous behavior can sometimes be described in terms of discrete actions and resulting states. We can make simple topological maps by defining distinctive states and the actions linking them.

Occupancy grids

Very general environments can be described by a fine-grained grid, representing the probabilities that each cell is occupied. (Laser first, then sonar.)

SLAM (Simultaneous Localization and Mapping)

There is an elegant interaction between the mapping and localization proceses.

Topological mapping

The overall structure of the environment can be described in a more concise and useful way using a topological map. Describe places, paths, regions, boundaries, etc.

Social implications

Society will be deeply affected if intelligent robots become a reality. What kinds of implications should we consider?

Handout Slides


In theory,
there's no difference
between theory and practice.
But in practice,
there is.

The course is built around a series of five demanding assignments due approximately every three weeks throughout the semester. The first three are done in teams of three, each with its own robot (the Sony Aibo!). The last two are individual assignments, using a recorded sensor trace to build a map.

Each assignment asks your team to achieve an ever more sophisticated level of behavior from your robot. Many of these assignments build on each other. It's a pretty good approximation to think of the lectures as driven by the needs of the assignments.

An important goal of the course is for you to learn how to work successfully with your team, solving academic/technical, scheduling/coordination, and social/interpersonal problems as they arise so that your team is successful.

Hello, World!

Demonstrate that you can read the sensors and control the motor primitives on your Aibo.

Learn to shoot penalty kicks

Starting with the ball in the distance, walk up and kick it.

Blocking penalty kicks

Use a Kalman filter to track the position of a ball rolling quickly toward the robot.

Build an occupancy grid metrical map

Using a sensorimotor trace from a robot with a laser range-finder, including accurate localization of the robot, build a map of the robot lab and the surrounding corridor. (Individual project.)

Simultaneous localization and mapping (SLAM)

Solve the above problem, but without the accurate localization of the robot. You are given the significantly less accurate odometry readings, and must use the sensor observations to correct them. (Individual project.)

Term Projects (Grad Students only)

In addition to the robotics assignments, grad students in CS 393R will write a research proposal. The assignment does not require you to carry out the research project, but to design it well enough to convince a reader that the project is worthwhile, and that it can be carried out as you describe.

The proposal will have four major sections.

There will be four deadlines for submitting drafts of your proposal, one after the completion of each section. Almost always, in each draft you will revise the previous sections in light of further work and thought. You will get feedback on the earlier drafts, but only the final draft will be graded.


Readings and Textbook

Research papers in robotics will be handed out and distributed online for you to read. Copies of the slides will be made available, ideally before class each day.

The recommended reference text is:

This will be used as a reference, rather than as a textbook, but we will use quite a few methods from it, and it is a valuable addition to your professional library.


Since so much of the class comes from the lectures and discussion in class, attendance is required. I will take attendance at the beginning of the class period each day. (This also helps me learn your names.) Your attendance will be counted as part of the Class Participation grade.

The Computer Science Department has a Code of Conduct that describes the obligations of faculty and students. Read it at http://www.cs.utexas.edu/users/ear/CodeOfConduct.html.