*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
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.
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.
ROB 103. Robotics Mechanisms
Advised 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.
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.
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.
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.
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.
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.
600 Level Courses
ROB 690. Master’s Advanced Research
Prerequisite: Grad 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).
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.
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.