CS223A / ME320 : Introduction to Robotics - Winter 2019

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.


Please sign up on Piazza.


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


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


Generic placeholder image

Oussama Khatib


Office hours : tbd at Gates 144
Generic placeholder image

Jeannette Bohg


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

Wesley Guo

Head Course Assistant

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

Zhe (Ted) Huang

Course Assistant

Office hours : Mon. 2:00-4:00PM at Huang Basement & 6:30-8:30PM at Gates B26
Generic placeholder image

Jay Dedhia

Course Assistant

Office hours : Tue. 6:00-7:30PM at Gates B30 & Thu. 6:00-8:30PM at Gates B26
Generic placeholder image

Yilong Li

Course Assistant

Office hours : Wed. 6:30-8:30PM & Fri. 4:30-6:30PM at Gates B26
Generic placeholder image

Ana-Maria Istrate

Course Assistant

Office hours : Wed. 2:00-4:00PM at Huang Basement


Date Lecture Homework
Mon, Jan 07 Introduction
Wed, Jan 09 Spatial Transformations HW1 out
Friday, Jan 11 Review - Essential Math (4:30pm-5:50pm at Gates B01)
Mon, Jan 14 DH Parameters
Wed, Jan 16 Forward Kinematics
Mon, Jan 21 Holiday (Martin Luther King)
Wed, Jan 23 Jacobians I HW1 due, HW2 out
Mon, Jan 28 Jacobians II
Wed, Jan 30 Trajectory Generation HW2 due, HW3 out
Mon, Feb 04 Robot Dynamics I
Wed, Feb 06 Robot Dynamics II HW3 due
Thur, Feb 07 Midterm Review Group I (4:30-5:50PM at Gates B01)
Midterm Review Group II (6:00-8:00PM at Hewlett 101)
Friday, Feb 08 Midterm Review Group III (4:30-5:50PM at Skilling Auditorium)
Midterm Review Group IV (6:00-8:00PM at Hewlett 101)
Mon, Feb 11 Midterm
Wed, Feb 13 Inverse Kinematics
Mon, Feb 18 President's Day
Wed, Feb 20 Joint Space Control HW4 out
Fri, Feb 22 Review - Essential Physics (4:30-5:50PM at Gates B01)
Mon, Feb 25 Task Space Control
Wed, Feb 27 Operational Space Control HW4 due, HW5 out
Mon, Mar 04 Force Control
Wed, Mar 06 Obstacle Avoidance HW5 due, HW6 out
Mon, Mar 11 Visual Servoing
Wed, Mar 13 Advanced Material HW6 due
Thr, Mar 14 Final Concept Review Session I (4:30-5:50PM at Gates B01)
Final Example Problem Review Session I (6:00-8:00PM at Hewlett 103)
Fri, Mar 15 Final Concept Review Session II (4:30-5:50PM at Gates B01)
Final Example Problem Review Session II (6:00-8:00PM at Hewlett 103)
Fri, Mar 22 Final Examination (3:30-6:30PM at Gates B01)

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.



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 98EJ6Z. 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%

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

Office Hours for SCPD students

The office hours for SCPD students held by TAs are listed below. Please use QueueStatus and Zoom for sign up and video conferencing. Non-SCPD students can also go to the office hour during those time periods, though SCPD students may have higher priority.