16-311 - Fall 2017

Introduction to Robotics

Key Information

Sunday, Tuesdays, Wednesdays (Lab), 4:30pm - 5:50pm, Room 1031

Rohith Krishnan Pillai


25% Final, 15% Midterm, 60% Homework

Most of the material will be provided by the instructor, additional info can be found in:

  • P. Corke, Robotics, Vision and Control, Springer, 2011
  • R. Siegvart, I. Nourbakhsh, D. Scaramuzza, Autonomous Mobile Robots, 2011
  • J. Lentin, Mastering ROS for Robotics Programming, Packt Publishing, 2015


The course will provide a general overview of robotics. The fundamental concepts, mathematical models, and actuation/sensing devices that are necessary to design and control a robotic system will be studied, including:

  • Forward and Inverse Kinematics
  • Proprio- and Exteroceptive Sensing
  • Model-based and Model-free State Estimation
  • Feedback-based Control
  • Paradigms and Architectures for Robot Control
  • Localization and Mapping
  • Motion Planning
  • Robot Navigation
  • Coordination and Cooperation in Multi-robots and Swarms

Both autonomous mobile robots and robotic arms will be studied, considering both single and multi-robot systems. Robot programming and control will be based on ROS, while Gazebo will be used for simulation studies.

Students who successfully complete the course will acquire:

  • Knowledge, both theoretical and practical, of robot and multi-robot modeling, programming, and control;
  • Familiarity with fundamental issues and potentialities of autonomous and industrial robotic applications.

Course Layout

The course will include theory classes, hands-on classes, and homework. Students will learn how to use the ROS (Robot Operating System) and the (multi-robot) simulator Gazebo, and will apply the learned concepts through the programming of both simulated and real robots.

Whereas the lectures emphasize the underlying math and algorithms of each sub-discipline of robotics, the lab projects will emphasize the pragmatic facets of implementing and controlling robotic and mechatronic devices.

Homework will be assigned weekly and will include both questions to be answered and programming assignments (in simulation and with real robots).


Formal prerequisites: 21-240 (Matrix Algebra) Min. grade C, or 21-241 (Matrices and Linear Transformations) Min. grade C, or 18-202 (Mathematical Foundations of Electrical Engineering) Min. Grade C, or 21-260 (Differential Equations) Min. grade C, or 24-311 (Numerical Methods) Min. grade C.

Practical prerequisites: Since the course will cover a number of different topics, students should also have: experience with Linux systems, previous programming experience (programming assignments will be given in Python), a solid general CS background, basic notions of calculus, and basics of probability theory.

Please talk to the instructor if you are unsure whether your background is suitable or not for the course.


Grading will assigned based on the following weighting: 60% Homework, 25% Final exam, 15% Midterm exam. The final exam will consist of a written part plus the demonstration of a complex robot scenario that will require the integration of the major results from the homework completed during the course.


There is no required textbook for this class. The students should be able to learn everything from lecture handouts and homework and the additional material provided by the instructor. However, the following books will cover good parts of the course:

  • P. Corke, Robotics, Vision and Control, Springer, 2011
  • R. Siegvart, I. Nourbakhsh, D. Scaramuzza, Autonomous Mobile Robots, 2011
  • J. Lentin, Mastering ROS for Robotics Programming, Packt Publishing, 2015


