The University of Chicago's CMSC 20600 Introduction to Robotics course gives students a hands-on introduction to robot programming covering topics including sensing in real-world environments, sensory-motor control, state estimation, localization, forward/inverse kinematics, vision, and reinforcement learning. This course is centered around 3 mini projects exploring central concepts to robot programming and 1 final project whose topic is chosen by the students. Each of these mini projects will involve students programming real, physical robots interacting with the real world. The use of physical robots and real-world environments is essential in order for students to 1) see the result of their programs ‘come to life’ in a physical environment and 2) gain experience facing and overcoming the challenges of programming robots (e.g., sensor noise, edge cases due to environment variability, physical constraints of the robot and environment).
The Warmup Project introduces students to robot programming in ROS (the Robot Operating System). This project serves as students' first application of processing sensor data, sending commands to the robot's motors, and implementing sensory-motor control. This project involves programming a robot to drive in a square, follow a person, and follow along a wall in an enclosed room.
The Particle Filter Localization project gives students the opportunity to implement a solution to the localization problem using a particle filter. This project is designed to give students the opportunity to learn about probabilistic approaches within robotics and to continue to grow their skills in robot programming.
The Q-Learning project involves implementing a reinforcement learning algorithm (specifically Q-learning) to give your robot the ability to learn how to organize items in its environment. This project will also involves components of both 1) perception - detecting the items to organize and the locations for drop-off and 2) control - enabling the robot arm pick up the items and then navigate to the locations where they are to be dropped off.
The final project gives students the opportunity to explore a robotics topic in-depth of their own choosing. Students will see this project through from start (coming up with a good idea) to finish (implementing their idea on a real robot), exploring a robotics algorithm in greater depth than was covered in class. The example pictured on the left shows a student final project from Spring 2022: a robot that takes an image fed to it, uses computer vision to identify line segments within the image, and use its arm to draw this image on a wall.
Sarah Sebo (she/her/hers)
sarahsebo@uchicago.edu
Tewodros (Teddy) Ayalew (he/him/his)
tewodrosayalew@uchicago.edu
Ting-Han (Timmy) Lin (he/him/his)
tinghan@uchicago.edu
Danny Lingen (he/him/his)
dlingen@uchicago.edu