## Undergraduate Control Classes

The term or terms when the course is offered is placed in curly brackets.

- AEROSP 345 Flight Dynamics and Control. {F-term and W-term} This course covers the kinematics and dynamics of aircraft, as well as linearized flight analysis and basic concepts of feedback control. This course is required for all aerospace engineering majors. For more information, see more.
- AEROSP 450 Flight Software Systems. This course introduces fundamental computing theory and programming practices for robust design, implementation, and testing of modern flight software systems. For more information, see more.
- EECS 460 Control Systems Analysis and Design. {F-term and W-term} Standard introductory course covering feedback design of SISO continuous-time systems on the basis of root locus and Bode techniques. The course assumes a good working knowledge of the single-sided Laplace transform. ME students can take the course for ME credit in place of ME 461. For more information, see more.
- EECS 461 Embedded Control Systems. {F-term and W-term} Fundamentals of embedded control system design and operation. The course uses knowledge of signals and systems, basics of how a microprocessor works, and C or C++. EECS 460 and 461 are completely independent courses; neither one assumes knowledge of the other. Very roughly speaking, EECS 460 is the algorithm design side of control and EECS 461 deals with hardware implementation issues for feedback control algorithms. Both are clearly important. For more information, see more.
- ME 360 Modeling, Analysis and Control of Dynamic Systems {F-term and W-term} Modeling and analysis of mechanical and electromechanical systems. Introduction to feedback techniques. Requires basics of “F = M A” and “V = I R”. For more information, see more.
- ME 461 Automatic Control {F-term} Introductory control design with emphasis on mechanical engineering applications. The course assumes a good working knowledge of dynamics (such as ME 240) and the single-sided Laplace transform. EECS students can take the course for EECS credit in place of EECS 460. For more information, see more.

## Graduate Control Classes (General)

If a course is cross-listed, the home department is listed first and then the cross-listed departments are placed in parentheses. The term or terms when the course is offered is placed in curly brackets. A course listed as odd-years or even years means that the course is taught every other year, as in 2009, 2011, etc. for odd-year courses, or 2008, 2010, etc. for even-year courses. The faculty make every effort to respect this schedule, but exceptions do occur. The courses in this list do not require background knowledge in any specific domain, such as mechanics, combustion, or aerospace.

