Difference between revisions of "ME/CS 132a, Winter 2011"
(93 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{| width=100% | |||
|- | |||
| colspan=2 align=center | | |||
<font color='blue' size='+2'>Advanced Robotics: Navigation and Vision</font> | |||
|- valign=top | |||
|} | |||
<table width=100%> | <table width=100%> | ||
<tr valign=top> | <tr valign=top> | ||
<td> | <td width=45%> | ||
'''Instructors''' | '''Instructors''' | ||
* Larry Matthies (coordinator), lhm@jpl.nasa.gov | * Larry Matthies (coordinator), lhm@jpl.nasa.gov | ||
* | * Roland Brockers, Brian Williams, Adnan Ansar, Yang Cheng, Nick Hudson, Tom Howard, Yoshi Kuwata, Jeremy Ma | ||
* Lectures: | * Lectures: Tue/Thu, 2:30-4 pm, 306 TOM | ||
* Office hours: | * Office hours: Tue/Thu, 4-5 pm, 303 TOM (by appointment only) | ||
</td><td> | </td><td width=5%></td><td width=45%> | ||
'''Teaching Assistants''' (me132-tas@ | '''Teaching Assistants''' (me132-tas@caltech.edu) | ||
* Andrea Censi, Shuo Han | * [http://www.cds.caltech.edu/~andrea/ Andrea Censi], Shuo Han | ||
* Office hours: | * Office hours: Mon, 5-6:30 pm, 114 STL | ||
'''Course Mailing List''': me132@ | '''Course Mailing List''': me132-students@caltech.edu ([https://utils.its.caltech.edu/mailman/listinfo/me132-students sign up]) | ||
</td></tr> | </td></tr> | ||
</table> | </table> | ||
== Announcements == | == Announcements == | ||
* 29 Mar 2011: A new wiki page for ME/CS 132b (Spring 2011) has been setup. Please use click [https://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132b,_Spring_2011 here] or use http://www.its.caltech.edu/~me132 to visit the new page. | |||
* 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 [http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2011,_Lab_1 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 [http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2011,_Lab_1_Sign-Up the same page]. | |||
* 03 Feb 2011: '''Before midnight tonight''', sign up for an ME/CS 132a user account via [http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2011,_Lab_1_Sign-Up 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 == | == Course Information == | ||
=== Prerequisites === | === Prerequisites === | ||
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. | |||
=== Grading === | === Grading === | ||
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 | 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 one week | * '''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. | * '''Labs''': Students will form groups of 2-3 people and perform lab experiments together. Detail of this will be announced later in the course. | ||
Line 30: | Line 48: | ||
=== Course Texts === | === Course Texts === | ||
There are two required textbooks, both of which are freely available online: | |||
* Richard Szeliski, [http://szeliski.org/Book/ ''Computer Vision: Algorithms and Applications''], Springer, 2010. | |||
* Steven M. LaValle, [http://planning.cs.uiuc.edu/ ''Planning Algorithms''], Cambridge University Press, 2006. | |||
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 == | |||
{| border=1 width=85% | |||
|Week | |||
|Date | |||
|Topic | |||
|Instructor | |||
|- | |||
|rowspan=2 align="center" | 1 | |||
|4 Jan (Tu) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec01.pdf Overview] | |||
|Larry Matthies | |||
|- | |||
|6 Jan (Th) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec02_v2.pdf Illumination, Radiometry,
and a (Very Brief) Introduction to the
Physics of Remote Sensing] | |||
|Larry Matthies | |||
|- | |||
|rowspan=2 align="center" | 2 | |||
|11 Jan (Tu) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec03.pdf Cameras] | |||
|Larry Matthies | |||
|- | |||
|13 Jan (Th) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec04.pdf Camera Calibration] | |||
|Adnan Ansar | |||
|- | |||
|rowspan=2 align="center" | 3 | |||
|18 Jan (Tu) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec05.pdf Feature Detection and Matching] | |||
|Roland Brockers | |||
|- | |||
|20 Jan (Th) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec06.pdf Feature Quality Assessment] | |||
|Yang Cheng | |||
|- | |||
|rowspan=2 align="center" | 4 | |||
|25 Jan (Tu) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec07.pdf Egomotion Estimation] | |||
|Adnan Ansar | |||
|- | |||
|27 Jan (Th) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec08.pdf Low-level Image Processing] | |||
|Larry Matthies | |||
|- | |||
|rowspan=2 align="center" | 5 | |||
|1 Feb (Tu) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec09.pdf Stereo Vision] | |||
|Roland Brockers | |||
|- | |||
|3 Feb (Th) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec10.pdf Overview of Range Sensors] | |||
|Jeremy Ma | |||
|- | |||
|rowspan=2 align="center" | 6 | |||
|8 Feb (Tu) | |||
|No class ([http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2011,_Lab_1 week-long lab 1]) | |||
| | |||
|- | |||
|10 Feb (Th) | |||
|No class ([http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2011,_Lab_1 week-long lab 1]) | |||
| | |||
|- | |||
|rowspan=2 align="center" | 7 | |||
|15 Feb (Tu) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec11.pdf Introduction to Estimation, Batch Filtering] | |||
|Nick Hudson | |||
|- | |||
|17 Feb (Th) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec12.pdf Linear Kalman filter]<br> Additional: [http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec12-notes.pdf KF proof], [http://www.cds.caltech.edu/~murray/courses/me132-wi11/caltech/gaussian.pdf Gaussian distribution], [http://www.cds.caltech.edu/~murray/courses/me132-wi11/caltech/choset_chap8.pdf KF from Choset (Ch 8)] | |||
|Nick Hudson | |||
|- | |||
|rowspan=2 align="center" | 8 | |||
|22 Feb (Tu) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec13.pdf Extended Kalman filter] | |||
|Nick Hudson | |||
|- | |||
|24 Feb (Th) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec14.pdf Particle filters and the UKF]<br> Additional: [http://www.cds.caltech.edu/~murray/courses/me132-wi11/ParticleFilterExample.zip Particle filter example (in MATLAB)] | |||
|Nick Hudson | |||
|- | |||
|rowspan=2 align="center" | 9 | |||
|1 Mar (Tu) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec15.pdf Simultaneous Localization and Mapping (SLAM)] | |||
|Brian Williams | |||
|- | |||
|3 Mar (Th) | |||
|[http://www.cds.caltech.edu/~murray/courses/me132-wi11/me132a_lec16.pdf Data Association and Loop Closing in SLAM] | |||
|Brian Williams | |||
|- | |||
|rowspan=2 align="center" | 10 | |||
|8 Mar (Tu) | |||
|No class (week-long lab 2) | |||
| | |||
|- | |||
|10 Mar (Th) | |||
|No class (study period) | |||
| | |||
|} | |||
== Homework == | |||
[http://www.cds.caltech.edu/~murray/courses/me132-wi11/hw01.pdf Homework 1] (Due: 2:30pm, 18 Jan) | |||
* [http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2010,_Homework_1_FAQ FAQ] | |||
* You will need Chapter 1 from Forsyth's book, which is available [http://www.cds.caltech.edu/~murray/courses/me132-wi11/caltech/forsyth_chap01.pdf here] (Caltech/JPL access only). | |||
[http://www.cds.caltech.edu/~murray/courses/me132-wi11/hw02.pdf Homework 2] (Due: 2:30pm, 3 Feb) | |||
* [http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2010,_Homework_2_FAQ FAQ] | |||
* You will need the data in [http://www.cds.caltech.edu/~murray/courses/me132-wi11/hw02_material.zip this zip file]. | |||
* ...and the data in the documentation for [http://www.vision.caltech.edu/bouguetj/calib_doc/ the Matlab Calibration Toolbox]. | |||
* For a very brief walk-through of SVD and its application in least-squares solution of linear systems, see [http://www.cds.caltech.edu/~murray/courses/me132-wi11/svd.pdf here]. | |||
[http://www.cds.caltech.edu/~murray/courses/me132-wi11/lab01.pdf Lab Assignment 1] (Due: 2:30pm, 15 Feb. '''No grace period is allowed'''). | |||
* [http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2010,_Lab_1_FAQ FAQ], Solution | |||
* You will need the data in [http://www.cds.caltech.edu/~murray/courses/me132-wi11/lab01_material.zip this file]. The lab assignment is divided into two components: | |||
** C/C++ component (<TT>lab01_material/part1/</TT>) | |||
*** 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 [http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2010,_Lab_1 this page] to learn how to use Player/Stage. | |||
** MATLAB component (<TT>lab01_material/part2/</TT>) | |||
*** The folder contains the feature datasets for RANSAC/homography, the Matlab SIFT feature extraction code, the object images, and the test sensor data. | |||
[http://www.cds.caltech.edu/~murray/courses/me132-wi11/hw03.pdf Homework 3] (Due: 2:30pm, 22 Feb) | |||
* [http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2010,_Homework_3_FAQ FAQ], Solution | |||
* You will need the data in [http://www.cds.caltech.edu/~murray/courses/me132-wi11/hw03_material.zip this zip file]. | |||
[http://www.cds.caltech.edu/~murray/courses/me132-wi11/lab02_v3.pdf 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 | |||
*** You will need the code in [http://www.cds.caltech.edu/~murray/courses/me132-wi11/lab02_material_part1.zip this file]. | |||
** Part II: EKF Localization | |||
*** You will need [http://www.cds.caltech.edu/~murray/courses/me132-wi11/lab02_material_part2.zip 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 [http://www.cds.caltech.edu/~murray/wiki/index.php/ME/CS_132a,_Winter_2010,_Homework_1_FAQ 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. | |||
__NOTOC__ | __NOTOC__ |
Latest revision as of 03:38, 24 January 2012
Advanced Robotics: Navigation and Vision |
Instructors
|
Teaching Assistants (me132-tas@caltech.edu)
Course Mailing List: me132-students@caltech.edu (sign up) |
Announcements
- 29 Mar 2011: A new wiki page for ME/CS 132b (Spring 2011) has been setup. Please use click here or use http://www.its.caltech.edu/~me132 to visit the new page.
- 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
Prerequisites
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.
Grading
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:
- Richard Szeliski, Computer Vision: Algorithms and Applications, Springer, 2010.
- Steven M. LaValle, Planning Algorithms, Cambridge University Press, 2006.
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
Homework 1 (Due: 2:30pm, 18 Jan)
Homework 2 (Due: 2:30pm, 3 Feb)
- FAQ
- You will need the data in this zip file.
- ...and the data in the documentation for the Matlab Calibration Toolbox.
- For a very brief walk-through of SVD and its application in least-squares solution of linear systems, see here.
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.
- C/C++ component (lab01_material/part1/)
Homework 3 (Due: 2:30pm, 22 Feb)
- FAQ, Solution
- You will need the data in this zip file.
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
- You will need the code in this file.
- 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).
- Part I: Data Association for SLAM
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.