Dates Topic Slides References
8/20 Introduction, Road map pdf
8/22 Representation of robot pose Full pdf from 8/27 P. Corke book, Ch. 2 + Sec. 4.1
8/23 Lab: Introduction to ROS and Gazebo pdf Start with ROS (mandatory)
8/27 Pose transformations (continued) pdf
8/29 (Non)Holonomic Robots, Wheeled robots, Kinematics pdf R. Siegvart et al. book, Ch. 2-3, Handbook of Robotics, Ch. 17 (Wheeled robots)
8/30 Kinematic constraints on wheels/actuators pdf R. Siegvart et al. book, Ch. 3
9/3 Eid al-Adha break
9/5 Eid al-Adha break
9/6 Eid al-Adha break
9/10 Degrees of maneuverability, DOFs, ICR pdf R. Siegvart et al. book, Ch. 3
9/12 Holonomy, DOFs, DDOFs, Kinematic equations pdf
9/13 Kinematic equations, dead reckoning using odometry pdf Euler method, Runge-Kutta method (general overview slides on these two methods for numerical ODE integration, from Josh Thompson)
9/17 Closed-loop motion control for mobile robots 1
Lab notes on reference frames in ROS
lab notes pdf
P. Corke book, Sec 4.1.1, ROS Coordinate frames
9/19 Closed-loop motion control for mobile robots 2 pdf P. Corke book, Sec 4.1.1, Practical intro to PID controllers, The math behind PID control
9/20 Feedback-based control, dynamic systems, linearization pdf
9/24 Differential flatness, path and trajectory definition and following pdf Control theory approaches for wheeled robots
9/26 Reactive controllers, Behavior-based architectures, Navigation with obstacles pdf Dynamic Window Approach (DWA)
9/27 Potential fields for local path planning and navigation pdf
10/1 Solving together the excercise set from homework 3
10/3 Sensors 1 pdf
10/4 Sensors 2 pdf R. Siegvart et al. book (1st ed.), Ch. 4
10/8 Robot lab session 1 pdf
10/10 Robot lab session 2
10/11 Robot lab session 3
10/15 Midterm Exam
10/17 Robot lab session 4
10/18 Robot lab session 5
10/22 Obstacle Avoidance, Local Maps pdf
10/24 Kalman filter 1 pdf A short summary on multivariate Gaussian distributions (J. Templin)
Explaining KF (from IEEE Signal Processing magazine)
10/25 Kalman filter 2 pdf
10/29 Extended Kalman Filters pdf
10/31 Map building with EKF (known number of landmarks) pdf
11/1 EKF SLAM pdf
11/5 SLAM Properties, Data Association Problem pdf
11/7 Data Association, Feature Extraction pdf R. Siegvart et al. book (1st ed.), Sect.
11/8 Road map to the final exam
11/12 ROS: RVIZ, TF
11/14 Bayesian filters: Particle Filters pdf Bayes filters, Particle filter
11/15 Path planning 1 pdf
11/19 Path planning 2 pdf
11/21 Multi-robot systems 1 pdf
11/22 Multi-robot systems 2 pdf
11/26 Lab: A full multi-robot stack (SLAM, Navigation, Planning, Task allocation)
11/28 Lab: A full multi-robot stack (SLAM, Navigation, Planning, Task allocation)
11/29 Summary + Q&A
12/7 Final Exam (8:30 - 11:30, Room 2051)

Homework Assignments

Topic Files Due Dates
Homework 1: Basic use of ROS and Gazebo homework-1.pdf Aug 31, 2017
Homework 2: Reactive controller for robot navigation in ROS homework-2.zip Sep 17, 2017
Labwork 1: TurtleBot 2, basic use of sensors and actuators labw1.pdf October 10, 2017
Homework 3: Summary of topics so far homework-3.pdf October 13, 2017
Homework 4: Open-loop and Closed-loop motion control homework-4.pdf
Visualization node (show_path.py)
November 1
Homework 5: Kalman filters for sensor fusion and pose estimation homework-5.pdf
Gazebo world file
November 20
Homework 6: Path planning, Multi-robot systems homework-6.pdf November 30

Homework Policies

  • Homework is due on autolab by the posted deadline. Assignments submitted past the deadline will incur the use of late days.

  • You have 6 late days, but cannot use more than 2 late days per homework. No credit will be given for homework submitted more than 2 days after the due date. After your 6 late days have been used you will receive 20% off for each additional day late.

  • You can discuss the exercises with your classmates, but you should write up your own solutions. If you find a solution in any source other than the material provided on the course website or the textbook, you must mention the source. You can work on the programming questions in pairs, but theoretical questions are always submitted individually. Make sure that you include a README file with your andrew id and your collaborator's andrew id.

  • In general, for both assignments and exams, CMU's directives for academic integrity apply and must be duly followed.

Exam dates and policies

The class includes both a midterm and a final exam. The midterm is set for October 11.

During exams students are allowed to consult 1-page cheatsheet (written in any desired format).

Office Hours

Name Email Hours Location
Gianni Di Caro gdicaro@cmu.edu Thursdays 2:30-3:30pm + Drop in at my office any time ... M 1007