ME 136: Introduction to control of unmanned aerial vehicles [Fall]

This class aims to introduce students to Unmanned Aerial Vehicles (UAVs), from a feedback  controls perspective. In addition to the theoretical component, the class will have a substantial laboratory focus. Students will learn the theory necessary to model, understand, and design a controller for a UAV. Topics covered in the lecture will include: modeling of a three-dimensional rigid object; descriptions of orientation; mass moments of inertia; important forces and moments acting on a UAV; aerodynamics of a thin aerofoil; aerodynamics of a propeller; and typical control strategies.

Students are given a UAV to work with through the semester. During the class’s labs, students will implement a state estimator and then feedback control to stabilize the vehicle (all programmed in C++, flashed onto the UAV’s microcontroller). At the end of the semester, students compete to see who’s system is best able to reject external disturbances.

The class is open to interested students from any major, with the main prerequisite being an introductory controls lecture (e.g. ME132).

See here for a longer write-up of the class’s inaugural semester.

Students flying their UAVs during a lab section.

ME 233: Advanced control systems II [Spring]

This course is focused on systems with uncertainty, especially on model-based techniques. Topics covered include:

  • Introduction to stochastic systems, random variables, PDFs
  • Estimates and PDFs
  • Bayes’ theorem
  • Bayesian tracking over discrete state systems
  • Least squares for dynamic systems
  • The Kalman filter (as optimal state estimator, and as best linear estimator)
  • Observability, and the steady-state Kalman filter
  • Nonlinear estimation: extended Kalman filter, unscented Kalman filter, the particle filter
  • Optimal control of deterministic systems: Linear quadratic control
  • Optimal control of uncertain systems: Linear quadratic gaussian control
  • Time discretization and implementation of continuous-time designs
  • System identification, parameter adaptation algorithms