Master of Engineering in Robotics
College Park, USA
DURATION
2 Years
LANGUAGES
English
PACE
Full time, Part time
APPLICATION DEADLINE
15 Dec 2024
EARLIEST START DATE
01 Jan 2025
TUITION FEES
USD 45,000 / per course
STUDY FORMAT
Distance Learning, On-Campus
Introduction
As one of the fastest-growing fields within technology and engineering, a graduate degree in robotics offers you career opportunities in diverse industries, including aerospace, manufacturing, defense, and even healthcare.
The University of Maryland's Master of Engineering and Graduate Certificate in Engineering programs bring together engineering professionals who have a passion for discovering robotics' potential to benefit society. Our programs are run in conjunction with the Maryland Robotics Center, an interdisciplinary research center with more than 40 faculty members at the forefront of advances in robotics and over 18 laboratories with state-of-the-art technologies.
Our curriculum is designed to build understanding and expertise in robotics design, modeling, control systems, autonomous robotics, machine learning, computer vision, and human-robot interaction. With a range of technical electives, students pursuing a robotics degree can tailor their coursework towards their area of interest in robotics including aerial robotics, artificial intelligence, computer vision and perception, space and planetary robotics, robot kinematics and dynamics, control, networked robotic systems, and medical and rehabilitation robotics.
Admissions
Curriculum
Degree Requirements
Master of Engineering: 30 Credits or 10 Courses
Students pursuing this option must complete four core courses and six technical electives of their choice from the approved list of courses above. Students should consult with their advisor before registering and have pre-approval for all technical electives.* 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. There is no research or thesis required for this degree.
*CMSC426 covers content very similar to ENPM673 and will not be approved for the M.Eng. degree.
Graduate Certificate in Engineering: 12 Credits or 4 Courses
This option requires the successful completion of four courses from the robotics core courses listed above. Students should consult with their advisor before registering.
Courses
CMSC651 Analysis of Algorithms (3 Credits) | Elective
Efficiency of algorithms, orders of magnitude, recurrence relations, lower-bound techniques, time and space resources, NP-complete problems, polynomial hierarchies, and approximation algorithms. Sorting, searching, set manipulation, graph theory, matrix multiplication, fast Fourier transform, pattern matching, and integer and polynomial arithmetic.
CMSC712 Distributed Algorithms and Verification (3 Credits) | Elective
Study of algorithms from the distributed and concurrent systems literature. Formal approach to specifying, verifying, and deriving such algorithms. Areas selected from mutual exclusion, resource allocation, quiescence detection, election, Byzantine agreements, routing, network protocols, and fault tolerance. Formal approaches will handle system specification and verification of safety, liveness, and real-time properties.
CMSC722 Artificial Intelligence Planning (3 Credits) | Elective
Automated planning of actions to accomplish some desired goals. Basic algorithms, important systems, and new directions in the field of artificial intelligence planning systems.
CMSC733 Computer Processing of Pictorial Information (3 Credits) | Elective
Input, output, and storage of pictorial information. Pictures as information sources, efficient encoding, sampling, quantization, and approximation. Position-invariant operations on pictures, digital and optical implementations, the pax language, applications to match, and spatial frequency filtering. Picture quality, image enhancement, and image restoration. Picture properties and pictorial pattern recognition. Processing of complex pictures; figure extraction, properties of figures. Data structures for picture description and manipulation; picture languages. Graphics systems for alphanumeric and other symbols, line drawings of two- and three-dimensional objects, cartoons, and movies.
CMSC734 Information Visualization (3 Credits) | Elective
Information visualization is defined as graphics, scientific visualization, databases, data mining, and human-computer interaction. Visualizations for dimensional, temporal, hierarchical, and network data. Examines design alternatives, algorithms, data structures, coordinated views, and human factors evaluations of efficacy.
ENAE681 Engineering Optimization (3 Credits) | Elective
Methods for unconstrained and constrained minimization of functions of several variables. Sensitivity analysis for systems of algebraic equations, eigenvalue problems, and systems of ordinary differential equations. Methods for transformation of an optimization problem into a sequence of approximate problems. Optimum design sensitivity analysis.
Restriction: Permission of ENGR-Aerospace Engineering department.
ENAE692 Introduction to Space Robotics (3 Credits) | Elective
Analysis techniques for manipulator kinematics and dynamics. DH parameters, serial and parallel manipulators, approaches to redundancy. Applications of robots to space operations, including manipulators on free-flying bases, satellite servicing, and planetary surface mobility. Sensors, actuators, and mechanism design. Command and control with humans in the loop.
ENAE697 Space Human Factors and Life Support (3 Credits) | Elective
Engineering requirements support humans in space. Life support design: radiation effects and mitigation strategies; requirements for atmosphere; water, food, and temperature control. Accommodations for human productivity in space: physical and psychological requirements; work station design; and safety implication of system architectures. Design and operations for extra-vehicular activity.
ENME600 Engineering Design Methods (3 Credits) | Elective
General Mechanical
This is an introductory graduate-level course in critical thinking about formal methods for design in mechanical engineering. Course participants gain background in these methods and the creative potential each offers to designers. Participants will formulate, present, and discuss their own opinions on the value and appropriate use of design materials for mechanical engineering.
Prerequisites: Graduate standing or permission of instructor.
ENME605 Advanced Systems Control (3 Credits) | Elective
General Mechanical
Modern control theory for both continuous and discrete systems. State space representation is reviewed and the concepts of controllability and observability are discussed. Design methods of deterministic observers are presented and optimal control theory is formulated. Control techniques for modifying system characteristics are discussed.
Prerequisite: ENME462; or permission of instructor.
ENME607 Engineering Decision Making (3 Credits) | Elective
In the course of engineering design, project management, and other functions, engineers have to make decisions, almost always under time and budget constraints. Managing risk requires making decisions in the presence of uncertainty. This course will cover material on individual decision-making, group decision-making, and organizations of decision-makers. The course will present techniques for making better decisions, for understanding how decisions are related to each other, and for managing risk.
Also offered as ENRE 671. Credit is only granted for ENME 808X, ENRE 671, or ENME 607. Formerly: ENME 808X.
ENME610 Engineering Optimization (3 Credits) | Elective
General Mechanical
Overview of applied single- and multi-objective optimization and decision-making concepts and techniques with applications in engineering design and/or manufacturing problems. Topics include formulation examples, concepts, optimality conditions, unconstrained/constrained methods, and post-optimality sensitivity analysis. Students are expected to work on a semester-long real-world multi-objective engineering project.
Prerequisite: Graduate standing or permission of instructor.
ENME664 Dynamics (3 Credits) | Elective
General Mechanical
Kinematics in plane and space; Dynamics of particles, system of particles, and rigid bodies. Holonomic and non-holonomic constraints. Newton's equations, D'Alembert's principle, Hamilton's principle, and the equations of Lagrange. Impact and collisions. Stability of equilibria.
Prerequisite: ENES221; or students who have taken courses with similar or comparable course content may contact the department; or permission of the instructor.
ENME695 Failure Mechanisms and Reliability (3 Credits) | Elective
General Mechanical
This course will present classical reliability concepts and definitions based on statistical analysis of observed failure distributions. Techniques to improve reliability, based on the study of root-cause failure mechanisms, will be presented; based on knowledge of the life-cycle load profile, product architecture, and material properties. Techniques to ent operational failures through robust design and manufacturing practices will be discussed. Students will gain the fundamentals and skills in the field of reliability as it directly pertains to the design and manufacture of electrical, mechanical, and electromechanical products.
ENPM605 Python Applications for Robotics (3 Credits) | Elective
ENPM640 Rehabilitation Robotics (3 Credits) | Elective
Formerly ENPM808J
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 rehabilitation robotics, an emerging and one of the fastest-growing fields 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.
ENPM645 Human-Robot Interaction (3 Credits) | Elective
Formerly ENPM808K
Define the intersection of human-robot interactions to include human-computer interfaces as well as robotic emotions and facial expressions and emulations. The result will provide a basis for students to assess the best approaches for interacting effectively with robots.
ENPM661 Planning for Autonomous Robots (3 Credits) | Core
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 the 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 Credits) | Core
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.
ENPM663 Building a Manufacturing Robot Software System (3 Credits) | Elective
Formerly ENPM809B. The course will look at the components of manufacturing robots, including architectures, knowledge representation, planning, control, safety, standards, and human-robot interaction. Students will explore the work that is being performed around the world in each of these areas and will perform small hands-on exercises in class to gain a deeper understanding of how a selected set of these technologies can be applied to real-world challenges. This course will have invited presentations from experts in the field.
Recommended: Prior C++ or Python programming experience.
ENPM667 Control of Robotic Systems (3 Credits) | Core
This is a basic course on the design of controllers for robotic systems. The course starts with mainstay principles of linear control, with a 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 Credits) | Core
Image Processing and Computer Vision techniques for Mobile Robots are taught. Three topics are covered: Image Processing (Image Enhancement, Filtering, Advanced Edge and Texture ), 3D Vision (3D Geometry from Multiple view geometry, Motion Processing, and Stereo), and an Introduction to Image Segmentation and Object Recognition. Students are introduced to several existing software toolboxes from Vision and Robotics and will implement several smaller projects in Python.
Prerequisite: Proficiency in a programming language is required. Recommended: Familiarity with Python.
ENPM690 Robot Learning (3 Credits) | Elective
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. Adaptation and learning are particularly important for the development of autonomous robotic systems that must operate in dynamic or uncertain environments. Ultimately we would like for the robots to expand their knowledge and improve their performance through learning while operating in the environment (online and/or lifelong learning). Robot Learning covers the application of learning techniques including Reinforcement Learning, Learning from Demonstration, and Robot Shaping which may be used with a variety of machine learning paradigms for which data is used to generate (through induction) models that are then used by the robot to perform tasks. A wide variety of paradigms are available to generate models (e.g., CMAC, KNN, MLP, lazy learning, LWR, RBF, and deep networks). These learning techniques and paradigms are then combined with traditional robotic control approaches (e.g., motor schema, behavior-based, direct, and inverse methods) to create controllers to control the robots while operating in real-world environments. This graduate course will explore the application of machine learning techniques, paradigms, and control design to robotic systems, focusing primarily on key useful representations and model-building techniques for application in non-stationary robotic systems.
Formerly: ENPM808F.
ENPM692 Manufacturing and Automation (3 Credits) | Elective
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.
Formerly: ENPM808P.
ENPM700 Advanced Topics in Engineering; Software Development for Robotics (3 Credits) | Elective
As the robotics industry continues to grow and evolve, software's role in these products and systems is also becoming more critical. From embedded controls to advanced perception and learning, software permeates today's robots. Building off domain expertise developed in other robotics courses, this course teaches the tools and processes to develop professional quality software for deployed systems and products. Students will learn the best practices of taking new ideas or prototypes and understanding what it takes to build the complex software that is so important to today’s commercialized robotic systems. The course is split into two parts: the first will review the C++ programming language, object-oriented programming (OOP) concepts, version control, testing, and agile software development processes; the second will introduce the popular Robot Operating System (ROS) framework with intensive programming assignments and projects. Students should be proficient in using Linux, programming with C/C++, and understand the concepts of object-oriented programming.
ENPM701 Autonomous Robotics (3 Credits) | Elective
This is a hands-on course exploring the fundamentals of autonomous navigation for robotic platforms. Students will explore technologies including light detection and ranging (lidar), radar, and computer vision in the context of autonomous navigation. Students will perform small hands-on exercises in most classes to gain a deeper understanding of how a selected set of these technologies can be applied to real-world robotic environments. This course requires the completion of a semester-long hands-on project employing the course material, data collection and processing, and navigational control of an autonomous robot. Students perform this work in teams of 1-3, which stay together throughout the semester. Specific project details will be provided during the first-course lecture.
ENPM702 Introductory Robot Programming (3 Credits) | Elective
This hands-on course will introduce students to robot programming. This course is specifically designed for students who have had little to no programming experience in their previous studies to prepare them for other ENPM robotics courses that require programming experience. This course will focus on C++ programming and provide a very brief introduction to Linux and the Robot Operating System (ROS). Small projects will be assigned to allow students to apply what they have learned in class.
Rankings
Online Programs
#6 Online Graduate Engineering Programs - U.S. News and World Report Best Online Graduate Engineering Programs
U.S. Graduate Programs
#19 Graduate Engineering - U.S. News and World Report 2023 Best Engineering Graduate Programs
Specialties:
- #15 Aerospace Engineering
- #16 Electrical Engineering; #15 Computer Engineering
- #17 Mechanical Engineering
Entrepreneurship Rankings
- #7 Undergraduate Program
- #18 Graduate Program
Princeton Review's Top 50 Schools For Entrepreneurship Programs"
Program Tuition Fee
English Language Requirements
Certify your English proficiency with PTE. The faster, fairer, simpler English test, accepted by thousands of universities around the world. PTE, Do it worry-free!