Robotics Courses
Courses in Robotics are offered from the undergraduate level to graduate level. The courses listed below make up a core part of the Robotics program, but as part of the College of Engineering and University of Michigan, there are also many cross-listed courses and electives from other programs that are available.
Current course offerings
Check the latest current course listing to see what is currently offered. Courses from previous terms are listed in past course offerings.
Courses by graduate degree requirements
Graduate degrees in Robotics require a breadth of knowledge from courses in sensing, reasoning, and acting. There are many courses from other departments that meet these Robotics degree requirements.
Free online courses
Michigan Robotics also publishes many courses online, which can be freely accessed through sites like GitHub and YouTube. These courses typically include all lecture videos, notes, textbooks, homework, projects, and exams.
Course lists
- Current course offerings
- By graduate degree requirements
- Free online courses
Complete listing of Robotics Courses
Below is a listing of all Robotics courses, even those not currently offered this term, from the College of Engineering Course Bulletin with additional links added to course pages when available.
100 Level Courses
ROB 101. Computational Linear Algebra
(3 credits)
Linear algebra and computation as a means for reasoning about data and making discoveries about the world. Topics: The Julia programming language. Systems of linear equations. Vectors, matrices, inverses. Regression. Matrix factorization. Spatial coordinates. Cameras, LiDARS, accelerometers, single-axis gyroscopes, encoders. Optimization and robot perception. What is an ODE. CourseProfile (ATLAS)
ROB 102. Introduction to AI and Programming
Advised Prerequisite: ROB 101 (Computational Linear Algebra) or ROB 103 (Robotic Mechanisms). (4 credits)
Algorithms and programming for robotics and artificial intelligence in C++ and high-level scientific programming languages; autonomous navigation and search algorithms; introduction to models of computing through graphs and graph algorithms. CourseProfile (ATLAS)
200 Level Courses
ROB 203. Robotics Mechanisms (previously ROB 103)
Advised Prerequisite: ROB 101. Enforced Prerequisite: No credit in ENGR 100, topic “Robotics Mechanisms (topic ID 29)”. (2 credits)
Hands-on design, build, and operations of robotic systems. Students develop maker-shop skills (3D printing, laser cutting, milling, etc.), gain experience in embedded programming and controls, system design and integration. CourseProfile (ATLAS)
ROB 204. Introduction to Human-Robot Systems
Prerequisite: (ROB 102 or ENGR 101 or EECS 183 or ENGR 151 or EECS 180); and ENGR 100; and preceded or accompanied by: (ROB 101 or MATH 214 or MATH 217 or MATH 417 or MATH 419). Minimum grade requirement of “C-” for enforced prerequisite. (4 credits)
Foundations in human-robot systems. Covers identifying and describing how human capabilities and behaviors inform robotic design. Survey of theories, methods, and findings from relevant domains (e.g., cognitive/physical ergonomics, psychology, human-centered design), with attention to how these concepts influence robotic systems and design within development teams. CourseProfile (ATLAS)
ROB 298. Special Topics in Robotics
Prerequisite: None. (1-8 credits)
Topics of current interest in Robotics. CourseProfile (ATLAS)
300 Level Courses
ROB 310. Robot Sensors and Signals
Prerequisite: ROB 204 and (EECS 215 or BME 211). Minimum grade of “C-” for enforced prerequisite. Advised Prerequisite: ROB 101 (Computational Linear Algebra) and ROB 103 (Robotic Mechanisms) (4 credits)
Covers practical analog and digital electronics for robotics. Students will: prototype, test, and debug various analog and digital circuits; interface a microcontroller to external circuits; learn to design and prototype circuit boards; interpret data recorded from physical circuits. An exploration of circuits and embedded systems that supports integrated robotic design. CourseProfile (ATLAS)
ROB 311. How to Build Robots and Make Them Move
Prerequisite: ROB 204. Minimum grade of “C-” for enforced prerequisite. Advised Prerequisite: (EECS 215 or PHYSICS 240 or PHYSICS 260 or MECHENG 240 or BIOMEDE 231) and ROB 310. (4 credits)
Introduces the fundamentals of mechanical design, control, fabrication, actuation, instrumentation, and computer interfaces required to realize robotic systems. Students will learn to analyze/simulate rigid body kinematics, kinetics, and dynamics, as well as assess the impedance properties of their designs. ‘Hands-on’ skills will be emphasized in addition to theoretical concepts. CourseProfile (ATLAS)
ROB 320. Robot Operating Systems
Prerequisite: ROB 204 and EECS 280. Minimum grade of “C-” for enforced prerequisite. Credit Exclusions: Only 1 course may earn credit from ROB 320, ROB 380, ROB 511, and EECS 367. (4 credits)
General computational paradigm for robot operating systems that model, simulate, and control mobile manipulation robots. Composition of full-stack software systems for forward and inverse kinematics, planar path planning, high-dimensional motion planning, maximal coordinate robot simulation, and front-end visualization that work through interprocess communication. CourseProfile (ATLAS)
ROB 330. Localization, Mapping, and Navigation
Prerequisite: ROB 204 and EECS 280. Minimum grade of “C-” for enforced prerequisite. Advised Prerequisite: (IOE 265 or EECS 301) and (MECHENG 240 or MECHENG 360) and (MATH 215 or MATH 216) (4 credits)
Development of full-stack autonomous navigation and semantic mapping for mobile robots. Topics include dead reckoning from odometry, sensor modeling of LIDAR and IMUs, simultaneous localization and mapping (SLAM), semantic scene understanding, and an introduction to deep learning methods for convolutional feature learning and object detection. CourseProfile (ATLAS)
ROB 340. Human-Robot Interaction
Prerequisite: ROB 204. Minimum grade of “C-” for enforced prerequisite. Advised Prerequisite: ROB 311 (4 credits)
Covers psychophysics, modeling a human operator within a control loop, and measuring human performance in the context of robotic systems. These topics support robotic systems in unstructured and unknown environments with a human supporting decision making, mitigating risks and extending capabilities of the
human-robot team. CourseProfile (ATLAS)
ROB 380 (EECS 367). Introduction to Autonomous Robotics
Prerequisite: EECS 281 and (MATH 214 or 217 or 296 or 417 or 419 or ROB 101); (C or better; no OP/F). Enrollment in one minor elective allowed for Computer Science Minors. Minimum grade requirement of “C” for enforced prerequisite. Credit Exclusions: Only 1 course may earn credit from ROB 320, ROB 380, ROB 511, and EECS 367. (4 credits)
A computational introduction to the modeling and control of autonomous robots and mobile manipulators. Programming projects and lectures cover 3D coordinate systems, axis-angle rotation, forward and inverse kinematics, physical simulation and numerical integration, motion control, path planning, high-dimensional motion planning, and robot software systems. Emphasizes portable programming of general robots. CourseProfile (ATLAS)
400 Level Courses
ROB 422. (EECS 465) Introduction to Algorithmic Robotics
Prerequisite: EECS 280 and MATH 215 and (junior standing or senior standing) or graduate standing. Minimum grade of “C” for enforced prerequisite. Advised Prerequisite: EECS 281 and (MATH214 or MATH 217 or MATH 417 or MATH 419 or ROB 101) or permission of instructor. (3 credits)
An introduction to the algorithms that form the foundation of robot planning, state estimation, and control. Topics include optimization, motion planning, representations of uncertainty, Kalman and particle filters, and point cloud processing. Assignments focus on programming a robot to perform tasks in simulation. CourseProfile (ATLAS)
ROB 450. Robotics Capstone
Prerequisite: Junior standing or senior standing and [TCHNCLCM 350, (C or better)] and [ONE of ROB 310, 311, 320, 330, or 340], (C or better)]. Minimum grade requirement of “C” for enforced prerequisites. (4 credits)
Primary goal is to challenge students to synthesize the knowledge acquired through their Robotics undergraduate courses at U-M using a systematic and iterative design and analysis process and applying it to solving a real open-ended Robotics problem. CourseProfile (ATLAS)
ROB 464 (EECS 464). Hands-on Robotics
Prerequisite: EECS 216 or EECS 281 or ME 360 or CEE 212 or IOE 333 or Grad Standing. Minimum grade of “C” required for enforced prerequisites. (4 credits) *Can only count if taken before ROB 550
A hands-on, project based introduction to the principles of robotics and robot design. Multiple team projects consisting of design and implementation of a robot. Theory: motors, kinematics & mechanisms, sensing/filtering, planning, pinhole cameras. Practice: servo control, project management; fabrication; software design for robotics. Significant after hours lab time investment. CourseProfile (ATLAS)
ROB 490. Directed Study
Prerequisite: None. (1-6 credits)
Individual study of specialized aspects of robotics. Undergraduate students only. CourseProfile (ATLAS)
ROB 498. Special Topics in Robotics
Prerequisite: None. (1-8 credits)
Topics of current interest in robotics. CourseProfile (ATLAS)
500 Level Courses
ROB 501. Mathematics for Robotics
Prerequisite: Graduate standing or permission of instructor. Advised Prerequisite: differential equations and matrix algebra recommended. (4 credits)
Applied mathematics for robotics engineers. Topics include vector spaces, orthogonal bases, projection theorem, least squares, matrix factorizations, Kalman filter and extensions, particle filters, underlying probabilistic concepts, norms, convergent sequences, contraction mappings, Newton Raphson algorithm, nonlinear constrained optimization, local vs global convergence, convexity, linear and quadratic programs, and randomized search strategies. CourseProfile (ATLAS)
ROB 502. Programming for Robotics
Prerequisite: None. (3 credits)
Graduate level project-based programming and computer science course for Robotic engineers. Topics include data representation, memory concepts, debugging, recursion, search, abstractions, threading, and message passing. The average student will have already written MATLAB programs about 250-500 lines long and will have basic familiarity with C syntax. CourseProfile (ATLAS)
ROB 511. Mobile Manipulation Systems
Advisory Prerequisite: Linear Algebra (Math 214, 217, 417, 419 or equivalent) and Programming (EECS 280, EECS 402, ROB 502 or equivalent). Prerequisite: None. Credit exclusions: Only 1 course may earn credit from ROB 320, ROB 380, ROB 511, and EECS 367. (3 credits)
Introduction to computational models, algorithms, and software systems for full-stack autonomous robot control that generalizes across a wide variety of mobile manipulation platforms. Topics include robot description conventions, path and motion planning, reactive control, forward and inverse kinematics, dynamical simulation, numerical integration, and robot middleware design. Extensive programming. CourseProfile (ATLAS)
ROB 520. Motion Planning
Advised Prerequisite: Undergraduate linear algebra (e.g. MATH 214) and significant programming experience (e.g. EECS 281). (3 credits)
Focuses on algorithms that reason about the movement of robots. These algorithms can be used to generate sequences of motions for cars, arms, and humanoids. Students will implement motion planning algorithms in open-source frameworks, read recent literature in the field, and complete a project that draws on the course material. CourseProfile (ATLAS)
ROB 550. Robotic Systems Laboratory
Prerequisite: Graduate standing or permission of instructor. (4 credits)
Multidisciplinary laboratory course with exposures to sensing, reasoning, and acting for physically-embodied systems. Intro to kinematics, localization and mapping, planning, control, user interfaces. Design, build, integration, and test of mechanical, electrical, and software systems. Projects based on a series of robotic platforms: manipulators, mobile robots, aerial or underwater vehicles. CourseProfile (ATLAS)
ROB 560. BioInspired Robotic Design
Advisory Prerequisite: ROB 550. (4 credits)
Examines original scientific research to extract general principles that can be applied to robotics, such as: template and anchor models, walking, running, swimming, flying, sensing, and navigation. Students build functional prototypes and learn about the bioinspired design process through case studies that highlight health, the environment, and safety. CourseProfile (ATLAS)
ROB 572 (NAVARCH 569). Marine Robotics
Advisory Prerequisite: Computational Linear Algebra (ROB 101) or Linear Algebra (MATH 214, MATH 217, MATH 417, or MATH 419) or graduate standing; proficiency in MATLAB. (3 credits)
Overview of marine robotic systems, including autonomous surface vehicles, remotely operated vehicles, and autonomous underwater vehicles. Topics include vehicle design, kinematic and dynamic modeling, control, sensing, and navigation. Examples draw from real robotic missions across a range of applications from inspection of critical subsea infrastructure to exploration of ocean worlds. CourseProfile (ATLAS)
ROB 590. Directed Study
Prerequisite: Permission of instructor. Mandatory Satisfactory/Unsatisfactory. (1-6 credits)
Individual study of specialized aspects of robotics. Graduate students only. CourseProfile (ATLAS)
ROB 599. Special Topics in Robotics
Advised Prerequisite: Graduate standing or permission of instructor. (1-6 credits)
Special topics in Robotics. CourseProfile (ATLAS)
600 Level Courses
ROB 690. Master’s Advanced Research
Prerequisite: Graduate standing; 1 previous election of ROB 590 (min 3 credits); AND Corequisite: 1 additional election of ROB 590 (min 3 credits) which may be elected concurrently with ROB 690. Minimum grade requirement: S
Faculty-supervised research that culminates in a submitted and graded document. Expectation is that student will write and submit an original conference style paper based on their advanced research that builds on earlier research completed in three to six credits of ROB 590. Specific expectations determined by advisor. Course will be letter graded. 2 different options each with a maximum of 9 credits of research that can count toward the MS: (see pre-req and co-req for details). CourseProfile (ATLAS)
900 Level Courses
ROB 990. Dissertation/Pre-Candidate
Prerequisite: None. (1-8 credits)
Dissertation work by doctoral student not yet admitted to status as candidate. The defense of the dissertation, that is, the final oral examination, must be held under a full-term candidacy enrollment. CourseProfile (ATLAS)
ROB 995. Dissertation/Candidate
Prerequisite: Doctoral candidacy. (8 credits); (4 credits)
Election for dissertation work by a doctoral student who has been admitted to candidate status. The defense of the dissertation, that is, the final oral examination, must be held under a full-term candidacy enrollment. CourseProfile (ATLAS)