16-311 - Fall 2018

Introduction to Robotics




Key Information

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

Dr. Eduardo Feo-Flushing

12.0

40% Weekly Homework, 10% Review Quizzes, 10% Final Project, 25% Final exam, 15% Midterm exam

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

  • P. Corke, Robotics, Vision and Control, Springer, 2017
  • K. Lynch and F. Park, Modern Robotics, Cambridge University Press, 2017
  • R. Siegvart, I. Nourbakhsh, D. Scaramuzza, Autonomous Mobile Robots, 2011
  • J. Lentin, Mastering ROS for Robotics Programming, Packt Publishing, 2015

Overview

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
  • State Estimation with Gaussian and Bayesian Filters
  • Feedback-based Control
  • Machine learning approaches to Robot Control
  • Paradigms and Architectures for Robot Control
  • Localization and Mapping
  • Motion Planning
  • Robot Navigation

Both autonomous mobile robots (wheeled robots) and robotic arms will be studied. Robot programming and control will be based on ROS, while Gazebo will be used for simulation studies.

The robots that will be used for practice during the course are shown in the figure below, they include the following: TurtleBot 2 and 3 (Waffle), PhantomX Reactor AX-12 Robot Arm, Erle Rover, Anki Cozmo.



Students who successfully complete the course will acquire:

  • Core knowledge, both theoretical and practical, of modeling, programming, and control for mobile (wheeled) and arm robots;
  • Working knowledge of ROS and Gazebo for real and simulated robots;
  • Familiarity with fundamental issues and potentialities of autonomous and industrial robotic applications;

Moreover, the students will be exposed to a number of formal notions whose importance and application goes well beyond robotics, including: topology, control theory, statistical estimation and filtering.


Course Layout

The course includes theory classes, interactive laboratory classes, and homework. Students will learn how to use ROS (Robot Operating System) and the (multi-robot) simulator Gazebo, and will apply the learned concepts through the programming of a number of robots, both in simulation and with real robots.

The first two lectures of each week will be theory lectures, that will focus on mathematical and algorithmic aspects. The third lecture of the week will be an interactive lab lecture, that will will emphasize the pragmatic facets of implementing and controlling robotic and mechatronic devices, and will consist of a mix of theory and hands-on robots and simulation.

Homework will consist of:

  • Weekly homework that will include both questions to be answered and programming assignments (in simulation and/or with real robots). A total of 11 homework will be assigned.
  • One final project that will consider a real-world scenario and will require to employ and coordinate all the major results achieved in previous homework. The project will have to be completed during the last two weeks of the course.
  • Review quizzes that will be assigned at the end of each theory lecture and will have to be submitted by the beginning of the next lecture. They will consists of a few (relatively simple) questions about the previous lecture.

Prerequisites

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

In addition to the above mentioned Weekly Homework, Review Quizzes, and Final Project, the class also includes one Midterm exam and one Final exam. The format of the midterm will be that of an oral quiz competition. The final exam will be a written one with multiple questions to answers and problems to solve.

Grading will assigned based on the following weighting: 40% Weekly Homework, 10% Review Quizzes, 10% Final Project, 25% Final exam, 15% Midterm exam.


Readings

There is no required textbook for this class. The students should be able to learn everything from lecture handouts, 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
  • K. Lynch and F. Park, Modern Robotics, Cambridge University Press, 2017
  • R. Siegvart, I. Nourbakhsh, D. Scaramuzza, Autonomous Mobile Robots, 2011
  • J. Lentin, Mastering ROS for Robotics Programming, Packt Publishing, 2015

Schedule (subject to changes)

