Difference between revisions of "ME CS 132 2017"

From Robotics
Jump to: navigation, search
(Spherical Kinematics)
m (Announcements For ME/CS 132(a,b))
 
(135 intermediate revisions by 7 users not shown)
Line 1: Line 1:
This is the homepage for ME/CS 132(a,b) (Introduction to Robotic Perception and Navigation) for Winter/Spring 2017.   
+
This is the homepage for ME/CS 132(a,b) (Advanced Robotics: Navigation and Vision) for Winter/Spring 2017.   
 
__NOTOC__
 
__NOTOC__
 
== Course Staff, Hours, Location ==
 
== Course Staff, Hours, Location ==
Line 15: Line 15:
 
|-
 
|-
 
| '''Teach Asst.'''
 
| '''Teach Asst.'''
| TBD
+
| Joseph Bowkett
 
| 205 Gates-Thomas
 
| 205 Gates-Thomas
 
| TBD
 
| TBD
|  
+
| [mailto:jbowkett@caltech.edu jbowkett at caltech dot edu]
| 626-395-????
+
| 626-395-1989
 
|-
 
|-
 
| '''Teach Asst.'''
 
| '''Teach Asst.'''
| TBD
+
| Daniel Pastor Moreno
 
| 205 Gates-Thomas
 
| 205 Gates-Thomas
 
| TBD
 
| TBD
|  
+
| [mailto:dpastorm@caltech.edu dpastorm at caltech dot edu]
 +
| 626-395-1989
 +
 
 +
|-
 +
| '''Teach Asst.'''
 +
| Yoke Peng Leong
 +
| Annenberg
 +
| TBD
 +
| [mailto:ypleong@caltech.edu ypleong at caltech dot edu]
 
| 626-395-????
 
| 626-395-????
 +
 
|-
 
|-
 
| '''Administrative'''
 
