Introduction to Robotics

The course broadly covers basic issues in planning and control of robot motion. The attempt is to cover fundamental analytical and algorithmic techniques in all these areas. We will cover the following:

Click here for lecture notes


There will be about five assignments in all. Each assignment will have exercises and some programming component that applies the learned material to a simulated 4-link SCARA manipulator. Therefore, you will gradually build an entire library of robot motion (planning and control) software by the end of the course. The graphical simulation will be done with OpenGL available on the LABNET machines.

Midterm: November 1, 2007. Duration: 2 hours. click here for 2007-3 midterm and solution

  • Material: Chapters 1 to 5.4 (including 5.4). This corresponds to Lectures 1 to 19 (including 19). Euler parameters (Page 50) are excluded.
  • Closed book. One double sided crib sheet allowed. Only formulas/procedures are allowed. No solved examples/derivations/proofs on the crib sheet.
  • Scientific calculators are allowed.

    Sample Midterms (from previous years): 2002: Midterm I Midterm II
    2005: Midterm

    Final: Sample from 2003

    Project ROBSIM: click here for a detailed description. updated 22 November, 2007

    The default project ROBSIM is built around the 4-link robot simulator that you gradually build with the programming assignments during the course. More details to be posted. You also have a choice to define or choose a project of your own. Students interested in doing so are encouraged to contact me early in the semester.


    Introduction to Robotics: Mechanics and Control by John J. Craig. Addison Wesley. Fourth Edition.


    Foundations of Robotics by Tsuneo Yoshikawa. MIT Press.
    Robot Modeling and Control by Spong, Hutchinson, and Vidyasagar. John Wiley & Sons.

    Software Tools:

    Maple/Mathematica, MATLAB, C/C++ and OpenGL.


    1. Assignments -- 10%
    2. Midterm -- 25%
    3. Final -- 35%
    4. Class Project -- 30%
    Prerequisites: Students should have a basic knowledge of Linear Algebra, Differential Equations, Numerical Analysis, Statics/Dynamics, and familiarity with a high level programming language (preferably C/C++).

    Teaching Assistant
    Mr. Zhenwang Yao (zyao@cs.sfu.ca) click here for Zhenwang's TA resource page
    Office hours: Room 10814.
    Monday 10:30-12:30
    Tuesday 2:30-4:30
    Wednesday 10:30-12:30
    Thursday 2:30-4:30

     Instructor: Kamal Gupta

    Office: APSC 10843 phone: 778-782-3118 e-mail: kamal@cs.sfu.ca office hours: I maintain open office policy, i.e., you are welcome to drop in any time and knock on the door. In case I am busy, I will ask you to come back later.

    Back to Kamal's home page