CS378 - Autonomous Vehicles in Traffic I (Spring 2012)

Teaching Staff

Piyush Khandelwal piyushk@cs.utexas.edu

Jack O’Quin jack.oquin@gmail.com
Austin Robot Technology

Todd Hester todd@cs.utexas.edu
Teaching Assistant

Jesse Vera advisor21@gmail.com
Undergraduate Mentor

Kevin Chang kchang@cs.utexas.edu
Undergraduate Mentor

Todd Swinson swinson@gmail.com
Undergraduate Mentor

Office Hours

You can view office hours as a google docs spreadsheet.
All office hours will be held at ENS31NR (Intel Lab)

Course Overview & Learning Goals

This course presents an opportunity for students to help decide whether they would enjoy going on to graduate school and an eventual career as a computer science researcher. In particular, students will be required to read published research papers, participate in discussions, propose and execute a solution to a challenging open-ended problem, make presentations to the class, and write about their work. The 2005 DARPA Grand Challenge proved that autonomous vehicles are currently technologically feasible. 5 cars navigated more than 100 miles in the Mojave Desert without any human control. However in that case, the cars were given pre-specified routes, and did not need to deal extensively with each other.

The obvious next challenge is getting cars to drive in traffic. Indeed DARPA hosted the 2007 Urban Challenge with exactly that focus. This course began as an attempt to participate in the 2007 Urban challenge. The software written by students of the class for an existing autonomous vehicle placed in the top 20 teams. The challenge of this particular class will be to recreate the software necessary to support the Urban Challenge behaviors, as well as support future undergraduate and graduate-level research on the vehicle.

Class Wiki

You can find more information about the autonomous car at http://cs.utexas.edu/~piyushk/marvin

Query/Assignment Submission

If you have a question or wish to submit an assignment, please send an email to cs378-spr12-submit@utlists.utexas.edu. Jesse, Kevin, Todd S., Jack, Todd H. and I are subscribed to this list. This way either of us can answer your questions.

Class Discussion/Announcements

We have a different mailing list for class discussion and announcements: cs378-spr12-announce@utlists.utexas.edu. Ensure that you are subscribed to this list!

Class Schedule and Assessments

Week Date Topic Asst. Assigned Assignment Due Handouts Links
1 1/18/12 Course Introduction [Slides] [Print] Reading 1 Syllabus How to read a paper
Link 1 Link 2
2 1/23/12 Introduction to ROS [Slides] [Print] Chad Jenkins' slides
1/25/12 Hardware overview [Slides] [Print] Programming 1 Reading 1 (4%) Questions
3 1/30/12 Working with CPP I [Slides] [Print] [Code]
2/1/12 Working with CPP II [Slides] [Print] [Code]
4 2/6/12 Introduction to ROS programming [Slides] [Print] Intro to ROS
2/8/12 ROS packages and stacks [Slides] [Print] Programming 2 Programming 1 (10%)
5 2/13/12 Software Architecture [Slides] [Print] Graph
2/15/12 Car Visit
6 2/20/12 Kinect Demos and PCL [Slides] [Supplementary Slides] ROS 3D Contest
PCL Tutorial
2/22/12 Velodyne Processing, rosbag, rviz [Slides] [Print] Programming 3 Screenshot Programming 2 (15%)
7 2/27/12 SVN, Camera Processing [Slides] [Print]
2/29/12 Introduction to OpenCV [Slides]
8 3/5/12 Project + Track Discussion [Slides]
3/7/12 Transformations [Slides] Programming 4 Programming 3 (10%)
Spring Break
9 3/19/12 Debugging C++ Code [Slides] [Print] Debugging
3/21/12 ROS Launch & ROS command-line tools [Slides] Research Proposal (5%)
10 3/26/12 Project meetings (No class)
3/28/12 ROS Messages and Services [Slides] [Print] Programming 5 Programming 4 (15%) Services
11 4/2/12 Parameter Server & Dynamic Reconfigure [Slides] [Print]
4/4/12 Nodelets [Slides] Programming 6 Programming 5 (10%) OR
Literary Review (15%)
12 4/9/12 Car Visit
4/11/12 Research Presentations Reading 2
13 4/16/12 Topic Talk: Localization [Probability] [Localization]
4/18/12 Paper Discussion [Particle Filters] Reading 2 (3%)
4/20/12 Reading 3 &
Programming 7
Programming 6 (15%)
14 4/23/12 Topic Talk: Object Recognition [Slides] [AAAI Tutorial] AAAI Tutorial
4/25/12 Paper Discussion [AAAI Tutorial] Reading 3 (3%)
15 4/30/12 In-class Final Presentations (15%)
5/2/12 In-class Final Presentations (15%)
5/4/12 Reading 4
5/7/12 Programming 7 (15%) (Due at 9AM)
5/9/12 Reading Assignment 4 (5%) \& Project Report (20%)

Final Exam Date

No final exam.


There are no prerequistes.

Lab Machines

Use any of the machines in the ENS31NR (ENS Basement - Intel Lab).

Collaboration Policy

  • You are encouraged to make an attempt at the assignments yourselves first. If you are unable to come up with the solution on your own, feel free to discuss with the teaching staff or your fellow students. If you discuss with a student, please be sure to mention this fact along with the names of the people you have worked with.
  • Do not copy code from anywhere without citing where you got the code from. We encourage the use of code snippets available from the internet, as long as you understand them. However, you need to ensure that your code is written independently of your classmates.
  • No part of the text written in your reviews or assignments must be copied verbatim from a source. You may rewrite the text and use a citation.
  • If there are circumstances which are preventing you from completing your assignment on time, please let me know in advance.

Assignment Submission

Assignments will be due Wednesday midnight unless specifically mentioned. Since you will be checking in most of your assignments, we’ll use the commit log to check the time of your submission. Deadlines will be strictly followed.

Late Submission Policy

1 day late - 85% credit remaining
2 days late - 65% credit remaining
3 days late - 40% credit remaining
4 days+ - no credit


The assignments are designed primarily to increase your familiarity with ROS and make it easier for you to use it in your projects and research work. The assignments will be divided into 2 parts. The first part will be easier and will generally be based of material in the class. The second part will require a lot more effort and may require you to refer to material outside the lectures. Some assignments may contain an extra credit section as well.

Research Project

We will help you choose a suitable research project. Grading for research projects will be divided into 3 parts:

Literary Review - It is necessary to review existing literature before you start work on the project. You will need to summarize relevant papers and compare your research project against these approaches.

Final Presentation - This will be a formal 5-10 minute presentation given to your fellow classmates. You will need to summarize various aspects of your project with the results.

Final Report - Needs to be submitted on the last Friday of the semester.

Relevant courses at UT

Kristen Grauman's Computer Vision (upper division undergrad)
Peter Stone's Autonomous Robots (grad)

Other courses using ROS

Chad Jenkins' Introduction to Autonomous Robots - Brown University (Take a look at his other courses here)
Information on other courses is available on the ROS Wiki

Useful links for preparing slides