ME/CS 132b, Spring 2013
Advanced Robotics: Navigation and Vision |
Instructors
|
Teaching Assistants (me132-tas@caltech.edu)
Course Mailing List: me132-students@caltech.edu (sign up)
|
Announcements
- 4/30/2013: No class on May 7th and 9th. Instead, this week will be spent on the lab.
- 4/16/2013: A handout on Parametrizing C-obstacles was distributed in class
- 4/11/2013: A handout on the Star Algorithm for computing fixed orientation c-obstacle slices was handout out in class.
- 4/11/2013: A handout on configuration space obstacles was handed out in class.
- 4/11/2013: Homework #1 has been distributed. An online version can be found here
- First lecture on 4/2 at 2:30 pm in Room 306 Thomas. An Overview of the course.
- Link to ME 132(a) Wiki Page
Course Information
Prerequisites
There are no formal prerequisites for the course, other than ME/CS 132(a). Some of the required background material will be reviewed during the first weeks of lecture. The theory part of ME/CS 132(b) is largely independent of the material in ME/CS 132(a), but students are expected to be able to use the experimental lab equipment introduced in the first quarter of the course, and are expected to be able to apply the sensor processing and mapping techniques learned in the first quarter. The greater emphasis on a final project in this quarter will require a good comfort level with computer programming in at least one of the following languages: C, C++, Python, or MATLAB.
Grading
ME/CS 132(b) is primarily a project-based course. The grade will be based on 2 homeworks (20% of total grade) and two week-long labs (10% of total grade each). Sixty percent (60%) of the grade will be based on a final project which is due on the last day of the finals period. The final project can potentially be done in teams, with the instructor's approval.
- 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 the TAs (me132-tas at 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. The lab will consist of implementing and testing basic algorithms on a mobile robot, and demonstrating the result, as well as submitting a copy of the code underlying the lab demonstration. The one-week labs this quarter are intended to help get the students prepared for the final project.
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 is only one required textbook, which is freely available on the web:
- Planning Algorithms by Steve LaValle (Cambridge Univ. Press, New York, 2006).
- The book website is here; If you plan to continue work in the field of robotics, then you should consider buying the text (the last time I checked, it was reasonably priced). Information is available on the book website.
Some of the course material on sensor-based robot motion planning is better covered in this optional reference book:
- Principles of Robot Motion: Theory, Algorithms, and Implementation, by H. Choset, K. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. Kavraki, and S. Thrun , MIT Press, 2007.
- An on-line Errata Page is available.
The Thrun, Burgard, and Fox book used last quarter will continue to be a useful optional reference. If you have bought the book, then hold on to it for this quarter. If you haven't yet got the book, it is not necessary to purchase it, as there is very little specific information from that text that is needed this quarter. This book is most likely to come in handy for some choices of final project.
Lecture Schedule/handouts/homeworks/lab
Week | Date | Topic | Reading | Homework |
1 | 2 Apr (Tu) | Course Overview, Intro. to Motion Planning | Lavalle Chapter 1 | -N/A- |
4 Apr (Th) | No Class on this date | Lavalle Chapter 1 | -N/A - | |
2 | 9 Apr (Tu) | Configuration Space Obstacles (c-obstacles) | Lavalle Chapter 4.3 (starting on Page 155) on Configuration Space Obstacles | |
11 Apr (Th) | C-Obstacles (cont.) and overview of c-space planning | Notes on the Star Algorithm; Notes on configuration space Obstacles | Homework 1 due 04/19/13 | |
3 | 16 Apr (Tu) | Parametrizing Configuration Space Obstacles, Intro to Classical Motion Planning |
Notes on parametrizing c-obstacles | |
18 Apr (Th) | Classical Motion Planning: roadmaps and the Visibility Graph | Lavalle 250-251, 261-264 | ||
4 | 23 Apr (Tu) | More Roadmaps: The Voronoi Diagram | Homework 2 due 05/02/13 | |
25 Apr (Th) | Cell Decomposition and Approximation Cell Decomposition | Lavalle 264-280 | ||
5 | 30 Apr (Tu) | Voronoi Diagrams continued and Potential Field Methods | ||
2 May (Th) | Graph Searching Methods. | Lavalle pages 28-39 | ||
6 | 7 May (Tu) | No Class (travel to ICRA conference) | -N/A- | Lab 1 |
9 May (Th) | No Class (travel to ICRA conference) | -N/A- | -N/A- | |
7 | 14 May (Tu) | The Bug Algorithms. | Slides on Slides on the Bug Algorithms; | |
16 May (Th) | Tangent Bug | Slides on the Bug Algorithms; Tangent Bug Paper by Kamon, Rimon, and Rivlin; | -N/A- | |
8 | 21 May (Tu) | On-line generation of the Voronoi Diagram | ||
23 May (Th) | D* Algorithm, Intro to Sample Based Planners | |||
9 | 28 May (Tu) | Sample-Based Planners continued, intro to SLAM | ||
30 May (Th) | SLAM |
Homework/Labs
- Homework 1
- Subject: configuration space obstacles of planar polygonal bodies.
- Due Date: Friday, April 19, 2013 by 5pm.
- Solution: Homework 1 Solution
- Homework 2
- Subject: 2D roadmaps.
- Due Date: Thurs, May 2, 2013 by 5pm.
- Solution: Homework 2 Solution
- Lab 1
- Subject: Wall Following.
- Due Date: Thurs, May 16, 2013 by 5pm.
- Template Code: This takes care of (most of) the occupancy grid and is one way to started. Change planning.png in the configs folder to change the obstacles in Player/Stage. The only parts you have to follow are those that interface your code with the robot. We care about seeing the robot navigate around an L-shaped obstacle and that your code is commented so we can understand what you're doing.
Final Project Information
- Final Project
- Preproposal Due Date: Tues, May 21, 2013 by 5pm (in hard copy) to Joel Burdick (TOM 319)
- Project Due Date: Fri, June 14, 2013 (June 7 for seniors) by 5pm to Joel Burdick
- The Original Lumelsky Bug Algorithm paper.
- Early papers on the D* AlgorithmL ICRA 94; IJCAI 95;AAAI 96;