The Master of Engineering (M.Eng.) program in robotics is interdisciplinary in nature and spans a range of disciplines which include computer engineering, computer science, mechanical engineering, systems engineering, and aerospace engineering. Faculty and professionals teaching our courses are at the forefront of the latest breakthroughs and advances in robotics, which are incorporated into the program curriculum. 


The curriculum is designed to cover fundamental and applied topics in design, modeling, and control of robotic systems as well as planning and perception for autonomous robots. We offer courses which cover artificial intelligence, computer vision, motion planning, space and planetary robotics, robot kinematics and dynamics, control, networked robotic systems, and robotics at micro- and nano-scale. Students are able to tailor their studies in Optimization, Decision Making, and Algorithms; Performance Analysis and Design Methods; Modeling, Systems and Control; and Sensing, Vision and Perception.

Program Requirements

  • 10 Courses including 4 Core Courses, at least 1 ENPM Robotics specific programming elective, at least 2 ENPM Robotics specific electives and up to 3 technical electives from the approved list of courses. Students should consult with their advisor prior to registering and have pre-approval for all technical electives.
  • No Thesis/Research
  • No Comprehensive Exam
  • 30 Credits

View Program Requirements

The M.Eng. program in robotics is administered by the office of Maryland Applied Graduate Engineering (former Office of Advanced Engineering Education). This program has been endorsed by the ARM Institute.

Read this interview with 2023 M.Eng. Robotics alumna Mahima Arora, who explains how her training in the program has given her the skills to succeed in her robotics career. Many thanks to the ARM Institute for this story.

ENPM661 Planning for Autonomous Robots (every spring)
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 course introduces planning techniques for realizing autonomous robots. In addition to covering traditional motion planning techniques, this course emphasizes 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 (every fall)
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 (every fall)
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 (every spring)
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.
ENPM702 Introductory Robot Programming (every fall)
ENPM605 Python Applications for Robotics (every spring)
ENPM700 Software Development for Robotics  (every fall)
ENPM690 Robot Learning  (every spring)
ENPM640 Rehabilitation Robotics  (every fall)
ENPM692 Manufacturing and Automation  (every spring)
ENPM663 Building a Manufacturing Robot Software System (every spring)
ENPM645 Human Robot Interaction  (every fall)
ENPM701 Autonomous Robots (every spring)
ENPM808Z Cognitive Robotics (every other spring)
ENPM808E Underwater Robot Perception (varies)
ENPM Electives
ENPM633 Introduction to Machine Learning (every fall)
ENPM606 Data Science*(every fall, every other fall online only)
ENPM655 AI-based Software Systems* (FA24. every other fall)
ENPM611 Software Engineering* (every fall and spring)
ENPM703 Fundamentals for Artificial Intelligence and Deep Learning Framework* (every fall)
ENPM809F Internet of Things* (varies)
ENPM691 Hacking of C programs and Unix Binaries* (every fall and spring)
ENPM808Y Fundamental Concepts of AI and Machine Learning, and their Applications* (TBD)
ENPM808 Independent Study Project Course*
* - online option
Non-ENPM Electives
Optimization and Algorithms
CMSC651 Analysis of Algorithms
CMSC712 Distributed Algorithms and Verification
CMSC722 Artificial Intelligence Planning
ENAE681/ENME610 Engineering Optimization
ENME607 Engineering Decision Making
ENEE662 Convex Optimization
Modeling, Systems and Control
ENME605 Advanced Systems Control
ENME664 Dynamics
ENME808T Network Control Systems
ENEE660 System Theory
ENEE661 Nonlinear Control Systems
ENEE664 Optimal Control
ENEE765 Adaptive Control
ENAE646 Advanced Dynamics
ENAE743 Applied Nonlinear Control 
Performance Analysis and Design Methods
ENME600 Engineering Design Methods
ENME695 Design for Reliability
ENAE697 Space Human Factors and Life Support
ENSE621 Systems Engineering Concepts and Processes: A Model-Based Approach
Vision and Perception
CMSC733 Computer Processing of Pictorial Information
CMSC734 Information Visualization
ENEE631 Digital Image and Video Processing
ENEE633 Statistical Pattern Recognition
ENEE731 Image Understanding
*CMSC426 covers content very similar to ENPM673 and will not be approved towards the M.Eng. degree.
ENME413 Bio-Inspired Robotics
ENSE698E Sensor Systems
ENAE692 Introduction to Space Robotics
ENAE788X Planetary Surface Robots
ENCE622 Construction Automation & Robotics
CMSC818B Decision-Making for Robotics
CMSC828I Advanced Techniques in Visual Learning and Recognition
ENME746 Medical Robotics