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.