ME CS 133 201718
This is the homepage for ME/CS 133(a,b) (Introduction to Robotics) for Fall/Winter 201718.
Course Staff, Hours, Location
Position  Name  Office  Office Hours (changing weekly)  Phone  
Instructor  Joel Burdick  245 GatesThomas  send mail for an appointment  jwb at robotics dot caltech dot edu  6263954139 
Teach Asst.  Joseph Bowkett  205 GatesThomas  TBD  [1]  6263954470 
Teach Asst.  Daniel Pastor Moreno  205 GatesThomas  TBD  me133tas at robotics dot caltech dot edu  6263954470 
Teach Asst.  Jeff Edlund  205 GatesThomas  TBD  me133tas at robotics dot caltech dot edu  6263954470 
Teach Asst.  Ellen Feldman  205 GatesThomas  TBD  me133tas at robotics dot caltech dot edu  6263954470 
Teach Asst.  Luke Urban  205 GatesThomas  TBD  me133tas at robotics dot caltech dot edu  6263954470 
Teach Asst.  Daniel Naftalovich  205 GatesThomas  TBD  me133tas at robotics dot caltech dot edu  6263954470 
Administrative  Sonya Lincoln  250 GatesThomas  7:30amnoon; 1:00pm4:30pm  lincolns at caltech dot edu  6263953385 
Lecture Schedule:
 Days: Monday, Wednesday, Friday
 Time: 3:003:55 pm
 Location: 135 GatesThomas
Announcements For ME/CS 133(a,b)
 11/16/17: Extra Office hours for Lab #1 are
 11/16/17 from 6:007:00 pm in SFL 326
 11/13/17: Lab 1 has been corrected and simplified. See the New Corrected Version of Lab 1
 11/13/17: Office hours for Lab #1 are
 11/13/17 from 6:307:30 in SFL 326
 11/14/17 from 78 pm in SFL 231
 10/13/17: Office hours for Homework #2
 Monday, Oct. 16, 4:00 pm (after class, in Room 135 GatesThomas)
 Tuesday, Oct. 17, 7:009:00 pm (room, 326 Sherman Fairchild)
10/11/17: Homework #2 is due Wednesday, October 18 (see link below) 10/04/17: Office hours for Homework 1 are:
 4:00 pm5:00 pm (right after class) on Friday, Oct. 6 in GatesThomas 135
 7:00 pm10:00 pm Sunday, Oct. 8, Sherman Fairchild Rooms 231 and 229
10/02/17: Homework 1 was distributed in class on Monday, and is available at the link below. It is due at 5:00 pm on Monday, Oct. 9, 2017.
Course Lecture Schedule for ME/CS 133(a)
Week  Date  Topic  Reading  Optional Reading  Homework 
1 
Introduction and Review of Rigid Body Kinematics  
25 Sept. (Mon.)  Class Overview  Course Overview, Chapter 1 of MLS 
History of Kinematics Through 1900 (Introductory chapter from Kinematic Synthesis of Linkages)  No Homework  
27 Sept. (W)  Planar Rigid Body Kinematics, Planar displacements 
MLS Ch 2.1, Pages 1923  Wikepedia Page on the Peaucellier Mechanism  
29 Sept. (F)  Planar Rigid Body Displacements (continued), Displacement groups 
MLS Ch 2.1, Change of Reference in Planar Displacements (PowerPoint) 
N/A  
2 
From Planar Rigid Body Kinematics to Spherical Kinematics  
02 Oct. (M)  poles, Centrodes, elliptic Trammel 
Notes on the Elliptical Trammel  Archemides Trammel (Wikipedia) Trammel, V 1, V 2, compliation, Linkages Synthesized Using Cardan Motion Along Radial Lines 
Homework 1, (Due Oct. 9) Solution 1 Histogram of grades received on Hwk 1  
04 Oct. (W)  Intro to Spherical Kinematics  MLS Pages 2226, Notes on the Classical Matrix Groups 
N/A  
06 Oct. (F)  Spherical Kinematics (continued), Classical Matrix Groups 
MLS Ch 2.2, 2.3, Notes on Rotations 
Herman Weyl's book on the classical groups  
3 
Spherical Kinematics  
9 Oct. (M)  Cayley's Theorem, Euler's Theorem  MLS 2731  Wikipedia Page on Cayley Transform  Homework 2 (Due Oct. 18) Solution 2  
11 Oct. (W)  AngleAxis Representation, Rodriguez Formula, Matrix Exponential,  N/A  
13 Oct. (F)  Euler Angles  MLS 3134  N/A  
4 
Spherical Kinematics  
16 Oct. (M)  Quaternions  MLS 3334  Notes On Algebras  N/A  
18 Oct. (W)  Quaternion WrapUp, Intro to Spatial Kinematics, Homogeneous Coordinates, 
MLS 3439  N/A  
20 Oct. (F)  Spatial Exponential Coordinates, Intro to screws 
MLS 3945 MLS 4550 
N/A
 
