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:
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:
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.
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:
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.
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.
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:
Dates | Topic | Slides | References |
---|---|---|---|
9/2 | Introduction, Road map | ||
9/4 | Robot pose, Configuration space: DOF, topology, coordinate representations | ||
9/5 | Lab - Introduction to ROS and Gazebo | 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 ----) |
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 |
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
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/
Name | Hours | Location | |
---|---|---|---|
Gianni Di Caro | gdicaro@cmu.edu | Thursdays 1:30-2:30pm + Drop in at my office any time ... | M 1007 |