CSCI/ARTI 4530/6530: Introduction to Robotics (Fall 2019)
Instructor: Ramviyas N. Parasuraman
Time and Location of Lectures:
Monday (2:30-3:20 PM), Tuesday & Thursday (2:00-3:15 PM), Boyd #222
Office Hours and Location
Boyd 803, Tuesday & Thursday 1-2 PM or by an email appointment
Course Overview
Students completing this course will gain an understanding of the hardware and software involved in robotics, with a focus on programming algorithms. Students will learn various mathematical and statistical models, associated algorithms, and their implementations, which are making modern-day robotics possible. They will understand the past, present and future of robotics, and the main challenges that make robotics difficult.
Textbook: "Introduction to Autonomous Mobile Robots" by Roland Siegwart, Illah Reza Nourbakhsh, and Davide Scaramuzza, MIT Press (2nd Ed. 2011)
Reference book: "Probabilistic Robotics" by Sebastian Thrun, Wolfram Burgard, and Dieter Fox. MIT Press (2005)
Note: We will follow the structure and content of the EdX course on Autonomous Mobile Robots and heavily use their slides in this class (all copyrights of the slides belong to the authors and EdX). It's an excellent course from the ETH Zurich team. The idea is that the student always has an additional venue for learning and reference.
Course Topics
The course topics presented here is a general plan for the course; deviations announced to the class by the instructor may be necessary.
I. Overview of Robotics: Introduction, Robot Hardware, Robotic Software Architectures, Probability Theory, Field Applications
II. Robotic Perception: Range Finders and Camera models
III. Robotic Motion: Kinematics, Velocity Motion Model, Odometry Motion Model, Motion and Maps
IV. Localization: State Estimation under Uncertainty, Filters: Bayes, Kalman, Extended Kalman, and Monte Carlo, Localization methods: Markov, Extended Kalman Filter, Particle Filter, Monte Carlo framework, etc.
V. Mapping: Occupancy Grid Mapping, Learning Inverse Measurement Model, Simultaneous Localization and Mapping (SLAM) solutions
The course is composed of both theoretical and practical components. There will be four assignments during this course and each assignment will have theoretical questions and practical programming problems. Likewise, the midterm and final exam has written quizzes and programming projects. Therefore, it is necessary to learn and perform well in both theoretical and practical parts of this course to pass the course.
Grading
Grading Item | Percent |
---|---|
Class participation | 5% |
Assignments (Each 10%) | 40% |
Midterm Exam + Midterm Project | 20% |
Final Exam + Final Project | 35% |
Class Schedule
Date | Day | Topics | Comments/Lecture Notes |
---|---|---|---|
08-15-2019 | Thursday | Course Introduction | |
08-19-2019 | Monday | Overview of Robotics, History of Robotics, Sensors, and Hardware |
|
08-20-2019 | Tuesday | Wheeled kinematics - Introduction ROS - Introduction |
|
08-22-2019 | Thursday | ROS - Setup | |
08-26-2019 | Monday | Kinematics - Continued | |
08-27-2019 | Tuesday | Probability theory - Basics | |
08-29-2019 | Thursday | Sensors Model - Rangefinders | |
09-02-2019 | Monday | Holiday - Labor Day | |
09-03-2019 | Tuesday | ROS: Nodes, Topics, Publisher, and Subscriber | |
09-05-2019 | Thursday | Sensors Model: cameras | |
09-09-2019 | Monday | Sensors Model: Conclusion Robot Perception: Introduction |
|
09-10-2019 | Tuesday | Perception: Computer Vision - fundamentals ROS: Subscriber and Custom Messages |
|
09-12-2019 | Thursday | Perception: Image processing basics | |
09-16-2019 | Monday | ROS: Services and Parameters | |
09-17-2019 | Tuesday | Perception: Feature extraction, edge detection, corner detection, SIFT features, etc. | |
09-19-2019 | Thursday | Computer Vision: Line Extraction Localization: Introduction to Markovian Approach |
|
09-23-2019 | Monday | ROS: Assignment 1 discussions, running ROS across different machines | |
09-24-2019 | Tuesday | Localization: Markovian and Kalman Filter Approaches | |
09-26-2019 | Thursday | Localization - Probabilistic map-based localization, Markov localization, Kalman filter localization | |
09-30-2019 | Monday | ROS: rosbag and working with simulated data Example implementation of EKF localization in Python |
|
10-01-2019 | Tuesday | Localization: Particle Filters | |
10-03-2019 | Thursday | Localization: Examples | |
10-07-2019 | Monday | Mid-term exam (theory). Practical Mid-term project will be annouced in the class |
|
10-08-2019 | Tuesday | SLAM: Introduction to the SLAM problem, challenges | |
10-10-2019 | Thursday | Discussion of midterm questions and solutions | |
10-14-2019 | Monday | SLAM: Continued | |
10-15-2019 | Tuesday | ROS: Simulation in Gazebo | |
10-17-2019 | Thursday | SLAM: Continued | |
10-21-2019 | Monday | Machine Learning (Guest Lecture) | |
10-22-2019 | Tuesday | Cloud Computing and IoT (Guest Lecture) | |
10-24-2019 | Thursday | Demonstration of mid-term projects | |
10-28-2019 | Monday | ROS - rosparameters, joy teleop, laser scan data | |
10-29-2019 | Tuesday | SLAM - Recap and Conclusion Navigation and Motion Planning - Introduction and Collision Avoidance |
|
10-31-2019 | Thursday | Navigation and Motion Planning - Collision Avoidance using Potential Fields | |
11-04-2019 | Monday | ROS transform frames (tf) - static and dynamic transform tf broadcaster and listener example in Python |
|
11-05-2019 | Tuesday | Navigation and Motion Planning - Potential Fields (contd.) Motion Planning - Graph Construction and Graph-based Search methods - Dijkstra, A*, RRT algorithms |
|
11-07-2019 | Thursday | Navigation and path planning - A* Algorithm Example and Conclusion | |
11-11-2019 | Monday | ROS - actionlib, working with real robots | |
11-12-2019 | Tuesday | Robot Motion Models - Odometry and Velocity Models | |
11-14-2019 | Thursday | ROS Examples - SLAM Discussion on Final Project |
|
11-18-2019 | Monday | ROS Examples - Transfer Frames (TF) Robot Applications in Radioactive Environments - Examples |
|
11-19-2019 | Tuesday | ROS Practical - Hector SLAM | |
11-21-2019 | Thursday | Robot Planning - Markov Decision Process (MDP) | |
11-25-2019 | Monday | Uncovered Topic | |
11-26-2019 | Tuesday | Uncovered Topic | |
11-28-2019 | Thursday | Thanksgiving Break | |
12-02-2019 | Monday | Final Project Demonstrations | |
12-02-2019 | Monday | Final Project Demonstrations | TBA | - | Final Exam |