16-299: Introduction to Feedback Control Systems: Policies
Web Pages
This page (http://www.cs.cmu.edu/~cga/controls-intro/) will be where the Instructor puts material.
We will use Piazza for class discussion and answering questions. Piazza is good for getting you help fast and efficiently from classmates and, more slowly, the instructor. Rather than emailing questions to the instructor, we encourage you to post your questions on Piazza.
Our Piazza page is: https://piazza.com/cmu/spring2025/16299
Objectives
This course is designed as a first course in feedback control and systems for computer
science majors.
The course will cover five main topics: classical control theory for linear time
invariant (LTI) systems (time and frequency domain, PID control), modern LTI
control theory (state-space controllers, observers and state estimators, LQR), planning,
learning, and advanced nonlinear systems theory as
time allows (Lyapunov theory, adaptive control, learning control, etc.). We will also study these
topics through simulation using MATLAB and work with a real robot. Planning and feedback control play an important role in understanding
topics ranging from our physiology to our society. We will focus on controlling systems
which have continuous states and actions, and continuous dynamics, like robots.
More specific learning objectives
-
Develop Intuition: Gain intuition about feedback control and learning, what it can do, and how it fails.
-
Make Models:
Learn about model representations, system identification, and learning functions such as robot kinematics and dynamics.
Understand system interactions.
Be able to build a model of an actual physical system, including systems composed of multiple component systems
combined in series, parallel, and feedback configurations.
-
Simulate: Learn to predict, analyze, and evaluate robot behavior. Techniques include difference and differential equations, numerical integration, automatic differentiation, frequency domain techniques, specialized techniques for robot kinematics and dynamics, and machine learning.
Simulate and analyze dynamic behavior of systems.
Predict qualitative and quantitative behavior of systems.
Analyze transient behavior of linear and nonlinear state-space systems via eigenvalues and
Lyapunov theory.
-
Control:
Learn how to design control algorithms from a practical point of view.
Be able to design and implement a control system for an actual physical system.
Synthesize PID feedback controllers to achieve desired step-response characteristics.
Construct state feedback controllers and state estimators for linear state space systems
using optimal control, in the form of LQR (linear quadratic regulator) techniques.
-
Plan: Learn how to enable robots to plan before and during controlling behavior.
-
Optimize: Learn how optimization can be used to solve all sorts of problems, and get computers to do more of the work.
-
Analyze and Evaluate: Learn how to assess stability and performance of dynamic systems.
-
Optimize Behavior Over Time: Learn how to optimize the behavior of dynamic systems, from function optimization, dynamic programming, and reinforcement learning perspectives.
-
Estimate: Learn how to use sensing to improve state estimates. Learn what a belief state is.
-
Use Symbolic AI:: How does symbolic AI interact with numeric AI (what this course is about). See role of modeling a dynamic system, simulation, control, planning, and reinforcement learning in LLMs
-
Use Machine Learning:
Use "learning", in particular iterative trajectory learning, adaptive control, and
reinforcement learning,
to iteratively design controllers.
-
Unify: Learn how a few simple ideas underlie making decisions and learning to make better ones.
-
Use tools: Learn to use tools like Google and ChatGPT more effectively.
Course Format
-
This course will include lectures, discussion, assignments, and a project.
-
We will use class time for presentations by you and the instructors,
discussions, work, and group meetings with instructors.
-
There will be some assignments intermixed with working on your project.
Course policies
-
Working in teams is fine, and being a psychopathic loner (like your instructor) is fine.
-
No midterm or final exams.
Exams don't reflect the way one actually does control. Designing control systems
is an iterative activity that is "open book" and "open web",
aided by programs like Matlab,
that typically takes longer than an hour. An open book exam that one has a while to do is
called an assignment. In real life people work in teams.
-
There will be some number (TBA) of assignments.
Late assignments policy: TBA.
Some assignments may involve working with an actual robot (lab assignments).
-
Grading: The project will count as several assignments. The exact formula will depend
on how many and what assignments we actually do.
-
Everybody will do a project of their own design, with approval by the instructor.