ME CS 132 2017
This is the homepage for ME/CS 132(a,b) (Advanced Robotics: Navigation and Vision) for Winter/Spring 2017.
Course Staff, Hours, Location
Position | Name | Office | Office Hours (changing weekly) | Phone | |
Instructor | Joel Burdick | 245 Gates-Thomas | send mail for an appointment | jwb at robotics dot caltech dot edu | 626-395-4139 |
Teach Asst. | Joseph Bowkett | 205 Gates-Thomas | TBD | jbowkett at caltech dot edu | 626-395-1989 |
Teach Asst. | Daniel Pastor Moreno | 205 Gates-Thomas | TBD | dpastorm at caltech dot edu | 626-395-1989 |
Teach Asst. | Yoke Peng Leong | Annenberg | TBD | ypleong at caltech dot edu | 626-395-???? |
Administrative | Sonya Lincoln | 250 Gates-Thomas | 7:30am-noon; 1:00pm-4:30pm | lincolns at caltech dot edu | 626-395-3385 |
Lecture Schedule: Based on a vote in the first organizing class, for the near future ME/CS 132(b) we meet at these times:
- Monday: 10:00-11:00 am - 115 Gates-Thomas
- Wednesday: 2:00-3:00 pm. - 384 Firestone
- Friday: 3:00-4:00 pm. - 384 Firestone
Note: As the course enrollment firms up, we will vote one more time to find the most convenient time.
Announcements For ME/CS 132(a,b)
- 05/15/17: Bookings for hardware to use in the final project can be made here, with descriptions on how to bring up the Parrot SLAM Dunk and Media:ME132b_TurtleBot_Bringup.pdf TurtleBot
- 05/12/17: The class lecture is CANCELLED today. Class will resume on Monday as scheduled
- 05/10/17: The Final Project Guidelines are available.
- 05/01/17: Demo times for Lab 3 are available here
- 04/26/17: CLASS IS CANCELLED TODAY. We will have the regularly scheduled class on Friday.
- 04/19/17: Lab 1b is available below, with demo times available here
- 04/10/17: Lab 1a is available below, with demo times available here
- 03/15/17: The Final Exam is available. Directions are on the front page.
- 03/01/17: Homework 4 (last homework) deadline pushed to Friday March 10th to allow time for report writing after second hardware demos conclude Thursday
- 02/28/17: Homework 4 deadline pushed to Wendesday March 8th, scheduling for 1st hardware demo sent in email
- 02/22/17: Final Project Guidelines are available
- 02/13/17: Office Hours for Homework #3 will be held 6-7 pm on Wed., Feb 15 in 220 SFL, and 4:00-5:30 pm on Thurs., Feb 16 in 231 SFL
- 02/01/17: Office Hours for Homework #2 will be held 7:30-9:00 pm on Thurs., Feb. 1 in 135 Gates-Thomas
- 01/22/17: Office Hours for Hmmeowrk #1 will be held 8-10 pm on Sunday, Jan. 22 in 135 Gates-THomas.
- 01/05/17: The meeting time and place have been set for the class lectures.
- 01/04/17: The permanent lecture hours and location will be determined at the course organizational meeting.
Course Text and References
1) The main text for the first half of the course is:
- Planning Algorithms by Steve LaValle (UIUC).
You can buy this book on-line at Amazon. A preprint of the text is available freely on-line, and is adequate for all course activities.
2) The following book is recommended (but not required):
- Principles of Robot Motion: Theory, Algorithms, and Implementations, by Howie Choset, Kevin Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia Kavraki, and Sebastian Thrun.
This text is available at Amazon in both new and used versions.
3) Interested students may wish to also consult the following classic (but now out-of-print) text on motion planning: Robot Motion Planning by J.C. Latombe. A copy is available in the Caltech library.
Course Lecture Schedule for ME/CS 132(b)
Week | Date | Topic | Reading | Optional Reading | Homework |
1 |
Odometry and Localization | ||||
3 Apr. (Mon.) | Class Overview & Mechanics |
ME/CS 132(b) Course Overview | -No Homework- | ||
5 Apr. (Wed.) | Review of Wheel Odometry and Intro to Inertial Navigation | Odometry for a Planar Differential Drive Vehicle Slides on Inertial Navigation |
|||
7 Apr. (Fri.) | Inertial Navigation: Review of Spherical Kinematics | ||||
2 |
| ||||
10 Apr. (M) | Inertial Navigation: Rigid Body Velocities and Orientation Estimation | Lab 1a | |||
12 Apr. (W) | Inertial Navigation: Position Estimation and Euler Angles | Notes on The Kinematics of Inertial Navigation | |||
14 Apr. (F) | Review of Kalman Filters | Choset et. al, Chapter 8 | |||
3 |
Localization & Estimation | ||||
17 Apr. (M) | Euler Angles & Intro to Localization | Lab 1b | |||
19 Apr. (W) | Kalman Filters with no noise or disturbance | ||||
21 Apr. (F) | Kalman Filters (continued) | ||||
4 |
Localization & Estimation | ||||
24 Apr. (M) | Range and Bearing Localization | Lab 3 | |||
26 Apr. (W) | Class Cancelled | ||||
28 Apr. (F) | Intro to SLAM (Simultaneous Localization and Mapping) | Tutorial Paper on SLAM 1; Tutorial Paper on SLAM 2 | Recent Survey paper on SLAM | ||
5 |
SLAM (continued) | ||||
1 May (M) | Intro to EKF SLAM | Paper on EKF SLAM | -N/A- | ||
3 May (W) | EKF SLAM (continued) Scan Matching |
Notes on Feature-Based EKF SLAM | |||
5 May (F) | SCAN matching and SLAM | Lu & Milio Paper on Scan Matching Odometry | Stochastic Cloning for Relative State Measurements ROS Scan Matching Package; Matlab ScanMatch Function; ROS ScanMatching Package | ||
6 |
Visual Odometry and SLAM | ||||
8 May (M) | Visual Odometry (continued) Final Project Discussion |
Notes on Visual Odometry | -N/A- | ||
10 May (W) | Scan Matching, RGB-D cameras Final Project Discussion |
Intro to the Kinect 1 Structured Vs. Time of Flight Kinect | |||
12 May (F) | RGB-D cameras continued | ||||
6 |
Visual Odometry and SLAM | ||||
15 May (M) | Stereo Vision | Slides on Stereo Vision | -N/A- | ||
17 May (W) | Discussion on Probabilistic Planning | ||||
19 May (F) | No Class |
Course Lecture Schedule for ME/CS 132(a)
Week | Date | Topic | Reading | Optional Reading | Homework |
1 |
Introduction and Review of Rigid Body Kinematics | ||||
4 Jan (Wed.) | Class Overview & Mechanics The basic motion planning problem |
Course Overview | Chapter 1 of Lavalle | -No Homework- | |
6 Jan (Fri.) | Review of Motion Planning Problems and Issues | ||||
2 |
Intro to C-space and the Basic Motion Planning Problem | ||||
11 Jan (W) | Configuration Space (C-space) Review of Planar Rigid Body Kinematics |
Lavalle 4.2.1; Lavalle Chapter 3.2.2 (pages 94-97) Notes on C-obstacles; The Star Algorithm; |
MLS Ch 2.1, Pages 19-23 Lavalle Chapter 3.1 |
Homework 1, Solution 1 | |
13 Jan (F) | Configuration-Space Obstacles | Lavalle Chapter 4.3 Notes on Parametrized C-obstacles |
Picture of C-Obstacle; C-space Visualization Video;Mathematica Demo of Manipulator C-Obstacles; | ||
3 |
C-obstacles and the Classical Motion Planning Algorithms | ||||
18 Jan (W) | Computing C--space obstacles Review of Classical Motion Planning Algorithms The Road Map |
Lavalle 4.3 (pages 155-167) Lavalle 6.1, Lavalle 6.2 (focusing on roadmaps) |
No Homework Assigned | ||
4 |
Roadmap Motion Planning Algorithms | ||||
25 Jan (W) | The Road Map (continued) Intro to Potential Field Methods |
Lavalle 6.1, Lavalle 6.2 (focusing on roadmaps) | Homework #2 Instructions for OMPL and ROS Virtual Machine Setup | ||
5 |
Potential Field and Cellular Decomposition Algorithms | ||||
1 Feb (W) | Potential Fields continued Cellular Decomposition Methods |
Lavalle 6.3 (Cellular Decompositions) | No Homework Assigned | ||
6 |
Sampling Based Methods and Graphs Search Algorithms | ||||
8 Feb (W) | Sampling Based Planning Methods Brief Tutorial on Graph Searching |
Lavalle, Sections 5.2-5.5 (Samplinlg Based Methods) Lavalle, Section 2.1 and 2.2 Notes on A-star |
Homework #3 Instructions for Lab 2 Files for Lab 2 | ||
7 |
Graphs Search (continued), Sensor-Based Motion Planning | ||||
15 Feb (W) | A-Star & Dijkstra Graph Search Bug Algorithms |
Notes on A-star; Analysis of A-Star Choset Slides on Bug Algorithms Lavalle 667-673 |
Lumelsky Bug Algorithm Paper | -N/A- | |
8 |
Sensor-Based Motion Planning (continued) | ||||
22 Feb (W) | Tangent Bug Algorithm, Sensorized GVD, D*-Algorithm | Choset Slides on Bug Algorithms Lavalle 667-673 |
Homework #4 Files for HW4/Lab 3 | ||
9 |
Sensor-Based Motion Planning, Intro to Localization/Mapping | ||||
1 Mar (W) | D*-Algorithm Intro to Localization and Mapping |
D* Paper Slides on D* Algorithms Lavalle Section 12.3.2 |
N/A- | ||
10 |
Intro to Localization/Mapping | ||||
8 Mar (W) | Odometry (wheeled and Laser scan matching) | Lu & Milio Paper on Scan Matching Odometry | N/A- |
Course Mechanics, Grading, and Collaboration Policy
Grading
The final grade will be based on homework sets, and a final exam or final project:
- Homework (70%): Homework sets will be handed out every 7-10 days, and are due at 5 pm on the due date (which will always coincide with a class meeting). Homeworks can be dropped off in class, or deposited in the box outside of 245 Gates-Thomas. Some homeworks will require computation. MATLAB or Mathematica should be sufficient to solve every homework posed in this course, though students can choose their favorite programming language. Code is considered part of your solution and should be included in with the problem set when appropriate.
- Final exam/project (30%): Students have the option to take a final exam (a limited time take-home format exam which is open book, open note, and computer allowed) or select a final project. The final project must incorporate some aspect of the course, and the topic and scope my be approved by the course instructor. The final exam will due at 5:00 pm the last day of finals. The final project is similarly due at 5:00 pm on the last day of finals.
- Late Homework Policy: Students may automatically take a 2-day extension on two homeworks during each quarter.
Collaboration Policy
Collaboration on homework assignments is encouraged. You may consult outside reference materials, other students, the TA, or the instructor, but you must cite any use of material from outside references. All solutions that are handed in should be written up individually and should reflect your own understanding of the subject matter. Computer code and graphical plots are considered part of your solution, and therefore should be done individually (you can share ideas, but not code). No collaboration is allowed on the examinations.