Master of Engineering

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, 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 2 ENPM Robotics specific electives and up to 4 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


CORE COURSES (all required): recommended for your first year of study

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 (evey 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.

ROBOTICS PROGRAMMING ELECTIVES (take at least one): recommended for your first year of study

ENPM809Y Introductory Robot Programming (every fall)
ENPM809E Python Applications for Robotics (every spring)
ENPM809X Software Development for Robotics  (every fall)

ROBOTICS ELECTIVES (take at least two): recommended for your first year of study

ENPM690 Robot Learning  (every spring)
ENPM640 Rehabilitation Robotics  (every fall)
ENPM692 Manufacturing and Automation  (every spring)
ENPM809B Building a Manufacturing Robot Software System  (every spring)
ENPM645 Human Robot Interaction  (every fall)
ENPM809T Autonomous Robots 

PRE-APPROVED TECHNICAL ELECTIVES (choose up to three) recommended for consideration in your second year of studies:


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

Performance Analysis and Design Methods

ENME600 Engineering Design Methods
ENME695 Failure Mechanisms and 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

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 


ENME489L Bio-Inspired Robotics
ENME746 Medical Robotics
ENSE698E Sensor Systems
ENAE692 Introduction to Space Robotics
ENAE788X Planetary Surface Robots
ENCE622 Construction Automation & Robotics
ENPM808 (3 credits) Advanced Topics in Engineering 


Course Syllabi

For course syllabi, click here.

Current Course Offerings

For current course offerings, click here

Admission Requirements

  • A bachelor’s degree in an engineering discipline from an accredited institution.
  • Courses in mathematics (Calculus I, II, III, and Differential Equations)
  • 3.0 GPA or better
  • Three letters of recommendation
  • Graduate Record Exam (GRE) is NOT required
  • TOEFL is required for international students
  • Official copies of transcripts

Completed applications are reviewed and considered for admission on a case-by-case basis.

International Students

For more information on international admissions, click here

Tuition and Fees

For tuition and fees, click here.


Spring 2019 - December 14, 2018

Summer 2019 - May 15, 2019

Fall 2019 - July 26, 2019

Robotics degree programs are administered through the Office of Advanced Engineering Education (OAEE),


Spring 2019 - September 28, 2018

Fall 2019 - March 15, 2019

Apply to M.Eng. program.

Learn More

Sign up for next virtual open house.

Download program brochure.

Robotics Program Director

Professor Derek Paley


Admissions questions: Anna Damm at

Program requirements and graduation questions: Sonja Dietrich at

Curriculum and coursework questions: Ania Picard at