Robotics Courses

*For more information regarding course equivalencies please refer to the Course Equivalency section, under “How to Read a Course Description“, in the CoE Bulletin Website: https://bulletin.engin.umich.edu/courses/course-info/

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
Advisory 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)

ROB 103. Robotics Mechanisms
Advisory Prerequisite: ROB 101. (4 credits)
Hands-on design, build, and operations of robotic systems. Students, in teams, will build a mobile manipulation robot that can be teleoperated. Students will develop maker-shop skills (3D printing, laser cutting, mill, etc.), programming (C++) and controls, system design and integration, and technical writing. Culmination in friendly competition and final report. CourseProfile (ATLAS)

200 Level Courses

ROB 204. Introduction to Human-Robot Systems
Prerequisite: ROB 101, MATH 214, MATH 217, MATH 417, or MATH 219 (co-requisite); ROB 102, ENGR 101, EECS 183, or ENGR 151; ROB 103 or ENGR 100. Minimum grade of “C-” for enforced prerequisite. (4 credits)
This foundation in human-robot systems covers identifying and describing how human capabilities and behaviors inform robotic design. We survey 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)

300 Level Courses

ROB 320. Robot Operating Systems
Prerequisite: ROB 204 and EECS 280. Minimum grade of “C-” for enforced prerequisite. (Credit for only one: ROB 320, EECS 367, and ROB 511). (4 credits)
This foundation in human-robot systems covers identifying and describing how human capabilities and behaviors inform robotic design. We survey 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)

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.  Advisory 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 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) 
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)

500 Level Courses

ROB 501. Mathematics for Robotics
Prerequisite: Graduate standing or permission of instructor. Advisory: 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. Robot Operating Systems
Advisory Prerequisite: Linear Algebra (Math 214, 217, 417, 419 or equivalent) and Programming (EECS 280, 402, or equivalent). (3 credits)
An Introduction to computational models, algorithms, and software systems for autonomous robot control that generalizes across a wide variety of machines. Topics covered include path and motion planning, reactive control, forward and inverse kinematics, numerical integration for dynamics, and robot middleware [design]. Significant programming. CourseProfile (ATLAS)

ROB 520. Motion Planning
Advisory 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 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
Advisory 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)