UMD_Logo-white

LIST OF COMPLETED COURSES

Perception for Autonomous Robots

This class teaches Image Processing and Computer Vision techniques for Mobile Robots. The class covers three topics: 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.

Control of Robotic Systems

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.

Robot Modelling

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.

Planning for Autonomous Robots

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

Robot Programming

With C++ still being one of the main languages for robot programming, I strongly believe that this course will prepare students for other ENPM robotics courses that require programming experience. This course will
mainly focus on C++ programming. Towards the end of the course, you will learn about the Robot Operating
System (ROS) along with small exercises.

Systems Engineering Concepts and Processes: A model based approach

An INCOSE-oriented introduction to model-based systems engineering. Provides an overview of systems engineering concepts, processes and methods, with a particular focus on: the development of stakeholder and system requirements; characteristics of well-written requirements; the use of SysML software tools to develop of system- and element-level architectures; and the relationship between requirements and architecture. Architecture-related topics include specification and visualization of system attributes, behavior, and interfaces. Other topics include acquisition and development life cycle models; operational concepts and use cases; requirements and design traceability; analysis, modeling and simulation; systems engineering management; risk management; configuration management; systems-of-systems; and system complexity. The course includes a class project in which teams of 3-5 students use SysML to develop stakeholder requirements, system requirements, and a logical system architecture for an engineered system of interest to them and then perform a design trade-off analysis for some aspect of the system.