Difference between revisions of "ME/CS 132a, Winter 2011"

From Murray Wiki
Jump to navigationJump to search
Line 142: Line 142:
|3 Mar (Th)
|3 Mar (Th)
|Issues in SLAM
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec16.pdf Data association and loop closing in SLAM]
|Brian Williams
|Brian Williams

Revision as of 22:02, 3 March 2011

Advanced Robotics: Navigation and Vision


  • Larry Matthies (coordinator), lhm@jpl.nasa.gov
  • Roland Brockers, Brian Williams, Adnan Ansar, Yang Cheng, Nick Hudson, Tom Howard, Yoshi Kuwata, Jeremy Ma
  • Lectures: Tue/Thu, 2:30-4 pm, 306 TOM
  • Office hours: Tue/Thu, 4-5 pm, 303 TOM (by appointment only)

Teaching Assistants (me132-tas@caltech.edu)

  • Andrea Censi, Shuo Han
  • Office hours: Mon, 5-6:30 pm, 114 STL

Course Mailing List: me132-students@caltech.edu (sign up)


  • 02 Mar 2011: The final version of Lab Assignment #2 has been posted. It is due 5:00pm, 10 Mar. No grace period is allowed. There is no lab session for this assignment (so that you won't need to sign up for a time slot).
  • 01 Mar 2011: A preview of Lab Assignment #2 has been posted. We are still finalizing it, but this one should look very close to the final version.
  • 15 Feb 2011: HW #3 has been posted. It is due 2:30pm, 22 Feb.
  • 09 Feb 2011: The location of the lab sessions for this week is 12 Steele (basement).
  • 06 Feb 2011: Office hour for the upcoming week will be held on 8 Feb (Tue), 2:30-4pm at 306 Thomas.
  • 05 Feb 2011: Lab Assignment #1 has been posted. The report is due 2:30pm, 15 Feb. No grace period is allowed for this report.
  • 04 Feb 2011: The accounts on the course server have been set up. Please follow the instructions on this page to log into the server.
  • 03 Feb 2011: Once you form a group, sign up for a time slot for the lab session on the same page.
  • 03 Feb 2011: Before midnight tonight, sign up for an ME/CS 132a user account via this page. You will receive a note once the account has been set up.
  • The solution to HW #1 has been posted (Caltech/JPL access only).

Course Information


There are no formal prerequisites for the course. ME 115 ab (Introduction to Kinematics and Robotics) is recommended but not necessary. Students are expected to have basic understanding of linear algebra, probability and statistics. We will review some of the required background materials during the first week of lectures. Besides these, students should have some prior programming experience and know at least one of the following languages: C, Python, or MATLAB. Depending on the background of the class, we will hold tutorials for some of the programming languages to help students get started.


There are no midterm/final exams for this course. The grade will be based on weekly homework (60%) and two week-long labs (20% each). Late homework will not be accepted without a letter from the health center or the Dean. However, you are granted a grace period of five late days throughout the entire term for weekly homework. Please email the TAs and indicate the number of late days you have used on the homework. No grace period is allowed for week-long labs.

  • Homework: Homework is usually due in one week after it is assigned. You can choose to turn in a hard copy in class or send an electronic copy to Andrea Censi (andrea at cds.caltech.edu). If you are unable attend the lecture, contact the TAs to find an alternative way to turn in your homework.
  • Labs: Students will form groups of 2-3 people and perform lab experiments together. Detail of this will be announced later in the course.

Collaboration Policy

Students are encouraged to discuss and collaborate with others on the homework. However, you should write your own solution to show your own understanding of the material. You should not copy other people's solution or code as part of your solution. You are allowed to consult the instructors, the TAs, and/or other students. Outside reference materials can be used except for solutions from prior years or similar courses taught at other universities. Outside materials must be cited if used.

Course Texts

There are two required textbooks, both of which are freely available online:

