Difference between revisions of "ME CS 132 2017"

From Robotics
Jump to: navigation, search
m (Sensor-Based Motion Planning (continued))
m (Announcements For ME/CS 132(a,b))
 
(53 intermediate revisions by 5 users not shown)
Line 46: Line 46:
  
  
'''Lecture Schedule:''' Based on a vote in class, for the near future we will meet at these times and locations:
+
'''Lecture Schedule:''' Based on a vote in the first organizing class, for the near future ME/CS 132(b) we meet at these times:
* '''Wednesday:''' 7:30-10:30 pm. Room 135 Gates-Thomas
+
* '''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 see if we can find a better meeting time.
+
'''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) ==
 
== Announcements For ME/CS 132(a,b) ==
 +
* '''05/15/17:''' Bookings for hardware to use in the final project can be made [https://teamup.com/ks6zum7yvnwp2tfvxz here], with descriptions on how to bring up the [http://developer.parrot.com/docs/slamdunk/#overview 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 [[Media:FinalProjectGuidelines2017.pdf | Final Project Guidelines]] are available.
 +
* '''05/01/17:''' Demo times for Lab 3 are available [https://doodle.com/poll/3h2n8xes4gx925cf 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 [https://doodle.com/poll/k2cazrchru88yp2c here]
 +
* '''04/10/17:''' Lab 1a is available below, with demo times available [https://doodle.com/poll/c88ht4by4sxdkctq here]
 +
* '''03/15/17:''' The [[Media:FinalExam.pdf | 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:''' [[Media:MECS132_FinalProject2017.pdf | Final Project Guidelines]] are available
 
* '''02/22/17:''' [[Media:MECS132_FinalProject2017.pdf | 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/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
Line 73: Line 85:
  
 
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.
 
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) ==
 +
 +
{| border=1 width=100%
 +
|-
 +
| Week || Date || Topic || Reading || Optional Reading || Homework
 +
 +
|-
 +
|  align=center rowspan=4 | 1
 +
| colspan=5|
 +
===== Odometry and Localization =====
 +
 +
|-
 +
| 3 Apr. (Mon.)
 +
| Class Overview & Mechanics <br>
 +
| [[Media:ME_CS_132b_CourseOverview.pdf | ME/CS 132(b) Course Overview]]
 +
|
 +
| rowspan=3 align=center | -No Homework-
 +
 +
|-
 +
| 5 Apr. (Wed.)
 +
| Review of Wheel Odometry and Intro to Inertial Navigation
 +
| [[Media:DiffDriveOdometry.pdf | Odometry for a Planar Differential Drive Vehicle]] <br> [[Media:InertialNavigation.pdf | Slides on Inertial Navigation]]
 +
|
 +
 +
|-
 +
| 7 Apr. (Fri.)
 +
| Inertial Navigation: Review of Spherical Kinematics
 +
|
 +
|
 +
 +
|-
 +
| align=center rowspan=4 | 2
 +
| colspan=5 |
 +
 +
===== Inertial Navigation (continued) =====
 +
 +
|-
 +
| 10 Apr. (M)
 +
| Inertial Navigation: Rigid Body Velocities and Orientation Estimation
 +
|
 +
|
 +
| rowspan=3 align=center | [[Media:132b_2017_lab1a.pdf | Lab 1a]]
 +
 +
|-
 +
| 12 Apr. (W)
 +
| Inertial Navigation: Position Estimation and Euler Angles
 +
| [[Media:InertialNavigationNotes.pdf | Notes on The Kinematics of Inertial Navigation]]
 +
|
 +
 +
|-
 +
| 14 Apr. (F)
 +
| Review of Kalman Filters
 +
| Choset et. al, Chapter 8
 +
|
 +
 +
|-
 +
| align=center rowspan=4 | 3
 +
| colspan=5 |
 +
 +
===== Localization & Estimation =====
 +
 +
|-
 +
| 17 Apr. (M)
 +
| Euler Angles & Intro to Localization
 +
|
 +
|
 +
| rowspan=3 align=center | [[Media:132b_2017_lab1b.pdf | Lab 1b]]
 +
 +
|-
 +
| 19 Apr. (W)
 +
| Kalman Filters with no noise or disturbance
 +
|
 +
|
 +
 +
|-
 +
| 21 Apr. (F)
 +
| Kalman Filters (continued)
 +
|
 +
|
 +
 +
|-
 +
| align=center rowspan=4 | 4
 +
| colspan=5 |
 +
 +
===== Localization & Estimation =====
 +
 +
|-
 +
| 24 Apr. (M)
 +
| Range and Bearing Localization
 +
|
 +
|
 +
| rowspan=3 align=center | [[Media:132b_2017_lab3.pdf | Lab 3]]
 +
 +
|-
 +
| 26 Apr. (W)
 +
| Class Cancelled
 +
|
 +
|
 +
 +
|-
 +
| 28 Apr. (F)
 +
| Intro to SLAM (Simultaneous Localization and Mapping)
 +
| [[Media:SLAM1.pdf | Tutorial Paper on SLAM 1]]; [[Media:SLAM2.pdf | Tutorial Paper on SLAM 2]]
 +
| [[Media:PastPresentFutureSLAM.pdf | Recent Survey paper on SLAM]]
 +
 +
|-
 +
| align=center rowspan=4 | 5
 +
| colspan=5 |
 +
 +
===== SLAM (continued) =====
 +
 +
|-
 +
| 1 May (M)
 +
| Intro to EKF SLAM
 +
|
 +
| [[Media:SLAM_Solution.pdf | Paper on EKF SLAM]]
 +
| rowspan=3 align=center | -N/A-
 +
 +
|-
 +
| 3 May (W)
 +
| EKF SLAM (continued) <br> Scan Matching
 +
| [[Media:SLAMnotes.pdf | Notes on Feature-Based EKF SLAM]]
 +
|
 +
 +
|-
 +
| 5 May (F)
 +
| SCAN matching and SLAM
 +
| [[Media:LuMilios_Paper.pdf | Lu & Milio Paper on Scan Matching Odometry]]
 +
| [[Media:SCKF.pdf | Stochastic Cloning for Relative State Measurements]] <br> [http://wiki.ros.org/laser_scan_matcher ROS Scan Matching Package]; <br> [https://www.mathworks.com/help/robotics/ref/matchscans.html Matlab ScanMatch Function]; <br> [http://wiki.ros.org/laser_scan_matcher ROS ScanMatching Package]
 +
 +
|-
 +
| align=center rowspan=4 | 6
 +
| colspan=5 |
 +
 +
===== Visual Odometry and SLAM  =====
 +
 +
|-
 +
| 8 May (M)
 +
| Visual Odometry (continued) <br> Final Project Discussion
 +
| [[Media:VisualOdometryNotes.pdf | Notes on Visual Odometry]]
 +
|
 +
| rowspan=3 align=center | -N/A-
 +
 +
|-
 +
| 10 May (W)
 +
| Scan Matching, RGB-D cameras <br> Final Project Discussion
 +
 +
| [[Media:KinectIntro.pdf | Intro to the Kinect 1]] <br> [[Media:Kinect_StructureVsTOF.pdf | Structured Vs. Time of Flight Kinect]]
 +
 +
|-
 +
| 12 May (F)
 +
| RGB-D cameras continued
 +
|
 +
|
 +
 +
|-
 +
| align=center rowspan=4 | 6
 +
| colspan=5 |
 +
 +
===== Visual Odometry and SLAM  =====
 +
 +
|-
 +
| 15 May (M)
 +
| Stereo Vision
 +
| [[Media:StereoVisionSummary.pdf | Slides on Stereo Vision]]
 +
|
 +
| rowspan=3 align=center | -N/A-
 +
 +
|-
 +
| 17 May (W)
 +
| Discussion on Probabilistic Planning
 +
 +
|
 +
 +
|-
 +
| 19 May (F)
 +
| No Class
 +
|
 +
|
 +
 +
|}
  
 
== Course Lecture Schedule for ME/CS 132(a) ==
 
== Course Lecture Schedule for ME/CS 132(a) ==
Line 181: Line 375:
  
 
|-
 
|-
| align=center rowspan=2 | 9
+
| align=center rowspan=2 | 8
 
| colspan=5 |
 
| colspan=5 |
  
Line 187: Line 381:
  
 
|-
 
|-
| 15 Feb (W)
+
| 22 Feb (W)
 
| Tangent Bug Algorithm, Sensorized GVD, D*-Algorithm
 
| Tangent Bug Algorithm, Sensorized GVD, D*-Algorithm
 
| [[Media:BugSlides.pdf | Choset Slides on Bug Algorithms ]] <br> Lavalle 667-673
 
| [[Media:BugSlides.pdf | Choset Slides on Bug Algorithms ]] <br> Lavalle 667-673
 
|  
 
|  
| [[Media:Homework4.pdf | Homework #4]]
+
| rowspan=1 align=center | [[Media:Homework4.pdf | Homework #4]] <br> [http://robotics.caltech.edu/~jbowkett/me132_lab3.tar.gz Files for HW4/Lab 3]
 +
 
 +
|-
 +
| align=center rowspan=2 | 9
 +
| colspan=5 |
 +
 
 +
===== Sensor-Based Motion Planning, Intro to Localization/Mapping =====
 +
 
 +
|-
 +
| 1 Mar (W)
 +
| D*-Algorithm <br> Intro to Localization and Mapping
 +
| [[Media:DStar_Paper.pdf | D* Paper]] <br> [[Media:DStar_Slides.pdf | Slides on D* Algorithms ]] <br> Lavalle Section 12.3.2
 +
|
 +
| N/A-
 +
 
 +
|-
 +
| align=center rowspan=2 | 10
 +
| colspan=5 |
 +
 
 +
===== Intro to Localization/Mapping =====
 +
 
 +
|-
 +
| 8 Mar (W)
 +
| Odometry (wheeled and Laser scan matching)
 +
| [[Media:LuMilios_Paper.pdf | Lu & Milio Paper on Scan Matching Odometry]]
 +
|
 +
| N/A-
  
 
|}
 
|}

Latest revision as of 16:18, 24 May 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) Email 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 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
Inertial Navigation (continued)
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.