CS223A / ME320 : Introduction to Robotics - Winter 2021

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 and a midterm.


Mon & Wed from 4:00-5:20pm
Lectures conducted remotely over Zoom (link on Canvas)

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: 70%
Midterm (in class): 30%


There are 7 assignments, total worth 70% of your final grade.
Due @ 11:59 PM on Thursdays on Gradescope (the class code is BP2P65).


Generic placeholder image

Oussama Khatib


Office hours: Mon & Wed 5:30-6:30pm
Generic placeholder image

Wesley Guo

Course Assistant

Office hours: Mon 7-9pm & Thu 1pm-3pm
Generic placeholder image

William Chong

Course Assistant

Office hours: Thu 3-5pm & Fri 2-4pm
Generic placeholder image

Adrian Piedra

Course Assistant

Office hours: Tue 1-3pm & Wed 2-4pm
Generic placeholder image

Chinmay Devmalya

Course Assistant

Office hours: Tue 7-9pm & Wed 10am-12pm
Generic placeholder image

Shenli Yuan

Course Assistant

Office hours: Mon 10am-12pm


Date Lecture Homework
Mon, Jan 11 Introduction
Wed, Jan 13 Spatial Descriptions I
Thu, Jan 14 HW 1 Out
Friday, Jan 15 Review - Essential Math (4:00pm-5:20pm)
Mon, Jan 18 Holiday (Martin Luther King, Jr., Day)
Wed, Jan 20 Spatial Descriptions II
Thu, Jan 21 HW 1 Due, HW 2 Out
Mon, Jan 25 Forward Kinematics
Wed, Jan 27 Jacobians I (Introduction)
Thu, Jan 28 HW 2 Due, HW 3 Out
Mon, Feb 01 Jacobians II (Explicit Form)
Wed, Feb 03 Jacobians III (Singularities)
Thu, Feb 04 HW 3 Due, HW 4 Out
Fri, Feb 05 Review - Essential Physics (4:00pm-5:20pm)
Mon, Feb 08 Robot Dynamics I (Introduction)
Wed, Feb 10 Robot Dynamics II (Explicit Form)
Thu, Feb 11 HW 4 Due, HW 5 Out
Mon, Feb 15 Holiday (President's Day)
Wed, Feb 17 Perception for Manipulation (Guest Lecture, Prof. Jeannette Bohg)
Thu, Feb 18 HW 5 Due
Mon, Feb 22 Robot Design
Wed, Feb 24 Midterm
Mon, Mar 01 Inverse Kinematics and Workspace
Wed, Mar 03 Joint Space Control
Thu, Mar 04 HW 6 Out
Mon, Mar 08 Operational Space Control
Wed, Mar 10 Artificial Potential Fields
Thu, Mar 11 HW 6 Due, HW 7 Out
Mon, Mar 15 Compliant Motion Control
Wed, Mar 17 Advanced Topics
Thu, Mar 18 HW 7 Due

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 CA's, 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 7 homework problem sets that are pen-and-paper exercises. Their purpose is to practice the concepts covered in class by applying them to different robotics-related example problems. All assignments will be submitted to Gradescope by 11:59pm on the due date. Sign up for the course using entry code BP2P65.

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 a midterm for this course, which will be open book and open notes. It 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 exam.


Homework: 70%
Midterm (in class): 30%

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

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.