| '''Administrative'''
Line 37: Line 46:
  
  
* '''Lecture Schedule:''' To be determine at the Organizational Meeting
+
'''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) ==
+
== 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/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.
 
* '''01/04/17:''' The permanent lecture hours and location will be determined at the course organizational meeting.
  
 
== Course Text and References ==
 
== Course Text and References ==
  
The main text for the first half of the course is:
+
1) The main text for the first half of the course is:
 
* ''Planning Algorithms'' by Steve LaValle (UIUC).  
 
* ''Planning Algorithms'' by Steve LaValle (UIUC).  
  
You can buy this book [http://www.amazon.com/Planning-Algorithms-Steven-M-LaValle/dp/0521862051/sr=1-1/qid=1167872270/ref=sr_1_1/105-3129515-7885245?ie=UTF8&s=books  on-line at Amazon].  A [http://msl.cs.uiuc.edu/planning/  preprint of the text ] is available freely on-line, and is adequate for all activities of this courseThis book provides a comprehensive summary of classical motion planning
+
You can buy this book [http://www.amazon.com/Planning-Algorithms-Steven-M-LaValle/dp/0521862051/sr=1-1/qid=1167872270/ref=sr_1_1/105-3129515-7885245?ie=UTF8&s=books  on-line at Amazon].  A [http://msl.cs.uiuc.edu/planning/  preprint of the text ] is available freely on-line, and is adequate for all course activities.   
Beyond the basics of motion planning, the text also includes excellent reference material on information-space approaches to planning, and evasion-pursuit algorithms (some of LaValle's research).  While these subjects are beyond the immediate scope of this class, they are accessible to interested students.
+
  
The following book is recommended (but not required):
+
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.  
 
* ''Principles of Robot Motion: Theory, Algorithms, and Implementations,'' by Howie Choset, Kevin Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia Kavraki, and Sebastian Thrun.  
  
Line 56: Line 84:
 
in both new and used versions.
 
in both new and used versions.
  
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 Mechanics, Grading, and Collaboration Policy ==
+
== Course Lecture Schedule for ME/CS 132(b) ==
 
+
=== 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.
+
 
+
== Course Lecture Schedule for ME/CS 132(a) ==
+
  
 
{| border=1 width=100%
 
{| border=1 width=100%
Line 82: Line 93:
  
 
|-
 
|-
|  align=center rowspan=3 | 1  
+
|  align=center rowspan=4 | 1  
 
| colspan=5|
 
| colspan=5|
=====Introduction and Review of Rigid Body Kinematics =====
+
===== Odometry and Localization =====
 +
 
 
|-
 
|-
| 4 Jan (Wed.)
+
| 3 Apr. (Mon.)
| Class Overview
+
| Class Overview & Mechanics <br>
| [[ME_CS_132_CourseOverview.pdf | Course Overview]]
+
| [[Media:ME_CS_132b_CourseOverview.pdf | ME/CS 132(b) Course Overview]]
|  
+
|  
| rowspan=2 align=center | -No Homework-
+
| rowspan=3 align=center | -No Homework-
  
 
|-
 
|-
| 6 Jan (Fri.)
+
| 5 Apr. (Wed.)
| Planar Rigid Body Kinematics, <br> Planar displacements
+
| Review of Wheel Odometry and Intro to Inertial Navigation
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 2.1], Pages 19-23
+
| [[Media:DiffDriveOdometry.pdf | Odometry for a Planar Differential Drive Vehicle]] <br> [[Media:InertialNavigation.pdf | Slides on Inertial Navigation]]
| -N/A-
+
|
 +
 
 +
|-
 +
| 7 Apr. (Fri.)
 +
| Inertial Navigation: Review of Spherical Kinematics
 +
|
 +
|
  
 
|-
 
|-
Line 102: Line 120:
 
| colspan=5 |
 
| colspan=5 |
  
===== From Planar Rigid Body Kinematics to Spherical Kinematics =====
+
===== Inertial Navigation (continued) =====
 +
 
 
|-
 
|-
| 9 Jan (M)
+
| 10 Apr. (M)
| Displacement groups, poles <br> [http://robotics.caltech.edu/~jwb/courses/ME115/Lectures/PlanarDisplacements.pptx Planar Displacements] (PowerPoint)
+
| Inertial Navigation: Rigid Body Velocities and Orientation Estimation
 
|  
 
|  
| -N/A-
+
|  
| rowspan=3 align=center | [http://robotics.caltech.edu/~jwb/courses/ME115/homework/set1.16.pdf Homework 1], <br> [http://robotics.caltech.edu/~jwb/courses/ME115/homework/sol1a.16.pdf Solution 1]
+
| rowspan=3 align=center | [[Media:132b_2017_lab1a.pdf | Lab 1a]]
  
 
|-
 
|-
| 11 Jan (W)
+
| 12 Apr. (W)
| [http://robotics.caltech.edu/~jwb/courses/ME115/Lectures/Centrodes.pptx Centrodes]: Ellliptical Trammel, <br> [https://www.youtube.com/watch?v=CBhxKavV_Xo Trammel], [https://www.youtube.com/watch?v=OMNArJh7umg&list=PL6534E936D46257BF&index=22 V 1], [https://www.youtube.com/watch?v=GAVx3x_H1eA&list=PL6534E936D46257BF&index=20# V 2], [https://www.youtube.com/watch?v=OMNArJh7umg&list=PL6534E936D46257BF&index=22 compliation]
+
| Inertial Navigation: Position Estimation and Euler Angles
Intro to Spherical Kinematics
+
| [[Media:InertialNavigationNotes.pdf | Notes on The Kinematics of Inertial Navigation]]
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Pages 22-26],<br> [http://robotics.caltech.edu/~jwb/courses/ME115/handouts/EllipticalTrammel.pdf Notes on the Elliptical Trammel],
+
|  
| [http://en.wikipedia.org/wiki/Trammel_of_Archimedes Archemides Trammel] (Wikipedia)<br> [http://www.iftomm.org/iftomm/proceedings/proceedings_WorldCongress/WorldCongress07/articles/sessions/papers/A471.pdf Polyhedral Linkages Synthesized Using Cardan Motion Along Radial Lines]
+
|
+
  
 
|-
 
|-
| 13 Jan (F)
+
| 14 Apr. (F)
| Spherical Kinematics (''continued''), <br> Classical Matrix Groups
+
| Review of Kalman Filters
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 2.2, 2.3], <br> [http://robotics.caltech.edu/~jwb/courses/ME115/handouts/MatrixGroups.pdf Notes on the Classical Matrix Groups]
+
| Choset et. al, Chapter 8
| -N/A-
+
|  
  
 
|-
 
|-
Line 128: Line 145:
 
| colspan=5 |
 
| colspan=5 |
  
===== Spherical Kinematics =====
+
===== Localization & Estimation =====
 +
 
 
|-
 
|-
| 16 Jan (M)
+
| 17 Apr. (M)
| ''No Class'': '''Marin Luther King Holiday'''
+
| Euler Angles & Intro to Localization
| -N/A-
+
|  
| -N/A-
+
|  
| rowspan=3 align=center | No Homework
+
| rowspan=3 align=center | [[Media:132b_2017_lab1b.pdf | Lab 1b]]
 +
 
 
|-
 
|-
| 18 Jan (W)
+
| 19 Apr. (W)
| Cayley's Theorem, <br>
+
| Kalman Filters with no noise or disturbance
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS 27-31], <br> [http://robotics.caltech.edu/~jwb/courses/ME115/handouts/rotation.pdf Notes on Rotations]
+
|  
| -N/A-
+
|  
 +
 
 
|-
 
|-
| 20 Jan (F)
+
| 21 Apr. (F)
| ''No Class''
+
| Kalman Filters (continued)
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS 31-34]
+
|  
| -N/A-
+
|  
  
 
|-
 
|-
Line 150: Line 170:
 
| colspan=5 |
 
| colspan=5 |
  
===== Spherical Kinematics (''continued'')=====
+
===== Localization & Estimation =====
 +
 
 
|-
 
|-
| 25 Jan (M)
+
| 24 Apr. (M)
| Angle/Axis Representation and Rodriguez Formula
+
| Range and Bearing Localization
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS 34-39]
+
|  
| [http://robotics.caltech.edu/~jwb/courses/ME115/handouts/algebra.pdf Notes on Algebras]
+
|  
| rowspan=3 align=center | -N/A-
+
| rowspan=3 align=center | [[Media:132b_2017_lab3.pdf | Lab 3]]
  
 
|-
 
|-
| 27 Jan (W)
+
| 26 Apr. (W)
| ''No Class''
+
| Class Cancelled
| -N/A-
+
|  
| -N/A-
+
|  
 +
 
 
|-
 
|-
| 29 Jan (W)
+
| 28 Apr. (F)
| ''No Class''
+
| Intro to SLAM (Simultaneous Localization and Mapping)
| -N/A-
+
| [[Media:SLAM1.pdf | Tutorial Paper on SLAM 1]]; [[Media:SLAM2.pdf | Tutorial Paper on SLAM 2]]
| -N/A-
+
| [[Media:PastPresentFutureSLAM.pdf | Recent Survey paper on SLAM]]
  
 
|-
 
|-
Line 173: Line 195:
 
| colspan=5 |
 
| colspan=5 |
  
===== Spatial Kinematics =====
+
===== SLAM (continued) =====
 +
 
 
|-
 
|-
| 1 Feb (M)
+
| 1 May (M)
| ''No Class''
+
| Intro to EKF SLAM
| -N/A-
+
|  
| -N/A-
+
| [[Media:SLAM_Solution.pdf | Paper on EKF SLAM]]
| rowspan=3 align=center | [http://robotics.caltech.edu/~jwb/courses/ME115/homework/set2a.16.pdf Homework 2], <br> [http://robotics.caltech.edu/~jwb/courses/ME115/homework/sol2a.16.pdf Solution 2]
+
| rowspan=3 align=center | -N/A-
  
 
|-
 
|-
| 3 Feb (W)
+
| 3 May (W)
| Exponential Coordinates and Euler Angles
+
| EKF SLAM (continued) <br> Scan Matching
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 2.2, 2.3]
+
| [[Media:SLAMnotes.pdf | Notes on Feature-Based EKF SLAM]]  
| -N/A-
+
|  
  
 
|-
 
|-
| 5 Feb (F)
+
| 5 May (F)
| Quaternions
+
| SCAN matching and SLAM
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Pages 51-52]
+
| [[Media:LuMilios_Paper.pdf | Lu & Milio Paper on Scan Matching Odometry]]
| -N/A-
+
| [[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=5 | 6
+
| align=center rowspan=4 | 6
 
| colspan=5 |
 
| colspan=5 |
  
===== Spatial Kinematics (''continued'')=====
+
===== Visual Odometry and SLAM  =====
 +
 
 
|-
 
|-
| 8 Feb (M)
+
| 15 May (M)
| Quaternions (''continued''), <br> Intro to Spatial Kinematics
+
| Stereo Vision
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS 34-39]
+
| [[Media:StereoVisionSummary.pdf | Slides on Stereo Vision]]
| [http://robotics.caltech.edu/~jwb/courses/ME115/handouts/algebra.pdf Notes on Algebras]
+
|
| rowspan=4 align=center | [http://robotics.caltech.edu/~jwb/courses/ME115/homework/set3a.16.pdf Homework 3], <br>  [http://robotics.caltech.edu/~jwb/courses/ME115/homework/sol3a.16.pdf Solution 3]
+
| rowspan=3 align=center | -N/A-
  
 
|-
 
|-
| 8 Feb (M)
+
| 17 May (W)
| Spatial Displacments, <br> Chasle's Theorem, Exponential Coordinates
+
| Discussion on Probabilistic Planning
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Pages 35-50]
+
|
| -N/A-
+
|
 +
 
 
|-
 
|-
| 10 Feb (W)
+
| 19 May (F)
| Motion Capture <br> Rigid Body Velocities
+
| No Class
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Pages 51-61]; [http://robotics.caltech.edu/~jwb/courses/ME115/handouts/rodriguez.pdf Rodriguez' Displacement Equation];
+
|  
| -N/A-
+
|  
  
 +
|}
 +
 +
== Course Lecture Schedule for ME/CS 132(a) ==
 +
 +
{| border=1 width=100%
 
|-
 
|-
| 12 Feb (F)
+
| Week || Date || Topic || Reading || Optional Reading || Homework
| ''No Class''
+
| -N/A-
+
| -N/A-
+
  
 +
|-
 +
|  align=center rowspan=3 | 1
 +
| colspan=5|
 +
=====Introduction and Review of Rigid Body Kinematics =====
 +
 +
|-
 +
| 4 Jan (Wed.)
 +
| Class Overview & Mechanics <br> The basic motion planning problem
 +
| [[Media:ME_CS_132_CourseOverview.pdf | Course Overview]]
 +
| [http://msl.cs.uiuc.edu/planning/ch1.pdf Chapter 1 of Lavalle]
 +
| rowspan=2 align=center | -No Homework-
 +
 +
|-
 +
| 6 Jan (Fri.)
 +
| Review of Motion Planning Problems and Issues
 +
|
 +
|
  
 
|-
 
|-
| align=center rowspan=4 | 7
+
| align=center rowspan=3 | 2
 
| colspan=5 |
 
| colspan=5 |
 +
===== Intro to C-space and the Basic Motion Planning Problem =====
  
===== Spatial Kinematics: Velocities and Wrenches =====
 
 
|-
 
|-
| 15 Feb (M)
+
| 11 Jan (W)
| ''No Class:'' '''President's Day Holiday'''
+
| Configuration Space (C-space) <br> Review of Planar Rigid Body Kinematics
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 2.3];
+
| Lavalle 4.2.1; Lavalle Chapter 3.2.2 (pages 94-97)  <br> [[Media: CObstacleNotes.pdf | Notes on C-obstacles]]; [[Media:StarAlgorithm.pdf | The Star Algorithm]];
| -N/A-
+
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 2.1], Pages 19-23 <br> Lavalle Chapter 3.1
| rowspan=3 align=center | [http://robotics.caltech.edu/~jwb/courses/ME115/homework/set4a.16.pdf Homework 4], <br> [http://robotics.caltech.edu/~jwb/courses/ME115/homework/sol4a.16.pdf Solution 4]
+
| rowspan=2 align=center | [[Media:ME_CS_132_2016_Homework1.pdf | Homework 1]], <br> [[Media:ME_CS_132_2016_Solution1.pdf | Solution 1]]
 +
 
 
|-
 
|-
| 17 Feb (W)
+
| 13 Jan (F)
| Rigid Body Velocities (''continued'')
+
| Configuration-Space Obstacles
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 2.3]
+
| Lavalle Chapter 4.3 <br> [[Media:CObstacle_Param.pdf | Notes on Parametrized C-obstacles]]
| -N/A-
+
| [[Media:EllipseCObstacle.pdf | Picture of C-Obstacle]]; [https://www.youtube.com/watch?v=SBFwgR4K1Gk C-space Visualization Video];[http://demonstrations.wolfram.com/RobotMotionWithObstacles/  Mathematica Demo of Manipulator C-Obstacles];
 +
 
 
|-
 
|-
| 19 Feb(F)
+
| align=center rowspan=2 | 3
| Transformation of Velocities <br> Wrenches and Poinsot's Theorem
+
| colspan=5 |
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 2.4-2.5]
+
 
