CS223A / ME320 : Introduction to Robotics - Winter 2018

This course provides an introduction to physics-based design, modeling, and control of robotic systems, in particular of robotic arms. You will learn basic methodologies and tools, and build a solid foundation that will enable you to move forward in both robotic research (CS327A, CS326) and applications (CS225A). Concepts that will be covered in the course are Spatial Transformations; Forward and Inverse Kinematics of Robots; Jacobians; Robot Dynamics, Joint, Cartesian, Operational Space and Force Control as well as Vision-based Control.

Expected Learning Outcomes

After taking the class, students will be able to

  • Design a robot with an optimal workspace
  • Model a robot to sufficient precision
  • Implement and tune a robot motion controller that exposes desired behaviour
  • Implement and tune a compliant robot motion/force controller that exposes desired behaviour
  • Implement and tune a vision-based robot motion controller that is robust to noise
  • Assess limitations of traditional, model-based approaches, visualise these failure cases, and propose an approach on how they can be addressed (as assessed by bonus exercises in homework assignments)

All learning outcomes are assessed by homework assignments (implementation and pen and paper) as well as through the midterm and final exam.

Class

Mon & Wed from 4:30-5:50pm
Building 200-002

Course Reader

Available at the Bookstore.

Website

The course website will be on canvas. All course materials will be shared through the Canvas website, including important class announcements from the Teaching Staff.

Discussion

Please sign up on Piazza.

Grading

Homework: 36%
Midterm (in class): 25%
Final (in class): 39%

Homework

There are 6 assignments, 6% each. These are pen and paper as well as coding assignments.
Due @ 4:30pm on Gradescope. - (class code is 9N85R4).

Staff

Generic placeholder image

Jeannette Bohg

Instructor

Office hours : Fridays 1-2pm
Gates 140
Generic placeholder image

Toki Migimatsu

Head Course Assistant

Office hours : Tue/Thr 3:30-5:30
Gates B30
Generic placeholder image

Andrey Kurenkov

Course Assistant

Office hours : Tue/Thr 1:30-3:30
Gates B30
Generic placeholder image

Vikranth Dwaracherla

Course Assistant

Office hours : Tue/Thr 10 30-12 30
Gates B30
Generic placeholder image

Elena Herrero

Course Assistant

Office hours : Mon 10-12 & Fri 9:45-11:45
Gates B21 & Gates B30
Generic placeholder image

Lin Shao

Course Assistant

Office hours : Mon/Fri 10-12
Gates B21/Gates B30
Generic placeholder image

Mingyu Wang

Course Assistant

Office hours : Mon 1:30-3:30 & Fri 4:30-6:30
Gates B30

Timeline

Date Lecture Homework Course Reader
Mon, Jan 8 Introduction & Course Review pp. 1-5
Wed, Jan 10 Spatial Transformations HW1 out pp. 5-18
Friday, Jan 12 Review - Essential Math (4:30pm-5:50pm) pp. 21-34
Mon, Jan 15 Holiday (Martin Luther King)
Wed, Jan 17 DH Parameters pp. 18-21; pp. 41-56
Mon, Jan 22 Forward Kinematics pp. 46-60
Wed, Jan 24 Jacobians HW1 due, HW2 out pp. 95-117
Mon, Jan 29 Jacobian Inverse/ Jacobian Transpose pp. 117-133
Wed, Jan 31 Jacobian Transpose HW2 due, HW3 out pp. 117-133
Mon, Feb 5 Jacobian Inverse / Inverse Kinematics pp. 69-74, 77-88
Wed, Feb 7 Robot Dynamics HW3 due Chapter 5
Thur, Feb 8 Midterm Review Group I (6.00-8.00p, Gates 219/415)
Friday, Feb 9 Midterm Review Group II (6.00-8.00p, Gates 104/219)
Mon, Feb 12 Midterm Examination (in class)
Wed, Feb 14 Robot Dynamics Cont' Chapter 5
Fri, Feb 16 Review - Essential Physics (4:30pm-5:50pm)
Mon, Feb 19 President's Day
Wed, Feb 21 Gravity Compensation HW4 out Chapter 5
Mon, Feb 26 Joint Space Control; PD/ID, Inverse Dynamics Control
Wed, Feb 28 Jacobian Transpose/ Force Control HW4 due, HW5 out
Mon, Mar 5 Resolved Motion Rate Control/ Damped Least Squares
Wed, Mar 7 Operational Space Control HW5 due, HW6 out
Mon, Mar 12 Nullspace / Potential Fields
Wed, Mar 14 Visual Servoing HW6 due
Thr, Mar 15 Exam Review Group I (6.00-8.00p, 219/415)
Fri, Mar 16 Exam Review Group II (6.00-8.00p, Gates 104/219)
Fri, Mar 23 Final Examination (3.30-6.30)