- AEROSP 566 Data Analysis and System Identification. Methods of data analysis and empirical modeling. This course is appropriate for students from any area of science and engineering. For more information, see more.
- AEROSP 575 Flight and Trajectory Optimization. Optimal control theory with applications to flight problems. For more information, see more.
- EECS 501. Probability and Random Processes {F-term and W-term} While not specifically a control course, stochastic processes are essential for understanding many phenomena in control engineering. For more information, see more.
- EECS 502. Stochastic Processes {W-term, odd years} A follow-on course to EECS 501. For more information, see more.
- EECS 558. Stochastic Control. {F-term, odd years} Covers analysis, optimization and identification of systems described by Markov chains. The course assumes graduate-level knowledge in stochastic processes and linear systems theory. For more information, see more.
- EECS 560 (AERO 550) (ME 564) Linear Systems Theory. {F-term only} Graduate-level linear systems theory. The course covers state-variable methods for MIMO, linear, time-invariant systems.
**This is the entry course for many of the graduate-level control systems courses; if you show up in the Winter Term without the equivalent of this course, you will have a hard time taking other graduate-level control courses.**For more information, see more. - EECS 562 (AERO 551). Nonlinear Systems and Control. {W-term only} This course builds on the state-variable theory of linear control systems in order to design and analyze nonlinear control systems. For more information, see more.
- EECS 563. Hybrid Systems Analysis and Control. {F-term, even years} Introduction to analysis and design of hybrid systems and hybrid control systems. The course assumes graduate-level knowledge in linear systems theory and good command of Lyapunov theory. For more information, see more.
- EECS 565 (AERO 580). Linear Feedback Control Systems {W-term only} This courses builds on undergraduate frequency domain methods and graduate-level state-variable methods in order to develop feedback design concepts for linear multivariable systems. This course is extremely valuable for practicing engineers. For more information, see more.
- EECS 566. Discrete Event Systems. {F-term, even years} Graduate standing. Modeling, analysis, and control design for dynamic systems with discrete state spaces and event-driven dynamics. For more information, see more more.
- EECS 569. Production Systems Engineering {W-term only, odd years} This course develops systems theory of manufacturing systems. Many case studies are used. Requires a good knowledge of undergraduate probability. For more information, see more.
- EECS 600 (IOE 600) Function Space Methods in System Theory. {W-term only, odd years} Introduction to the description and analysis of systems using function analytic methods. MATH 451 is not assumed, but is helpful. For more information, see more.
- EECS 662 (ME 662). Advanced Nonlinear Control {F-term , odd years}. Builds on the first graduate course in nonlinear systems, EECS 562. Topics vary with instructor. For more information, see more.
- MATH 658. Nonlinear Dynamics, Geometric Mechanics and Control {F-term , odd years}. Mathematical treatment of nonlinear dynamics and ordinary differential equations in the context of geometric mechanics, Hamiltonian and nonholonomic systems, nonlinear stability theory and nonlinear control theory. For more information, see more.
- ME 548. Applied Nonlinear Dynamics {F-term, even years}. Introduction to bifurcations, chaos, strange attractors and other fascinating topics. Assumes a background in undergraduate dynamics-vibrations-control, such as ME360. For more information, see more.
- ME 561 (EECS 561). Design of Digital Control Systems {W-term only} Design of digital control systems, from frequency domain methods through state-variable methods. Assumes a background in undergraduate control. For more information, see more.
- ME 661 Adaptive Control Systems{W-Term} Introduction to control of systems with undetermined or time-varying parameters. Theory and application of self-tuning and model reference adaptive control for continuous and discrete-time deterministic systems. For more information, see more.
- NA 583 Adaptive Control. This is a graduate level course with linear systems as the essential prerequisite. It covers the design, analysis, and implementation of adaptive schemes for both discrete and continuous time systems. For more information, see more.
- (Back to Top)

## Graduate Control Classes (Domain Specific)

These courses may require a non-trivial amount of background knowledge in a specific application domain, or may develop control methods for use in a specific application. You need to pay extra attention to prerequisites. The term or terms when the course is offered is placed in curly brackets. A course listed as odd-years or even years means that the course is taught every other year, as in 2009, 2011, etc. for odd-year courses, or 2010, 2012, etc. for even-year courses. The faculty make every effort to respect this schedule, but exceptions do occur. (Back to Top)

- AEROSP 540 (MECHENG 540). Intermediate Dynamics. Newton and Lagrangian dynamics for single and multibody systems. Required for all AERO dynamics and control majors. For more information, see more.
- AEROSP 572 Dynamics and Control of Aircraft. Modeling and simulation of aircraft dynamics, linear and nonlinear techniques for aircraft maneuvers. For more information, see more.
- AEROSP 573 Dynamics and Control of Spacecraft. Spacecraft dynamics and control, including orbital effects, as well as techniques for attitude control. For more information, see more.
- AEROSP 579 Control of Structures and Fluids. Linear multivariable control theory with applications to vibration and flow. Alternative to EECS565/AE580. For more information, see more.
- AEROSP 584 Avionics, Navigation and Guidance of Aerospace Vehicles. Kalman filter theory with applications to aircraft and spacecraft navigation. For more information, see more.
- ME 567 (EECS 567) (MFG 567) Introduction to Robotics. {W-term} Much of this course is devoted to the dynamics of rigid bodies in three dimensions. Elementary control notions are used. Motion planning with obstacle avoidance is also covered. For more information, see more.
- ME 552(Mfg 552) Electromechanical System Design {F-term} Design of electromechanical systems with emphasis placed on the integration of mechanical and electrical principles. Principles and implementation issues of digital control are covered. For more information, see more.
- ME 568 Vehicle Control Systems {F-Term} Design and analysis of vehicle control systems such as cruise control, traction control, etc. For more information, see more.
- ME 569 Control of Advanced Powertrain Systems {F-Term, even years} Fundamentals of modeling and feedback control of spark ignition (gasoline), compression ignition (diesel), thermal ignition (HCCI) engines as well as electrochemical power sources such as batteries, fuel cells and solar cells. Does **not** require extensive background in mechanics or control. For more information, see more.
- (Back to Top)