| -N/A-
+
===== C-obstacles and the Classical Motion Planning Algorithms =====
 +
 
 +
|-
 +
| 18 Jan (W)
 +
| Computing C--space obstacles <br> Review of Classical Motion Planning Algorithms <br> The Road Map
 +
| Lavalle 4.3 (pages 155-167)  <br> Lavalle 6.1, Lavalle 6.2 (focusing on roadmaps)
 +
|
 +
| rowspan=1 align=center | No Homework Assigned
  
 
|-
 
|-
| align=center rowspan=5 | 8
+
| align=center rowspan=2 | 4
 
| colspan=5 |
 
| colspan=5 |
 +
===== Roadmap Motion Planning Algorithms =====
  
===== Robot Manipulators =====
 
 
|-
 
|-
| 22 Feb (M)
+
| 25 Jan (W)
| Wrenches ''(continued)'', <br> Screw Theory
+
| The Road Map (continued) <br> Intro to Potential Field Methods
| -N/A-
+
| Lavalle 6.1, Lavalle 6.2 (focusing on roadmaps)
| -N/A-
+
|
| rowspan=4 align=center | No Homework
+
| rowspan=1 align=center | [[Media:Homework2.pdf | Homework #2]] <br> [[Media:ME132_VM_Setup.pdf | Instructions for OMPL and ROS Virtual Machine Setup]]
  
 
|-
 
|-
| 22 Feb (M)
+
| align=center rowspan=2 | 5
| Robot Manipulators: Introduction
+
| colspan=5 |
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Chapter 3, pages 81-94]
+
 
| -N/A-
+
===== Potential Field and Cellular Decomposition Algorithms =====
  
 
|-
 
|-
| 23 Feb (W)
+
| 1 Feb (W)
| Denavit Hartenberg Convention
+
| Potential Fields continued <br> Cellular Decomposition Methods
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Chapter 3, pages 81-94]
+
| Lavalle 6.3 (Cellular Decompositions)
| -N/A-
+
|
 +