Detailed Info

Website & Other Information Channels

The course website will be on canvas. All course materials will be shared through the Canvas website, including important class announcements from the Teaching Staff. All assignments should be submitted via Gradescope. If you have a question, to get a response from the teaching staff quickly we strongly encourage you to post it to the class Piazza. This is a great place to ask questions of the staff, as well as share information among your peers. For private matters, please make a private note visible only to the course instructors. For longer discussions with TAs and to get help in person, we strongly encourage you to come to office hours. To strengthen the background knowledge of students on essential math and physics concepts used throughout the class, we have several review sessions throughout the quarter that we strongly encourage students to attend.

Assignments

Homework

There will be 6 homework problem sets that are partially pen & paper and coding exercises. Their purpose is to practice the concepts covered in class by applying them to different problems and visualize them in the robot simulation. The coding assignments will generally require to program in python. We provide a coding harness to test the implementation using the simulator/visualizer used in class. All assignments will be submitted to Gradescope by 4:30pm on the due date. Sign up for the course using entry code 9N85R4. Code will be graded using the Gradescope autograder.

Collaboration Policy

Although group discussion and work is encouraged, each student should submit their own assignment and perform any necessary calculations on their own.

Exams

There will be both midterm and final exams for this course, held in-class. They are open book and open notes. Electronic devices are not allowed. They will include similar problems to those you have encountered in the homework, and will additionally include problems and questions covering the content from the lectures. TA review sessions will help you to prepare for the exams.

Grading

Homework: 36%
Midterm (in class): 25%
Final (in class): 39%

Late Policy

Each student will have a total of two free late (calendar) days to use for homeworks. Once these late days are exhausted, any assignments turned in late will be penalized 20% per late day. However, no assignment will be accepted more than three days after its due date. Each 24 hours or part thereof that a homework is late uses up one full late day.

Regrading

Regrades will also be handled through Gradescope. We will begin to accept regrades for an assignment the day after grades are released for a window of three days. We will not accept regrades for an assignment outside of that window. Regrades are intended to remedy grading errors, so regrade requests must discuss why you believe your answer is correct in light of the deduction you received. We do not accept regrade requests of the form "I deserve more points for this" or "that deduction is too harsh".

Textbook

The Course Reader is available at the bookstore.

Supplementary Material

  • Textbook: Robotics - Modelling, Planning and Control by Siciliano, B., Sciavicco, L., Villani, L., Oriolo, G. Available on Springer within Stanford network.
  • Essence of Linear Algebra by 3blue1brown
  • Python tutorial

Students with Documented Disabilities

Students who may need an academic accommodation based on the impact of a disability must initiate the request with the O!ice of Accessible Education (OAE). Professional staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is made. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk (phone: 723-1066, URL: http://studentaffairs.stanford.edu/oae).

The Stanford University Fundamental Standard is a part of this course.

It is Stanford’s statement on student behavioral expectations articulated by Stanford’s first President David Starr Jordan in 1896. It is agreed to by every student who enrolls at Stanford. The Fundamental Standard states: Students at Stanford are expected to show both within and without the university such respect for order, morality, personal honor and the rights of others as is demanded of good citizens. Failure to do this will be sufficient cause for removal from the university.

The Stanford University Honor Code is a part of this course.

It is Stanford’s statement on academic integrity first written by Stanford students in 1921. It articulates university expectations of students and faculty in establishing and maintaining the highest standards in academic work. It is agreed to by every student who enrolls and by every instructor who accepts appointment at Stanford.
The Honor Code states:

  • The Honor Code is an undertaking of the students, individually and collectively
    • that they will not give or receive aid in examinations; that they will not give or receive unpermitted aid in class work, in the preparation of reports, or in any other work that is to be used by the instructor as the basis of grading;
    • that they will do their share and take an active part in seeing to it that others as well as themselves uphold the spirit and letter of the Honor Code.
  • The faculty on its part manifests its confidence in the honor of its students by refraining from proctoring examinations and from taking unusual and unreasonable precautions to prevent the forms of dishonesty mentioned above. The faculty will also avoid, as far as practicable, academic procedures that create temptations to violate the Honor Code.
  • While the faculty alone has the right and obligation to set academic requirements, the students and faculty will work together to establish optimal conditions for honorable academic work.