## Detailed Descriptions

- AEROSP 345 Flight Dynamics and Control An introduction to dynamics and control of aircraft. Introduces concepts from linear systems theory (state equations, transfer functions, stability, time and frequency response). Aircraft longitudinal and lateral flight dynamics and control systems. BACK.
- AEROSP 450 Flight Software Systems. This course introduces fundamental computing theory and programming practices for robust design, implementation, and testing of modern flight software systems. Lectures follow parallel theory and practice tracks. Topics in computational theory include discrete mathematics, finite automata, computational complexity, and model checking. Equally-emphasized, software development topics include object-oriented programming, network and multi-threaded software, and embedded system programming. Projects and assignments focus on Aerospace applications, ranging from sensor data processing to embedded guidance, navigation, and control. BACK.
- AEROSP 540 (MECHENG 540). Intermediate Dynamics Newton/Euler and Lagrangian formulations for three dimensional motion of particles and rigid bodies. Principles of dynamics applied to various rigid-body and multi-body dynamics problems that arise in aerospace and mechanical engineering. BACK.
- AEROSP 566 Data Analysis and System Identification Methods of data analysis and empirical modeling. Sensors and measurement concepts. Time and frequency data analysis; statistical and spectral concepts. Linear regression and identifications of time-series models. Parameter estimation using optimization. Basis-function expansions and non-linear time-series identification. Eigensystem realization and subspace identification. Non-linear state space identification.BACK.
- AEROSP 572 Dynamics and Control of Aircraft Introduction to flight dynamics and controls, including flight mechanics and control of flight vehicles in the atmosphere, translational and rotational motion description of rigid body vehicles in inertial and non-inertial frames, aerodynamics, propulsion and control effectors, linear multivariable flight control, nonlinear flight control using dynamic inversion, stabilization and trajectory planning. BACK.
- AEROSP 573 Dynamics and Control of Spacecraft Introduction to spacecraft dynamics and control. Spacecraft orbit and attitude representations, kinematics, dynamics. Perturbation equations for near circular orbits. Spacecraft maneuvers formulated and solved as control problems. BACK.
- AEROSP 575 Flight and Trajectory Optimization Formulation and solution of optimization problems for atmospheric flight vehicles and space flight vehicles. Optimality criteria, constraints, vehicle dynamics. Flight and trajectory optimization as problems of nonlinear programming, calculus of variations, and optimal control. Algorithms and software for solution of flight and trajectory optimization problems. BACK.
- AEROSP 579 Control of Structures and Fluids Stabilization and vibration suppression for structures and fluids. Control-oriented modeling of structural and acoustic dynamics. Fixed-gain and adaptive control methods. Control-oriented fluid dynamics for compressible and incompressible fluids. Feedback stabilization of laminar flow, rotating surge and stall. BACK.
- AEROSP 584 Avionics, Navigation and Guidance of Aerospace Vehicles Principles of avionics, navigation and guidance. Deterministic and stochastic linear perturbation theory. Position fixing and celestial navigation with redundant measurements. Recursive navigation and Kalman filtering. Pursuit guidance, proportional navigation, ballistic guidance and velocity-to-be-gained guidance. Hardware mechanization. BACK.
- EECS 460. Control Systems Analysis and Design Prerequisite: EECS 216 or EECS 306 or graduate standing. II (4 credits) Basic techniques for analysis and design of controllers applicable in any industry (e.g. automotive, aerospace, computer, communication, chemical, bioengineering, power, etc.) are discussed. Both time- and frequency-domain methods are covered. Root locus, Nyquist and Bode plot-based techniques are outlined. Computer-based experiment and discussion sessions are included in the course. BACK.
- EECS 461. Embedded Control Systems Prerequisite: EECS 216 or EECS 306 or EECS 373 or graduate standing. I and II (4 credits) Basic interdisciplinary concepts needed to implement a microprocessor based control system. Sensors and actuators. Quadrature decoding. Pulse width modulation. DC motors. Force feedback algorithms for human computer interaction. Real time operating systems. Networking. Use of MATLAB to model hybrid dynamical systems. Autocode generation for rapid prototyping. Lecture and laboratory.BACK.
- EECS 501. Probability and Random Processes Prerequisite: EECS 401 or graduate standing. I, II (4 credits) Introduction to probability and random processes. Topics include probability axioms, sigma algebras, random vectors, expectation, probability distributions and densities, Poisson and Wiener processes, stationary processes, autocorrelation, spectral density, effects of filtering, linear least-squares estimation, and convergence of random sequences. BACK.
- EECS 502. Stochastic Processes Prerequisite: EECS 501. II Alternate years (3 credits) Correlations and spectra. Quadratic mean calculus, including stochastic integrals and representations, wide-sense stationary processes (filtering, white noise, sampling, time averages, moving averages, autoregression). Renewal and regenerative processes, Markov chains, random walk and run, branching processes, Markov jump processes, uniformization, reversibility, and queuing applications. BACK.
- EECS 558. Stochastic Control Prerequisite: EECS 501, EECS 560. I, odd years (3 credits) Analysis and optimization of controlled stochastic systems. Models: linear and nonlinear stochastic controlled systems, controlled Markov chains. Optimization of systems described by Markov processes; dynamic programming under perfect and imperfect information, finite and infinite horizons. System identification: off-line, recursive. Stochastic adaptive control: Markov chains, self-tuning regulators, bandit problems. BACK.
- EECS 560. (AERO 550) (ME 564). Linear Systems Theory Prerequisite: graduate standing. I (4 credits) Linear spaces and linear operators. Bases, subspaces, eigenvalues and eigenvectors, canonical forms. Linear differential and difference equations. Mathematical representations: state equations, transfer functions, impulse response, matrix fraction and polynomial descriptions. System-theoretic concepts: causality, controllability, observability, realizations, canonical decomposition, stability. BACK.
- EECS 562 (AERO 551). Nonlinear Systems and Control. Prerequisite: graduate standing. II (3 credits). Introduction to the analysis and design of nonlinear systems and nonlinear control systems. Stability analysis using Liapunov, input-output and asymptotic methods. Design of stabilizing controllers using a variety of methods: linearization, absolute stability theory, vibrational control, sliding modes and feedback linearization. Note that even though the official prerequisite is graduate standing, it is assumed that the student has a solid background in state variable methods for linear systems (such as EECS 560), or can obtain that background quickly on their own. Working knowledge of MATLAB is very useful as well. BACK.
- EECS 563. Hybrid Systems Analysis and Control. Advised Prerequisite: EECS 562 or EECS 560 and permission of instructor. (3 credits). Introduction to analysis and design of hybrid systems and hybrid control systems. Hybrid system modeling formalisms, specifications (automata theory, temporal logics), verification (barrier certificates, reachable sets, abstraction-based methods) and control synthesis. Stability of switched/hybrid systems. Applications of convex geometry and convex optimization in control. Model-predictive control of hybrid systems. It is assumed that the students has a solid background in state variable methods for linear systems (such as EECS 560) and Lyapunov theory, or can obtain that background quickly on their own. Working knowledge of MATLAB is very useful as well. BACK.
- EECS 565 (AERO 580). Linear Feedback Control Systems Prerequisite: EECS 460 or AERO 345 or ME 461 and AERO 550 (EECS 560). II (3 credits) Control design concepts for linear multivariable systems. Review of single variable systems and extensions to multivariable systems. Purpose of feedback. Sensitivity, robustness, and design tradeoffs. Design formulations using both frequency domain and state space descriptions. Pole placement/observer design. Linear quadratic Gaussian based design methods. Design problems unique to multivariable systems. Working knowledge of MATLAB is very useful as well. BACK.
- EECS 566. Discrete Event Systems Prerequisite: graduate standing. I even years (3 credits) Modeling, analysis, and control of discrete event systems; untimed (logical) and timed models considered. Defining characteristics of discrete event systems. Logical models: languages, automata, and Petri nets. Analysis: safety, blocking, state estimation and diagnostics. Supervisory control: controllability, nonblocking and nonconflicting languages, observability and co-observability. Timed models: timed automata and timed Petri nets. Analysis using dioid algebras. Control of Petri nets. Introduction to hybrid models. BACK.
- EECS 569. Production Systems Engineering Prerequisite: none. II Alternate Years (3 credits) Production systems in large volume manufacturing (e.g., automotive, semiconductor, computer, etc.) are studied. Topics include quantitative methods for analysis of production systems; analytical methods for design of lean in-process and finished goods buffering; measurement-based methods for identification and elimination of production system bottlenecks; and system-theoretic properties of production lines. BACK.
- EECS 600 (IOE 600). Function Space Methods in System Theory Prerequisite: Math 419. II (3 credits) Introduction to the description and analysis of systems using function analytic methods. Metric spaces, normed linear spaces, Hilbert spaces, resolution spaces. Emphasis on using these concepts in systems problems. BACK.
- EECS 662 (ME 662). Advanced Nonlinear Control Prerequisite: EECS 562 or ME 548. I (3 credits) Geometric and algebraic approaches to the analysis and design of nonlinear control systems. Nonlinear controllability and observability, feedback stabilization and linearization, asymptotic observers, tracking problems, trajectory generation, zero dynamics and inverse systems, singular perturbations, and vibrational control. BACK.
- MATH 658. Nonlinear Dynamics, Geometric Mechanics and Control. Pre-requisite: a course in differential equations (3 credits). This course treats aspects of the modern theory of nonlinear dynamics and ordinary differential equations as applied to problems in geometric mechanics, Hamiltonian and nonholonomic systems (systems with nonintegrable constraints), nonlinear stability theory and nonlinear control theory. The role of symmetry and reduction is discussed as well as topics such as the least action principle, integrability, symplectic and Poisson geometry, and controllability and accessibility on manifolds. Text: A. Bloch, Nonholonomic Mechanics and Control, Springer Verlag (required). Other books will be referenced as well as the primary mathematical literature.BACK.
- ME 360 Modeling, Analysis and Control of Dynamic Systems Prerequisites: ME 240, preceded or accompanied by EECS 314. (4). Developing mathematical models of dynamic systems, including mechanical, electrical, electromechanical, and fluid/thermal systems, and representing these models in transfer function and state space form. Analysis of dynamic system models, including time and frequency responses. Introduction to linear feedback control techniques. Synthesis and analysis by analytical and computer methods. Four hours of lecture per week. BACK.
- ME 461 Automatic Control Prerequisites: ME 360. (3) Feedback control design and analysis for linear dynamic systems with emphasis on mechanical engineering applications; transient and frequency response; stability; system performance; control modes; state space techniques; digital control systems. BACK.
- ME 548 Applied Nonlinear Dynamics Prerequisites: An undergraduate level course in dynamics/vibrations/control, like ME 360. Knowledge of linear algebra and differential equations Geometrical representation of the dynamics of nonlinear systems. Stability and bifurcation theory for autonomous and periodically forced systems. Chaos and strange attractors. Introduction to pattern formation. Applications to various problems in rigid-body dynamics, flexible structural dynamics, fluid-structure interactions, fluid dynamics, and control of electromechanical systems. BACK.
- ME 561 (EECS 561) Design of Digital Control Systems Prerequisite: EECS 460 or ME461. I (3 credits)) Sampling and data reconstruction. Z-transforms and state variable descriptions of discrete-time systems. Modeling and identification. Analysis and design using root locus, frequency response, and state space techniques. Linear quadratic optimal control and state estimation. Quantization and other nonlinearities. BACK.
- ME 567 (EECS 567) (MFG 567) Introduction to Robotics. II Prerequisite: graduate standing or permission of instructor (3 credits) Introduction to the central topics in robotics, including geometry, kinematics, differential kinematics, dynamics, and control of robot manipulators. The mathematical tools required to describe spatial motion of a rigid body will be presented in full. Motion planning including obstacle avoidance is also covered. BACK.
- ME 552 (Mfg 552) Electromechanical System Design. Prerequisites: EECS 314 or equivalent. (3 credits) Design of electromechanical systems with emphasis placed on the integration of mechanical and electrical principles. Topics include: electromechanical device design: generators/alternators, electrical motors, measurement/sensing devices; digital control: microprocessors, AD/DA converters, data transmission and acquisition; electromechanical system design: mixed domain modeling, real time control and mechatronic systems.BACK.
- ME 568 Vehicle Control Systems Prerequisites: ME 461 or equivalent. (3). Design and analysis of vehicle control systems such as cruise control, traction control, active suspensions and advanced vehicle control systems for Intelligent Vehicle-Highway Systems (IVHS). Human factor considerations such as driver interfaces. This course may be used as part of the IVHS certification program. BACK.
- ME 569 Control of Advanced Powertrain Systems Prerequisites: ME 360, preceeded or accompanied by ME 461. (3). Will cover essential aspects of electronic engine control for spark ignition (gasoline) and compression ignition (diesel) engines followed by recent control developments for direct injection, camless actuation, active boosting technologies, hybrid-electric, and fuel cell power generation. Will review system identification, averaging, feedforward, feedback, multivariable (multiple SISO and MIMO), estimation, dynamic programming, and optimal control techniques. BACK.
- ME 661 Adaptive Control Systems Prerequisites: ME 561. (3). Introduction to control of systems with undetermined or time-varying parameters. Theory and application of self-tuning and model reference adaptive control for continuous and discrete-time deterministic systems. Model-based methods for estimation and control, stability of nonlinear systems, adaptation laws, and design and application of adaptive control systems. BACK.
- NA 583: Adaptive Control. Models of system with unknown or time-varying parameters. Theory and algorithm for on-line parameter identification. Adaptive observers. Direct and indirect adaptive control. Model reference adaptive control. Robustness and convergence of adaptive systems. Design and analysis of nonlinear adaptive control. Application and implementation of adaptive systems. BACK.
- (Back to Top)

