Open to rising juniors in the departments of Aerospace Engineering, Electrical and Computer Engineering, Mechanical Engineering, and Computer Science

Eligibility Requirements

Students must meet all of the following requirements to be eligible for consideration:

  • Majoring in Aerospace Engineering, Electrical and Computer Engineering, Mechanical Engineering, or Computer Science
  • Minimum of 30 university credits completed (sophomore standing)
  • Minimum GPA of 3.0
  • At least four semesters remaining at the University of Maryland prior to graduation
  • Completion of the following program prerequisites: 
           MATH: MATH246 Differential Equations or ENES221 Dynamics 
           PROGRAMMING: CMSC131 Object-Oriented Programming I or ENME202/ENAE202 Computing Fundamentals  or
           ENEE150 Intermediate Programming Concepts


For any questions please contact

Program Requirements

  • Minimum of 21-22 credits: 12 credits of required core coursework (ENME480, ENAE450, ENEE467, and CMSC477), 4 credits of MATH240 or 3 credits of MATH461, and 6 credits of approved technical electives. 
  • Minimum of 2.0 GPA in all courses required for the minor.
  • The RAS minor must be completed simultaneously with a major degree program.

ENME480 Introduction to Robotics
Course Description: This course is an introductory course to the robotics minor and educates students in the elementary concepts of robotics. The topics covered in the course include mathematics of rigid motion, rotations, translations, homogeneous transformations, forward kinematics, inverse kinematics, velocity kinematics, geometric Jacobian, analytical Jacobian, motion planning, trajectory generation, independent joint control, linear control methods such as PD, PID, actuator dynamics, feedforward control for trajectory tracking, force control, basic computer vision concepts including thresholding, image segmentation, and camera calibration. This course also includes a laboratory component to be conducted in the Robot Realization Laboratory in the Engineering Annex Building.
MATH246 or ENES221; and CMSC131, ENME202, ENAE202, or ENEE150 
Restriction: Must be in the Robotics and Autonomous Systems minor; or permission of department. 

ENAE450 Robotics Programming
Course Description: This course introduces students to the Robot Operating System (ROS) as well as to many of the available tools commonly used in robotics. Lectures focus on theory and structure, whereas laboratory sections will focus on applications and implementations. Students learn how to create software and simulations, interface to sensors and actuators, and integrate control algorithms.  The course works through exercises involving a number of autonomous robots (i.e., ground and air vehicles) that students could eventually use in their future robotics minor courses. Topics include: ROS architecture, console commands, ROS packages, simulation environments, visualizations, autonomous navigation, manipulation, and robot vision.
For RAS minor students: ENME480 
For non-minor AE students: ENAE380
Restriction: Must be in the Robotics and Autonomous Systems minor; or permission of department. 

ENEE467 Robotics Project Laboratory
Course Description: This practical robotics class teaches practical skills to build, control, and deploy robotic systems. Interdisciplinary groups of students develop real-world robotic systems. The first 10 weeks of the lab are devoted to 5 pre-programmed experiments. The remainder of the lab is devoted to student projects. Students work in teams of 2, preferably with each student coming from a different background in engineering. There are 2 weekly lectures. The emphasis of the class is entirely on making a real robot do what you want it to do. In the first experiment, students perform a simple servomechanism experiment, where students control a single joint of a robot. We vary the weight on the movable rod to simulate the effects of the changing inertia due to outer segments moving. Next, we have the students directly control several joints of a robot arm. The third experiment is to control the position and orientation of the end effector. A fourth experiment deals with grasping. A fifth experiment deals with the position and orientation of a wheeled robot. 
For RAS minor students: ENAE450
For non-minor ECE students: ENEE322
Restriction: Must be in the Robotics and Autonomous Systems minor; or permission of department. 

CMSC477 Robotics Perception and Planning
Course Description: This course teaches the fundamentals of robot perception and robot path planning. The syllabus and course is divided into two segments, as per the major aspects involved in robotics. There will be lectures on (a) planning and control and (b) perception, with projects and homework. The syllabus includes the following: Motion Planning Introduction, Rigid Body Transformations, Velocity, Velocity Dynamics, Vehicle Controls, Graph Based Planning, Sampling Based Planning, Trajectory Planning, Navigation, Baeyesian and Kalman Filtering, Camera Model and Calibration, Projective Geometry, Visual Perception features, Optical Flow, Pose Estimation, 3D Velocities, Basics of Machine Learning, Structure from Motion, Visual Odometry, and Recognition and Learning. There are two examinations, 3 projects in multiple phases, and two homeworks. The class uses robots, mobile platforms with sensors and effectors. Drone experiments are done in simulation or in the Iribe Drone Lab, space permitting. 
For RAS minor students: Linear Algebra (MATH240 or MATH461) and ENEE467
For non-minor CS students: CMSC420
Restriction: Must be in the Robotics and Autonomous Systems minor; or permission of department. 

MATH240 Introduction to Linear Algebra or MATH461 Linear Algebra for Scientists and Engineers

NOTE: MATH240 and MATH461 must be completed prior to enrollment in CMSC477.

Take at least TWO of the following technical electives:
● ENME400 Machine Design
● ENME410 Design Optimization
● ENME461 Control Systems Lab
● ENME489L Bioinspired Robotics
● ENME444 Assistive Robotics
● ENME489B Mechatronics and the Internet of Things
● ENME467 Engineering for Social Change
● CMSC421 Intro to AI
● CMSC422 Intro to Machine Learning
● CMSC426 Image Processing
● CMSC427 Computer Graphics
● CMSC451 Design and Analysis of Algorithms
● ENEE440 Microprocessors
● ENEE460 Control Systems
● ENEE461 Control Systems Lab
● ENEE425 Digital Signal Processing
● ENEE408I Capstone Autonomous Robotics
● ENAE380 Flight Software Systems
● ENAE441 Space Navigation and Guidance
● ENAE403 Dynamics of Flight
● ENAE432 Control of Aerospace Systems