Updates

: Office hours and TA hours updated

: Minor details clarified in course policy

Mid-Sem will be closed notes, quizzes will be un-announced, assignments to be solved individually, and the project will be in groups of 3.

Course Overview

Instructor: Prof. Mangal Kothari
Class Venue: L-9, Lecture Hall Complex
Class Timings: Monday (12:00PM — 1:15PM), Tuesday (9:00AM — 10:15AM)
Office Hours: Tuesday (4:00PM — 6:00PM) (Helicopter Lab)
TA Hours: Monday (After the class) (L9), Friday (5:30PM — 7:30PM) (G-117/Hall 1)

This 9-credit graduate level course is designed to teach the essentials of robotics. The course would deal with dynamics and state estimation for various robotic systems, mainly focusing on the Kalman filter and its family. It would also cover path planning and SLAM algorithms for these systems, as well as some basic computer vision. Towards the end of the course, topics like inter-robot communication and cooperative localization may be discussed, based on the time available and the feedback from the class.

Course Pre-Requisites

There are no formal pre-requisites for the course. However, prior knowledge of dynamics, probability and statistics is necessary. The students also need to be proficient in object-oriented programming (Python/C++) and MATLAB. Familiarity with basic Linux commands, robotic hardware and ROS would be beneficial but is not expected from all students. Lectures and workshops will be held to ensure that students do not face difficulties in these areas.

NOTE: The course is being offered to advanced undergraduate and graduate students only.

Schedule

The course syllabus and the number of lectures allotted for each topic are subject to change in response to feedback and class needs throughout the term.
Week Topic Summary
Introduction
Week 1 07/01/2019 08/01/2019

Course Overview and Motivation

Lecture

  • Brief overview of content to be covered in course
  • Examples for motivation - IGVC, Meher Baba, AUV
  • Course policy

Homework

Slides


References

Dr. Mangal Kothari

Week 2 12/01/2019 14/01/2019(opt.)

Introduction to ROS

Lecture

  • Motivation for using ROS
  • ROS fundamentals (nodes, topics, messages, publishing, subscribing, parameters)
  • ROS tools (launch files, bag files, RViz, rqt, Gazebo)
  • Live demos (IMU, RViz, rqt_graph, ROS Bags)
  • Workshop for ROS beginner tutorials

Homework

Slides


Aalap Shah

State Estimation
Week 2 15/01/2019

Mathematical Background

Lecture

  • Least Square Estimation (Linear)

References

Dr. Mangal Kothari

Week 3 21/01/2019 22/01/2019

Mathematical Background (contd.) & Introduction to State Estimation

Lecture

  • Least Square Estimation (Weighted, Non-linear)
  • Probability Basics
  • RANSAC for Outlier Rejection
  • Defining the State Estimation Problem
  • Bayes Filter

Homework

  • Assignment 1 (25/01) (Mathematical Background & State Estimation, Theoretical)

References

Dr. Mangal Kothari

Week 4 28/01/2019 29/01/2019

Gaussian Filters

Lecture

  • The Need for Parameteric Filters
  • Introduction to Gaussian Filters
  • Kalman Filter

References

  • Chapter 3 of Probabilistic Robotics

Dr. Mangal Kothari

Week 5 04/02/2019 05/02/2019

Gaussian Filters

Lecture

  • Extended Kalman Filter
  • Unscented Kalman Filter
  • Information Filter

References

Dr. Mangal Kothari

Week 6 11/02/2019

Applying Gaussian Filters

Lecture

  • Rigid Body Rotation
  • Pose Estimation Methods
  • Introduction to Path Following

References

Dr. Mangal Kothari

Path Planning
Week 6 12/02/2019

Path Planning

Lecture

  • Configuration Space
  • Defining the Path Planning Problem
  • Cell Decomposition Methods
  • Roadmap Methods
  • Markov Decision Processes
  • RRT (Rapidly Exploring Random Trees)

Homework

  • Assignment 2a (14/02) (ROS Practice Assignment)
  • Assignment 2b (14/02) (Gaussian Filters)

Slides


References

  • Chapter 15 of Probabilistic Robotics

Dr. Mangal Kothari

Mid-Semester Exam
Week 7 20/02/2019

Mid-Semester Exam


Grading Policy

The tentative weightages for each component of the course are as follows:

  • Mid-Semester Examination (10%) (Closed Notes)
  • Quizzes (10%) (Un-announced)
  • Homework Assignments (40%) (Individual)
  • Course Project (40%) (Groups of 3)
  • Minimum of 70% attendance (Compulsory)
NOTE: This course does not have an end-semester examination. Instead, there will be a project evaluation towards the end of the course.


Homework Assignments (40%)

There would be 4-5 homework assignments in the course. Assignments would comprise of theory as well as implementation based questions. Starter code would be provided for most programming questions. Some questions might carry forward from one assignment to another (for instance, a question in assignment 2 might require you to further build up on the code already developed in assignment 1). There might be bonus questions in each assignment carrying extra points. Submissions will be managed through Canvas.

NOTE: The use of any unfair means such as plagiarism by any student would be severely punished. For details regarding the mode of submission and penalties imposed for late submissions, compilation errors, etc., refer to this document.


Course Project (40%)

The course heavily emphasizes on the project aspect. You would be required to work in a team of 2-3 members. The project has to be an implementation of a recent work (from 2013 onwards) in robotics appearing in conferences like RSS, ICRA, or IROS. The source code for the same should not be publicly available. Points would be given on the basis of code readabilty, documentation, and presentation. There would be an abstract submission, a mid-term evaluation and an end-term evaluation. A report along with source code for the project will have to be submitted towards the end. Again, submissions will be managed through Canvas.

Course Staff

For doubts related to assignments, send an e-mail to ae640a@gmail.com. For sensitive issues, please e-mail Prof. Mangal Kothari directly.


References

  1. Probabilistic Robotics by Sebastian Thrun, Wolfram Burgard and Dieter Fox. MIT press, 2005.
  2. Principles of Robot Motion: Theory, Algorithms and Implementations by Howie Choset et al.. MIT Press, 2005.
  3. State Estimation for Robotics by Timothy D. Barfoot
  4. A Gentle Introduction to ROS by Jason M. O'Kane (available online)
  5. ROS Wiki