CS223A / ME320 : Introduction to Robotics - Winter 2020

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.


Mon & Wed from 4:30-5:50pm
Gates - Room B1

Course Reader

Available at the Bookstore.


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.


Additionally this course uses a Piazza forum which can be found here. Here you can ask questions about the homework, the exams, and class material in general.


Homework: 36%
Midterm (in class): 25%
Final (in class): 39%
Extra Credit: Lecture/Piazza Participation, up to 2% (see details in Grading Section below)


There are 7 assignments, total worth 36% of your final grade. These are pen and paper as well as coding assignments.
Due @ 11:59 PM on Thursdays on Gradescope. - (class code is 9J8VZ7).


Generic placeholder image

Oussama Khatib


Office hours: Mon. 6:00PM-7:00PM at Gates 144
Generic placeholder image

Wesley Guo

Head Course Assistant

Office hours: Mon. 7:00PM-9:00PM (SCPD Priority) & Wed. 10:00AM-12:00PM at Gates B21
Generic placeholder image

William Chong

Course Assistant

Office hours: Thu. 2:00PM-4:00PM & Fri. 3:00-5:00PM at Gates B30
Generic placeholder image

Angela Cheng

Course Assistant

Office hours: Mon. 1:00-3:00PM & Wed. 1:00-3:00PM at Gates B30
Generic placeholder image

Varun Nayak

Course Assistant

Office hours: Tue. 11:00AM-1:00PM & Thu. 11:00AM-1:00PM at Gates B21


Date Lecture Homework
Mon, Jan 06 Introduction
Wed, Jan 08 Spatial Descriptions I
Thu, Jan 09 HW 1 Out
Friday, Jan 10 Review - Essential Math (4:30pm-5:20pm at Gates B01)
Mon, Jan 13 Spatial Descriptions II
Wed, Jan 15 Forward Kinematics
Thu, Jan 16 HW 1 Due, HW 2 Out
Mon, Jan 20 Holiday (Martin Luther King)
Wed, Jan 22 Jacobians I
Thu, Jan 23 HW 2 Due, HW 3 Out
Mon, Jan 27 Jacobians II
Wed, Jan 29 Jacobians III
Thu, Jan 23 HW 3 Due, HW 4 Out
Mon, Feb 03 Robot Dynamics I
Wed, Feb 05 Robot Dynamics II
Thu, Feb 06 HW 4 Due
Thu, Feb 06 Midterm Review Group I (6:00pm-7:30pm at Gates 1st Floor Open Area)
Fri, Feb 07 Midterm SCPD Review Group (4:30pm-5:20pm at Gates B01)
Midterm Review Group II (5:30pm-7:00pm at Gates 1st Floor Open Area)
Midterm Review Group III (7:00pm-8:30pm at Gates 1st Floor Open Area)
Mon, Feb 10 Robot Design
Mon, Feb 10 Midterm Review Group IV (6:00pm-7:30pm at Gates 1st Floor Open Area)
Wed, Feb 12 Midterm (In-Class)
Mon, Feb 17 President's Day
Wed, Feb 19 Inverse Kinematics
Thu, Feb 20 HW 5 Out
Fri, Feb 21 Review - Essential Physics (4:30pm-5:20pm at Gates B01)
Mon, Feb 24 Trajectory Generation
Wed, Feb 26 Perception for Manipulation (Guest Lecture - Jeannette Bohg)
Thu, Feb 27 HW 5 Due, HW 6 Out
Mon, Mar 02 Controls I
Wed, Mar 04 Controls II
Thu, Mar 05 HW 6 Due, HW 7 Out
Mon, Mar 09 Controls III
Wed, Mar 11 Advanced Topics
Thu, Mar 12 HW 7 Due
Thr, Mar 12 Final Concept Review Session I (4:30pm-5:20pm at Gates B01)
Final Example Problem Review Session I (6:00pm-7:30pm at Gates 1st Floor Open Area)
Fri, Mar 13 Final Concept Review Session II (4:30pm-5:20pm at Gates B01)
Final Example Problem Review Session II (6:00pm-7:30pm at Gates 1st Floor Open Area)
Mon, Mar 16 Final Examination (7:00-10:30PM, location TBD)

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.

Class Structure

Prelecture Content

This quarter, the class will be structured differently than in past quarters. In-class, we will focus on interactive examples to illustrate the key concepts of the class. This requires that the students come to each lecture prepared for the content that will be discussed. Thus we are assigning the lectures from a previous year that the course was taught as pre-lecture videos to be viewed before each of the main lectures. Additionally, specific course reader sections pertaining to the material will be assigned as supplemental material. A full list of the assigned pre-lecture videos and readings can be found on Canvas (to be uploaded very soon). Please come to lecture prepared.

Lecture Format

Lecture will be broken down into three primary components:

  • Content Summary and Q&A (10-15 mins): The important topics covered by the pre-lecture videos and readings will be briefly summarized. This is also a good time to ask questions about anything that was confusing.
  • Interactive Examples (45-50 mins): The instructors will lead the class through a series of interactive examples that help build knowledge and familiarity with the key concepts. Students will be prompted to figure out how to tackle each step of the example, and their ideas and approaches will be discussed by the class. Active participation in the examples is highly encouraged.
  • Robotics Topic Discussion (15-20 mins): Each week, a different high-level topic related to robotics will be discussed in an open forum among the instructors and students. These topics will not be directly related to the technical content of the course, but instead to different sub-areas of robotics, current trends in research and industry, or any other areas which are of interest to the students.



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 11:59pm on the due date. Sign up for the course using entry code 9J8VZ7. 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.


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.


Homework: 36%
Midterm (in class): 25%
Final (in class): 39%
Extra Credit: Lecture Participation

You will be awarded up to 2% extra credit for both in-class participation and Piazza participation (answering other students' questions in a substantial and helpful way). SCPD students and students with class time conflicts can earn in-class participation credit by creating a private Piazza post visible to only the instructors and asking a question or comment on the lecture's problem session for each lecture.

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.


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".


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 Office 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).

SCPD Accommodations

SCPD students who cannot physically attend lecture can still participate and ask questions through the Canvas Course Videos tab. This tab will show a 40-second delayed livestream of the lecture, and the associated text chat will be monitored by a TA. The Course Videos tab also contains recordings of past lectures and out-of-class review sessions.

This quarter, the Monday 7:00PM-9:00PM Office Hours has been designated as the SCPD priority office hours. The TA administering these office hours will be available through the Zoom video conference platform for live discussion of course material and homework. SCPD students will receive priority during this time, but non-SCPD students are also welcome to attend.

For Exam Monitor/Proctoring, please visit this page and designate an Exam Monitor by the second week of class to ensure that you can properly send and recieve your exams.

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.