Robotics Courses (ROB)

*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
Advisory and Enforced Prerequisite: None. (4 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 Algorithms and Programming
Advisory Prerequisite: ROB 101 (Computational Linear Algebra) or ROB 103 (Robotic Mechanisms). Enforced Prerequisite: None. (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
Advisory Prerequisite: ROB 101. Enforced Prerequisite: No credit in ENGR 100; No OP/F and no credit in ENGR 100, topic “Robotics Mechanisms (topic ID 29)”. Minimum grade requirement of “C-” for enforced prerequisite. (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
Advisory Prerequisite: None. Enforced 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 290. Directed Study
Advisory and Enforced Prerequisite: None. (1-6 credits)
Individual study of specialized aspects of robotics. Undergraduate students only. CourseProfile (ATLAS)

ROB 298. Special Topics in Robotics
Advisory and Enforced Prerequisite: None. (1-8 credits)
Topics of current interest in Robotics. CourseProfile (ATLAS)

300 Level Courses

ROB 310. Robot Sensors and Signals
Advisory Prerequisite: ROB 101 and ROB 103. Enforced Prerequisite: ROB 204 and (EECS 215 or BIOMEDE 211). Minimum grade requirement of “C-” for enforced prerequisite. (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
Advisory Prerequisite: (EECS 215 or PHYSICS 240 or PHYSICS 260 or MECHENG 240 or BIOMEDE 231) and ROB 310. Enforced Prerequisite: ROB 204. Minimum grade requirement of “C-” for enforced prerequisite. (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
Advisory Prerequisite: None. Enforced Prerequisite: ROB 204 and EECS 280. 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)
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
Advisory Prerequisite: (IOE 265 or EECS 301) and (MECHENG 240 or MECHENG 360) and (MATH 215 or MATH 216). Enforced Prerequisite: ROB 204 and EECS 280. Minimum grade requirement of “C-” for enforced prerequisite. (4 credits)
Development of full-stack autonomous navigation and mapping for mobile robots. Topics include dead
reckoning from odometry, sensor modeling of LIDAR and cameras, visual odometry, path planning, and
simultaneous localization and mapping (SLAM). CourseProfile (ATLAS)

ROB 340. Human-Robot Interaction
Advisory Prerequisite: ROB 311. Enforced Prerequisite: ROB 204. Minimum grade requirement of “C-” for enforced prerequisite. (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
Advisory Prerequisite: None. Enforced Prerequisite: EECS 281 and (MATH 214 or MATH 217 or MATH 296 or MATH 417 or MATH 419 or ROB 101); 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
Advisory Prerequisite: EECS 281 and (MATH 214 or MATH 217 or MATH 417 or MATH 419 or ROB 101) or permission of instructor. Enforced Prerequisite: EECS 280 and MATH 215; No OP/F and (junior standing or senior standing) or graduate standing. Minimum grade requirement of “C” for enforced prerequisite. (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 435 (IOE 435). Quantifying Human Motion Through Wearable Sensors
Advisory Prerequisite: None. Enforced Prerequisite: (ROB 101 or MATH 214) and IOE 265 and (IOE 333 or ROB 204); No OP/F. Minimum grade requirement of “C-” for enforced prerequisites. (3 credits) 
Hands-on introduction to inertial measurement units (IMUs) for measuring human motion strategies. Includes random processes, autocorrelation, cross-correlation, Fourier transforms, orientation representations, reference frames, and filters (low-pass, high-pass Kalman). These concepts are applied to estimating biomechanical measures (e.g., body joint angles, torso posture, phases of gait, positions) and selecting metrics to support decision making reliant of human movement. CourseProfile (ATLAS)

ROB 450. Robotics Capstone
Advisory Prerequisite: None. Enforced Prerequisite: Junior standing or senior standing and TCHNCLCM 350 and (ONE of ROB 310 or ROB 311 or ROB 320 or ROB 330 or ROB 340); No OP/F. 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
Advisory Prerequisite: None. Enforced Prerequisite: EECS 216 or EECS 281 or MECHENG 360 or CEE 212 or IOE 333; No OP/F or graduate standing. Minimum grade requirement of “C” 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
Advisory and Enforced Prerequisite: None. (1-6 credits) 
Individual study of specialized aspects of robotics. Undergraduate students only. CourseProfile (ATLAS)

ROB 498. Special Topics in Robotics
Advisory and Enforced Prerequisite: None. (1-8 credits) 
Topics of current interest in robotics. CourseProfile (ATLAS)

500 Level Courses

ROB 501. Mathematics for Robotics
Advisory Prerequisite: Differential equations and matrix algebra recommended. Enforced Prerequisite: Graduate standing. (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
Advisory and Enforced 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 510 (EECS 567) (MFG 567) (MECHENG 567). Robotic Kinematics and Dynamics
Advisory Prerequisite: Graduate standing or permission of instructor. Enforced Prerequisite: None. (3 credits)
Geometry, kinematics, differential kinematics, dynamics, and control of robot manipulators.  The mathematical tools required to describe spatial motion of a rigid body will be presented in full.  Motion planning including obstacle avoidance is also covered. CourseProfile (ATLAS)

ROB 511. Mobile Manipulation Systems
Advisory Prerequisite: Linear Algebra (Math 214, MATH 217, MATH 417, MATH 419 or equivalent) and Programming (EECS 280, EECS 402, ROB 502 or equivalent). Enforced 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 517 (BIOMEDE 517). Sensing & Machine Learning for Neural Interfaces
Advisory Prerequisite: None. Enforced Prerequisite: (BIOMEDE 211 or EECS 215 or EECS 314) and (EECS 216) and (MATH 216) and (ENGR 101 or EECS 183 or EECS 180 or EECS 280); No OP/F or Graduate Standing. Minimum grade requirement of “B” for enforced prerequisite. (4 credits)
Focuses on techniques for interfacing with the human nervous system to obtain control signals for assistive technologies. Students first implement quantitative models of neural recording and stimulation. Then students apply machine learning techniques to extract control signals from large neural datasets. This course has a flipped format with classtime dedicated to help with code implementation. Real datasets from brain machine interfaces and nerve/muscle controlled prostheses will be used throughout the course. CourseProfile (ATLAS)

ROB 520. Motion Planning
Advisory Prerequisite: Undergraduate linear algebra (e.g. MATH 214) and significant programming experience (e.g. EECS 281). Enforced Prerequisite: None. (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 530 (EECS 568) (NAVARCH 568). Mobile Robotics: Methods and Algorithms
Advisory Prerequisite: Graduate standing or permission of instructor. Enforced Prerequisite: None. (4 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 535 (NAVARCH 565). Self Driving Cars: Perception and Control
Advisory Prerequisite: Students are recommended to have a background in linear algebra & Differential equations. Programming skills in Python & MATLAB, Some C++. Enforced Prerequisite: None. (3 credits)
Self-driving cars are a transformative technology for society. This course covers the underlying technologies in perception and control. Topics include deep learning, computer vision, sensor fusion, localization, trajectory optimization, obstacle avoidance, vehicle dynamics. Course includes theoretical underpinnings of self-driving car algorithms and practical application of the material in hands-on labs. CourseProfile (ATLAS)

ROB 543 (CSE 543). Ethics for AI and Robotics
Advisory Prerequisite: Coursework in artificial intelligence or robotics. Enforced Prerequisite: Graduate standing. (4 credits)
Self-driving cars are a transformative technology for society. This course covers the underlying technologies in perception and control. Topics include deep learning, computer vision, sensor fusion, localization, trajectory optimization, obstacle avoidance, vehicle dynamics. Course includes theoretical underpinnings of self-driving car algorithms and practical application of the material in hands-on labs. CourseProfile (ATLAS)

ROB 550. Robotic Systems Laboratory
Advisory Prerequisite: None. Enforced 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. Enforced Prerequisite: None. (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. Enforced Prerequisite: None. (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
Advisory Prerequisite: None. Enforced Prerequisite: Permission of instructor. (1-6 credits)
Individual study of specialized aspects of robotics. Graduate students only. Projects are overseen and graded by faculty and may also involve mentoring by representatives from industrial, governmental and/or non-profit organizations. CourseProfile (ATLAS)

ROB 599. Special Topics in Robotics
Advisory Prerequisite: Graduate standing or permission of instructor. Enforced Prerequisite: None. (1-6 credits)
Special topics in Robotics. CourseProfile (ATLAS)

600 Level Courses

ROB 646 (BIOMEDE 646) (MECHENG 646). Locomotion Mechanics and Design/Control of Wearable Robotic Systems
Advisory Prerequisite: MECHENG 540, AEROSP 540 or MECHENG 543 or equivalent. Enforced Prerequisite: None. (3 credits)
Analyze, understand, and model human locomotion, as well as develop bio-inspired assistive technologies and assess their impact. We will learn about the human machine – the sensing, acting, and reasoning of components of the human neuromusculoskeletal systems, as well as how to replicate this functionality with traditional approaches from robotics, including modeling, machine design, mechatronics, and control. CourseProfile (ATLAS)

ROB 690. Master’s Advanced Research
Advisory Prerequisite: None. Enforced Prerequisite: 1 previous election of ROB 590 (min 3 credits); AND Co-requisite: 1 additional election of ROB 590 (min 3 credits) which may be elected concurrently with ROB 690. Minimum grade requirement of “C” for enforced prerequisite. (1.50-3 credits)
Faculty-supervised research that culminates in a submitted and graded document styled as an original research manuscript. Builds on earlier research completed in six credits of ROB 590 and is letter graded. Projects are overseen/graded by faculty and may also involve mentoring by representatives from external organizations. CourseProfile (ATLAS)

900 Level Courses

ROB 990. Dissertation/Pre-Candidate
Advisory and Enforced 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
Advisory Prerequisite: None. Enforced Prerequisite: Doctoral candidate. (4-8 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)