## Helpful Mathematics Courses

Mathematics is the lingua franca in many of the graduate control courses. None of the control courses has a specific math course as prerequisite; instead, the relevant mathematics is taught in the course as needed. Thousands of students have made it through the control courses without taking supplemental mathematics courses. On the other hand, many students have found it helpful to sharpen their mathematical background when taking control courses as this allows them to concentrate on the application of the mathematics in an engineering setting, instead of having to learn a new mathematical concept, and how to apply it, all at the same time. The following are suggestions and are **not** disguised prerequisites.

- Linear Algebra. Abstract concept of a vector space, linear independence, bases, changes of bases, linear transformations, representations of linear operators with respect to bases, eigenvalues and eigenvectors of matrices. An example course is MATH 419. This material is covered and used in EECS 560 (AERO 550) (ME 564).
- Real Analysis. Basic metric and topological notions in R^n. Open sets, closed sets, sequences, convergence, compactness, distance as measured by a norm or a metric, continuity of functions, differentiability, integration, etc. An example course is MATH 451. The main thing you will acquire in this course is mathematical maturity, an ability to read and write elementary proofs. Depending on the instructor, this material is used in EECS 562 (AERO 551) and EECS 600 (IOE 600).
- Numerical Analysis. Developing and establishing properties of algorithms used to solve scientific and engineering problems, such as Newton-Raphson algorithms, integration of ODEs, etc. An example course is MATH 471. You will see some of the Real Analysis topics, but in a much more applied setting.
- Still other students have benefited from courses in Complex Variables, Functional Analysis, Differential Geometry, Topology, etc; see UofM MATH Courses for more ideas. Discussing choices with your academic advisor is always a good idea.

## Related Courses

A well-rounded education in control systems will also include a selection of courses from stochastic processes, (fault) detection theory, networks, signal processing, real-time computing systems, mathematical optimization and numerous other areas. See your advisor for suggestions. (Back to Top)