5 
Spatial Kinematics and Velocities  
23 Oct. (M)  Motion Capture via Rodriguez Equation Intro to Rigid Body Velocities 
Using Rodriguez' Displacement Equation, MLS 5156 
Homework 3 Instructions on Acquiring Virtual Machine Python script for lab 1 ROS Tutorial Solution 3  
25 Oct. (W)  Rigid Body Velocities Continued Intro to Wrenches 
MLS 5764  N/A  
27 Oct. (F)  No Class  N/A  
6 
Spatial Kinematics and Velocities  
30 Oct. (M)  Rigid Body Velocities and Coordinate Transformations  Using Rodriguez' Displacement Equation, MLS 5156 
Python script for ROS Tutorial & Lab 2  
1 Nov. (W)  ROS Tutorial  ROS Tutorial  N/A  
3 NOV. (F)  Turtlebot Tutorial  N/A  
7 
Spatial Kinematics and Intro to Linkages  
6 Nov. (M)  Rigid Body Velocities Reviewed, Wrenches  MLS 6166  Lab 1 (corrected): Motion Capture me133a_6nov_wand_250_270m.csv; optitrack_matlab_template.m Due Fri. Nov. 17 Optitrack Python Analysis Template  
8 Nov. (W)  Intro to Kinematics of Linkages and Manipulators  MLS 8190  N/A  
10 Nov. (F)  Denavit Hartenberg Parameters  MLS 8190  N/A
 
8 
Linkges and Forward Kinematics  
13 Nov. (M)  ABET interview DenavitHartenberg Continued, 
MLS 8194  N/A  
15 Nov. (W)  Product of Exponentials  MLS 8194  N/A  
17 Nov. (F)  Kinematics of Wheeled Vehicles  N/A  N/A

Course Text and References
The main course text for ME/CS 133(a) is:
 R.M. Murray, Z. Li, and S. Sastry, A Mathematical Introduction to Robotic Manipulation, CR Press, 1994.
 The 1st edition of this book is available freely online at the link above, and is perfectly adequate for the course
We will refer to this text as MLS (the initials of the authors' last names). While the course topics will follow the text, additional material will often be presented in class. Additional course handouts covering this material will be posted on this website
A main text for the ME/CS 133(b) is: Planning Algorithms by Steve LaValle (UIUC).
 You can buy this book online at Amazon. A preprint of the text is available freely online, and is adequate for all course activities.
The following book is recommended (but not required) for ME/CS 133(b):
 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.
Grading
The final grade will be based on homework sets, and a final exam or final project:
 Homework (40%): Homework sets 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 GatesThomas. Some homeworks will require computation. MATLAB or Mathematica should be sufficient to solve every homework posed in ME/CS 133(a), 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.
 Laboratory (30%): Lab reports are due at 5 pm on the due date (which will usually coincide with a class meeting). Labs can be dropped off in class, or deposited in the box outside of 245 GatesThomas. The first labs will familiarize students with the class robots. Subsequent labs will focus on how to translate the lecture material to the lab robots, and will often involve the use of software systems such as ROS and OOMPL.
 Final exam/project (30%): In ME/CS 133(a), students have the option to take a final exam (a limited time takehome 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 2day extension on two homeworks or labs 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.