Other optional reference materials (books are on reserve at SFL):

  • David A. Forsyth and Jean Ponce, Computer Vision: A Modern Approach, Prentice Hall, 2003.
  • Sebastian Thrun, Wolfram Burgard, and Dieter Fox, Probabilistic robotics, MIT Press, 2005.

Lecture Notes

Week Date Topic Instructor
1 4 Jan (Tu) Overview Larry Matthies
6 Jan (Th) Illumination, Radiometry,
 and a (Very Brief) Introduction to the
 Physics of Remote Sensing Larry Matthies
2 11 Jan (Tu) Cameras Larry Matthies
13 Jan (Th) Camera Calibration Adnan Ansar
3 18 Jan (Tu) Feature Detection and Matching Roland Brockers
20 Jan (Th) Feature Quality Assessment Yang Cheng
4 25 Jan (Tu) Egomotion Estimation Adnan Ansar
27 Jan (Th) Low-level Image Processing Larry Matthies
5 1 Feb (Tu) Stereo Vision Roland Brockers
3 Feb (Th) Overview of Range Sensors Jeremy Ma
6 8 Feb (Tu) No class (week-long lab 1)
10 Feb (Th) No class (week-long lab 1)
7 15 Feb (Tu) Introduction to Estimation, Batch Filtering Nick Hudson
17 Feb (Th) Linear Kalman filter
Additional: KF proof, Gaussian distribution, KF from Choset (Ch 8)
Nick Hudson
8 22 Feb (Tu) Extended Kalman filter Nick Hudson
24 Feb (Th) Particle filters and the UKF
Additional: Particle filter example (in MATLAB)
Nick Hudson
9 1 Mar (Tu) Simultaneous localization and mapping (SLAM) Brian Williams
3 Mar (Th) Data association and loop closing in SLAM Brian Williams
10 8 Mar (Tu) No class (week-long lab 2)
10 Mar (Th) No class (study period)


Homework 1 (Due: 2:30pm, 18 Jan)

  • FAQ, Solution
  • You will need Chapter 1 from Forsyth's book, which is available here (Caltech/JPL access only).

Homework 2 (Due: 2:30pm, 3 Feb)

Lab Assignment 1 (Due: 2:30pm, 15 Feb. No grace period is allowed).

  • FAQ, Solution
  • You will need the data in this file. The lab assignment is divided into two components:
    • C/C++ component (lab01_material/part1/)
      • The folder contains the tutorial client code, reference/test images, and Player/Stage config files.
      • Be sure to sign up for a course server account if you haven't.
      • Refer to the exercises on this page to learn how to use Player/Stage.
    • MATLAB component (lab01_material/part2/)
      • The folder contains the feature datasets for RANSAC/homography, the Matlab SIFT feature extraction code, the object images, and the test sensor data.

Homework 3 (Due: 2:30pm, 22 Feb)

Lab Assignment 2 (Due: 5:00pm, 10 Mar. No grace period is allowed).

  • The lab assignment is divided into two parts. Each group should prepare for a single lab report.
    • Part I: Data Association for SLAM
    • Part II: EKF Localization
      • You will need this dataset (43 MB) containing the robot/environment configurations, sensor measurements, and landmark images. Note that the units in each file may be different (e.g. we use a mixture of meter, centimeter, and millimeter).

Older Announcements

  • The due date of HW #2 has been extended. It is now due 2:30pm, 3 Feb.
  • HW #1 has been graded. It is in Box H next to the mail slots in Steele.
  • HW #2 has been posted. It is due 2:30pm, 1 Feb.
  • The location of TA office hours has been changed to 114 Steele.
  • An FAQ page has been created for HW #1.
  • The TA office hours will be on Monday from 5-6:30pm, at 301 Thomas. Send your UID to Shuo Han (hanshuo at caltech) if you need access to Thomas after hours.
  • The instructors' office hours have been changed to "by appointment only". You can send the instructor email before class, or directly come to the instructor before/after class to schedule an office hour.
  • HW #1 has been posted. It is due 2:30pm, 18 Jan.