Master of Engineering Courses

This option is offered by the Maryland Robotics Center and the Institute for Systems Research. Students must successfully complete four core courses listed below and six technical electives of their choice from an approved list of courses. Students should consult with their advisor prior to registering and have pre-approval for all technical electives. Please note that special topics courses may also be available in some semesters and students should talk to their academic advisor if interested in one of these new courses.



ENPM661 Planning for Autonomous Robots (3)
Planning is a fundamental capability needed to realize autonomous robots. Planning in the context of autonomous robots is carried out at multiple different levels. At the top level, task planning is performed to identify and sequence the tasks needed to meet the mission requirements. At the next level, planning is performed to determine a sequence of motion goals that satisfy individual task goals and constraints. Finally, at the lowest level, trajectory planning is performed to determine actuator actions to realize the motion goals. Different algorithms are used to achieve planning at different levels. This graduate course will introduce planning techniques for realizing autonomous robots. In addition to covering traditional motion planning techniques, this course will emphasize the role of physics in the planning process. This course will also discuss how the planning component is integrated with control component. Mobile robots will be used as examples to illustrate the concepts during this course. However, techniques introduced in the course will be equally applicable to robot manipulators
ENPM662 Introduction to Robot Modeling (3)
This course introduces basic principles for modeling a robot. Most of the course is focused on modeling manipulators based on serial mechanisms. The course begins with a description of the homogenous transformation and rigid motions. It then introduces concepts related to kinematics, inverse kinematics, and Jacobians. This course then introduces Eulerian and Lagrangian Dynamics. Finally, the course concludes by introducing basic principles for modeling manipulators based on parallel mechanisms. The concepts introduced in this course are subsequently utilized in control and planning courses.
ENPM667 Control of Robotic Systems (3)
This is a basic course on the design of controllers for robotic systems. The course starts with mainstay principles of linear control, with focus on PD and PID structures, and discusses applications to independent joint control. The second part of the course introduces a physics-based approach to control design that uses energy and optimization principles to tackle the design of controllers that exploit the underlying dynamics of robotic systems. The course ends with an introduction to force control and basic principles of geometric control if time allows.
ENPM673 Perception for Autonomous Robots (3)
Perception is a basic fundamental capability for the design of autonomous robots. Perception begins at the sensor level and the class will examine a variety of sensors including inertial sensors and accelerometers, sonar sensors (based on sound), visual sensors (based on light) and depth sensors (laser, time of flight). Perception, in the context of autonomous robots, is carried out in a number of different levels. We begin with the capabilities related to the perception of the robot’s own body and its state. Perception contributes to kinetic stabilization and ego-motion (self motion) estimation. Next come the capabilities needed for developing representations for the spatial layout of the robot’s immediate environment. These capabilities contribute to navigation, i.e. the ability of the robot to go from one location to another. During navigation, the robot needs to recognize obstacles, detect independently moving objects, as well as make a map of the space it is exploring and localize itself in that map. Finally, perception allows the segmentation and recognition of objects in the environment as well as their three dimensional descriptions that can be used for manipulation activities. The course will introduce techniques with hands on projects that cover the capabilities listed before.


ENPM808F Robot Learning (3)
Machine learning may be used to greatly expand the capabilities of robotic systems, and has been applied to a variety of robotic system functions including planning, control, and perception. Machine Learning for Robotic Systems covers the application of a machine learning techniques for which data is used to generate (through induction) a model that is then used by the robot to perform tasks. A wide variety of representations and techniques are available to generate models including multilayer perceptrons (e.g., trained through backpropagation or evolutionary algorithms), Radial Basis Functions, Sparse Representations, Support Vector Machines, Random Decision Forests, Bayesian Networks, and Deep Networks (Convolutional Neural Networks). Ultimately we would like for the robots to expand their knowledge and improve their own performance through learning while operating in the environment (on-line and/or lifelong learning). This graduate course will explore the application of machine learning techniques to robotic systems, focusing primarily on key useful representations and model building techniques for application in non-stationary robotic systems. More attention will be paid to machine learning for robot control than for perception.
ENPM808J Rehabilitation Robotics (3)
This course provides an introduction to a field of robotics dedicated to improving the lives of people with disabilities. The course is designed for graduate students wishing to learn more about the rehabilitation robotics, an emerging and one of the fastest growing field of robotics. Rehabilitation robotics is the application of robots to overcome disabilities resulting from neurologic injuries and physical trauma, and improve quality of life. In contrast with other sub-specialties and/or courses in robotics, this course considers not only engineering design and development, but also the human factors that make some innovative technologies successful and others commercial failures. Engineering innovation by itself - without considering other factors such as evidence-based R&D and product acceptance – may mean that some technologies don’t become or remain available, or are efficacious to aid their intended beneficiaries. This course differs from biomedical engineering in its focus on improving the quality of life, rather than improving their medical treatment.
ENPM808K Human Robot Interaction (3)
Define the intersection of human-robot interactions to include human-computer interfaces as well as robotic emotions and facial expressions emulations. The result will provide a basis for students to assess the best approaches for interacting effectively with robots.
ENPM808P Manufacturing and Automation (3)
This course will cover manufacturing automation and product realization, digital factories, and disruptive manufacturing technologies. The role of additive manufacturing, sustainability, and performance simulation in selected manufacturing scenarios will be explored alongside automation strategies for rapid product development.
ENPM808X Advanced Topics in Engineering; Software Development for Robotics (3)
Extra Electives


Modeling, Systems and Control ()
ENME675 A Mathematical Introduction to Robotics, ENME605 Advanced Systems Control, ENEE660 System Theory, ENME664 Dynamics, ENEE661 Nonlinear Control Systems, ENEE664 Optimal Control, ENEE765 Adaptive Control, and ENAE 692 Introduction to Space Robotics.
Optimization and Algorithms ()
CMSC651 Analysis of Algorithms, CMSC712 Distributed Algorithms and Verification, CMSC722 Artificial Intelligence Planning, ENAE681 Engineering Optimization, ENME610 Engineering Optimization, ENME607 Engineering Decision Making, and ENEE662 Convex Optimization.
Performance Analysis and Design Methods ()
ENME600 Engineering Design Methods, ENME695 Failure Mechanisms and Reliability, ENAE697 Space Human Factors and Life Support, and ENSE621 Systems Concepts, Issues, and Processes.
Vision and Perception ()
CMSC733 Computer Processing of Pictorial Information, CMSC734 Information Visualization, ENEE631 Digital Image and Video Processing, ENEE633 Statistical Pattern Recognition, and ENEE731 Image Understanding.

Office of Advanced Engineering Education

2105 J.M. Patterson Building
University of Maryland
College Park, MD 20742

Copyright © 2017 University of Maryland. All rights reserved.

English French German Italian Portuguese Russian Spanish