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

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. 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 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: ME 240 and/or 360, ROB 310 (4 credits)
ROB311 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 for only one: ROB 320, EECS 367, and ROB 511). (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 (ME 240 or ME 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)

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

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. Advanced Robot Operating Systems
Advised Prerequisite: Linear Algebra (Math 214, 217, 417, 419 or equivalent) and Programming (EECS 280, 402, or equivalent). (3 credits)
Introduction to computational models, algorithms, and software systems for full-stack autonomous robot control that generalizes across a wide variety of machines. Topics include robot description languages, 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 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)