Dates Topic Slides References
9/2 Introduction, Road map pdf
9/4 Robot pose, Configuration space: DOF, topology, coordinate representations
9/5 Lab - Introduction to ROS and Gazebo pdf Start with ROS (mandatory)
9/9 Pose representation, transformation, and composition
9/11 Forward kinematics, holonomic and non-holonomic robots, wheel models
9/12 Lab - Dead reckoning, odometry, numeric integration of kinematic equations; ROS package TF
9/16 Forward kinematics models for mobile robots with multiple wheels, maneuverability and DOF
9/18 Inverse kinematics for mobile robots (open-loop motion control / path planning)
9/19 Lab - Forward and inverse kinematics for mobile robots: simulation and real robots
9/23 Forward kinematics models for arm robots
9/25 Inverse kinematics for arm robots (open-loop control / path planning)
9/26 Lab - Forward and inverse kinematics for arm robots: simulation and real robots
9/30 Feedback based control I: move to or follow a goal (Braitenberg vehicles, Bug(s), Bang-bang, DWA)
10/2 Feedback based control II: approaches based on control theory
10/3 Lab - Move to a goal, pose-reaching, and path-following in closed-loop; tune a controller
10/7 Sensors: IMUs, range finders, vision (RGB and RGB-D cameras)
10/9 Sensors: vision with RGB and RGB-D cameras
10/10 Lab - Sensor data acquisition and processing in ROS, use of PCL
10/14 Filtering and feature extraction with vision
10/16 Map building and navigation with vision and range finders
10/17 Lab - Sensor-assisted robot navigation
10/21 State estimation I: data fusion and localization with Kalman filters
10/23 State estimation II: data fusion and localization with Extended Kalman filters
10/24 Midterm Exam
10/28 Fall break
10/30 Fall break
10/31 Lab - Data fusion and localization with Gaussian filters
11/4 Localization and mapping using Bayesian filters
11/6 Particle filters, ACML
11/7 Lab - Localization for planar mobile robots and robot arms
11/11 SLAM with Gaussian filters, data association
11/13 SLAM with Bayesian filters
11/14 Lab - Landmark-based SLAM in a 2D environment
11/18 Motion planning I: workspace and C-space planning, holonomic vs. non-holonomic robots, A*, D*
11/20 Motion planning II: potential fields, wavefront expansions
11/21 Lab - Planning with mobile and arm robots
11/25 Motion planning III: optimal panning, visibility graphs, Voronoi diagrams
11/27 Motion planning IV: cell-based decompositions, sampling-based planning: probabilistic roadmaps, RRT
11/28 Lab - Planning with mobile and arm robots
12/2 AI robotics I: imitation learning for navigation tasks
12/4 AI robotics II: reinforcement learning for navigation tasks
12/9 Lab - Navigation with learned controllers
12/11 Presentation of Final Projects + Q&A
TO BE DECIDED Final Exam (--:-- ---:--, Room ----)

Homework Assignments

Topic Files Due Dates
Homework 1 - Basic use of ROS and Gazebo - 9/10
Homework 2 - Pose transformation, dead reckoning, numeric integration of kinematic equations - 9/17
Homework 3 - Forward and inverse kinematics for mobile robots - 9/24
Homework 4 - Forward and inverse kinematics for arm robots - 10/1
Homework 5 - Feedback-based control - 10/8
Homework 6 - Use of proprioceptive and exteroceptive sensors - 10/15
Homework 7 - Map-building and road navigation using range finders and vision sensors - 10/22
Homework 8 - Gaussian filters for state estimation and data fusion - 11/5
Homework 9 - Localization with Bayesian filters - 11/12
Homework 10 - Landmark-based SLAM for mobile robots - 11/19
Homework 11 - Motion planning with combinatorial and potential field approaches - 11/26
Final Project - Full scenario: SLAM -> Planning -> Navigation (+ Localization + Closed-loop control) - 12/10

Homework Policies

  • Weekly Homework, Review Quizzes, and the Final Project are due on autolab by the posted deadline. Review Quizzes can only be submitted by the posted deadline. Weekly homework assignments submitted past the deadline will incur the use of late days.

  • You have 8 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 8 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. Students are required to refer to CMU's general policies on cheating and plagiarism: https://www.cmu.edu/policies/student-and-student-life/academic-integrity.html

Exam dates and policies

The midterm exam is set for October 24. The students can consult the slides during the oral questions.

The final exam will be held after the end of the course, during the allowed days for exams between December 15 and December 20. During the exam students are allowed to consult 1-page cheatsheet (written in any desired format).

Students with special needs or disabilities are kindly asked to talk about it to the teacher at the beginning of the semester and make use of the assistance procedures provided by CMU https://scotty.qatar.cmu.edu/qword/student-affairs/office-of-health-and-wellness/assistance-for-individuals-with-disabilities/

Office Hours

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