| rowspan=1 align=center | No Homework Assigned
  
 
|-
 
|-
| 25 Feb(F)
+
| align=center rowspan=2 | 6
| Forward Kinematics via the Denavit-Hartenberg Convention
+
| colspan=5 |
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 3],
+
 
| [https://en.wikipedia.org/wiki/Denavit%E2%80%93Hartenberg_parameters DH-Parameters] (from Wikipedia), <br> [http://robotics.caltech.edu/~jwb/courses/ME115/handouts/DenavitHartenberg_Craig.pdf Scan from Craig Book] on D-H Parameters
+
===== Sampling Based Methods and Graphs Search Algorithms =====
 +
 
 +
|-
 +
| 8 Feb (W)
 +
| Sampling Based Planning Methods <br> Brief Tutorial on Graph Searching
 +
| Lavalle, Sections 5.2-5.5 (Samplinlg Based Methods) <br> Lavalle, Section 2.1 and 2.2 <br> [[Media:Astar.pdf | Notes on A-star]]
 +
|
 +
| rowspan=1 align=center | [[Media:Homework3.pdf | Homework #3]] <br> [[Media:ME132_Lab2.pdf | Instructions for Lab 2]] <br> [http://robotics.caltech.edu/~jbowkett/me132_lab2.tar.gz Files for Lab 2]
 +
 
 
|-
 
|-
| align=center rowspan=4 | 9
+
| align=center rowspan=2 | 7
 
| colspan=5 |
 
| colspan=5 |
  
===== Forward/Inverse Kinematics =====
+
===== Graphs Search (continued), Sensor-Based Motion Planning =====
 +
 
 
|-
 
|-
| 29 Feb (M)
+
| 15 Feb (W)
| Denavit-Hartenberg Convention (continued), Examples
+
| A-Star & Dijkstra Graph Search <br> Bug Algorithms
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 3]; [http://robotics.caltech.edu/~jwb/courses/ME115/handouts/rodriguez.pdf Rodriguez' Displacement Equation];
+
| [[Media:Astar.pdf | Notes on A-star]]; [[Media:AstarAnalysis.pdf | Analysis of A-Star]] <br> [[Media:BugSlides.pdf | Choset Slides on Bug Algorithms ]] <br> Lavalle 667-673
 +
| [http://robotics.caltech.edu/~jwb/courses/ME132/handouts/LumelskyBug.pdf Lumelsky Bug Algorithm Paper]
 
| -N/A-
 
| -N/A-
| rowspan=3 align=center | [http://robotics.caltech.edu/~jwb/courses/ME115/homework/set5a.16.pdf Homework 5], <br> [http://robotics.caltech.edu/~jwb/courses/ME115/homework/sol5a.16.pdf Solution 5]
+
 
 
|-
 
|-
| 2 Mar (W)
+
| align=center rowspan=2 | 8
| Product of Exponentials Formula
+
| colspan=5 |
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 3]
+
 
| -N/A-
+
===== Sensor-Based Motion Planning (continued) =====
 +
 
 
|-
 
|-
| 4 Mar(F)
+
| 22 Feb (W)
| Inverse Kinematics
+
| Tangent Bug Algorithm, Sensorized GVD, D*-Algorithm
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 3]
+
| [[Media:BugSlides.pdf | Choset Slides on Bug Algorithms ]] <br> Lavalle 667-673
| -N/A-
+
|
 +
| 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=4 | 10
+
| align=center rowspan=2 | 9
 
| colspan=5 |
 
| colspan=5 |
  
===== Jacobian Matrix and Singularities =====
+
===== Sensor-Based Motion Planning, Intro to Localization/Mapping =====
 +
 
 
|-
 
|-
| 7 Mar (M)
+
| 1 Mar (W)
| Manipulator Jacobian Matrices
+
| D*-Algorithm <br> Intro to Localization and Mapping
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 3, pages 115-120];
+
| [[Media:DStar_Paper.pdf | D* Paper]] <br> [[Media:DStar_Slides.pdf | Slides on D* Algorithms ]] <br> Lavalle Section 12.3.2
| -N/A-
+
|
| rowspan=3 align=center | [http://robotics.caltech.edu/~jwb/courses/ME115/homework/set6a.16.pdf Optional Homework 6]
+
| N/A-
  
 
|-
 
|-
| 7 Mar (M)
+
| align=center rowspan=2 | 10
| Jacobian Matrix (continued), End-effector forces
+
| colspan=5 |
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 3, 121-123];
+
 
| -N/A-
+
===== Intro to Localization/Mapping =====
  
 
|-
 
|-
| 9 Mar (W)
+
| 8 Mar (W)
| Manipulator Singularities
+
| Odometry (wheeled and Laser scan matching)
| [http://www.cds.caltech.edu/~murray/mlswiki/index.php/Main_Page MLS Ch 3, pp 123-127]
+
| [[Media:LuMilios_Paper.pdf | Lu & Milio Paper on Scan Matching Odometry]]
| -N/A-
+
|
 +
| 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.

Latest revision as of 17: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.