16-299: Introduction to Feedback Control Systems
Spring 2023
Instructor: Chris Atkeson,
cga@cmu.edu
Class time: TR 2-3:20PM
Place: NSH 3002
Units: 12
Lab
This year we will have a lab, that you can do at home with your friends.
Info on the lab.
Events
TBA
Video of the day
Of Interest
TBA
Textbook
K.J. Astrom and R.M. Murray, Feedback Systems: An Introduction for Scientists and Engineers, (2nd ed.) PDF is available on the web.
There is a second book I urge you to read and the PDF is available from the CMU library:
Feedback Control for Everyone
Schedule
-
Jan 17:
Atkeson introduction. Atkeson Youtube channel.
Go over class web page
Introduction to the course:
How would you program the SpaceX rockets?
Intuition and a useful mental model:
Springs and dampers, natural frequency, damping ratio
Examples: Thermostat, body temperature, breathing, blood pressure, gaze, driving (direction, cruise control), rockets (including landing), game-playing (alpha-zero), ...
Assignment 0
Assignment 1
CGA Lecture 1
Read Textbook: Chapter 1 - Introduction
-
Jan 19:
Models, states, actions/controls,
continuous and discrete time dynamics functions,
goals/optimization_functions/rewards, and control laws/policies.
CGA Lecture 2
-
Jan 24:
Simulation, Numerical integration: Euler integration, Fancier numerical integration.
Matlab example.
CGA Lecture 3
How to do Assignment 2.
Read Textbook: Chapter 3 - System Modeling
-
Jan 26: Build A Robot Day.
We are going to give out and build the robots during class.
Bring a laptop if possible.
Tips on building the robot, and using an Arduino computer will be provided.
-
Jan 31:
The state space approach:
CGA Lecture 4
Read Textbook: Chapter 6 - Linear Systems
-
Feb 2:
Linear State Feedback: Eigenvalues;
CGA Lecture 5
Read Textbook: Chapter 7 - State Feedback
-
Feb 7:
Linear Quadratic Regulators (LQR)
CGA Lecture 5
Read Textbook: Chapter 7 - State Feedback
-
Feb 9:
State-estimation, Linear State Observers: Observability; Observer derivation and design.
CGA Lecture 6
Read Textbook: Chapter 8 - Output Feedback
-
Feb 14: Previous lecture continued.
-
Feb 16: PID control, Feedforward, robot arm modeling and system identification
Read Textbook: Chapter 11 - PID Control
PID section
-
Feb 21: Robot arm control, computed torque, clocks, ...
CGA Lecture 8
-
Feb 24: Previous lecture continued.
-
Feb 28: Optimization
Video
kinematics example.
Redundant inverse kinematics:
Unconstrained optimization: Using Matlab's fminsearch and fminunc.
Unconstrained optimization with soft constraints: Using Matlab's fminsearch and fminunc, with
desired posture.
Constrained optimization: Using Matlab's fmincon.
-
March 2: Discussion of lab robot
Video
-
Spring Vacation!
-
March 14: Thinking in the frequency domain,
More discussion of lab robot
Video
-
March 16: Nonlinear stability,
Introduction to nonlinear control, local linearization of smooth
nonlinearities. Divergence of KF, Extended Kalman Filter, Unscented Kalman
Filter, MPC.
-
March 21: Nonlinear continued.
-
March 23: Dynamic Programming and Value Functions.
-
March 28: Dynamic Programming: Random sampling of actions and other approaches to ameliorating the curse of dimensionality.
-
March 30: Dynamic Programming: Random sampling of states. Differential Dynamic Programming.
-
April 4: A*, game tree search, AlphaX
-
April 6: Reinforcement Learning
-
April 11: "AI" style planning (preconditions, postconditions), Motion planning, Graph planning
-
April 13: Carnival, no class
-
April 18: Application: Legged locomotion
-
April 20: Application: Driving
-
April 25: Project presentations
-
April 27: Project presentations
-
May 9 - Graduating students have to have turned everything in.
-
May 15 - All students have to have turned everything in.
Topics
-
UNDER CONSTRUCTION
What you see are last year's topics.
-
Unit 0: Intuition
-
Unit I: State Space
-
Unit II: Frequency Domain Last year's notes
-
Read Textbook: Chapter 2 - Feedback Principles
-
Mathematical models: ODEs, diff. equations, and transfer functions.
Last year's notes.
-
Conceptual overview, complex variables
-
Transfer Functions: Laplace transforms, frequency response, linearity
Read Textbook: Chapter 9 - Transfer Functions
-
Complex Plane Intuition: 2nd order systems, moving poles with P and D
Read Textbook: Chapter 10 - Frequency Domain Analysis
-
Frequency Domain Design
Read Textbook: Chapter 12 - Frequency Domain Design
-
Integral Control: steady state error rejection, benefits of added state
-
Unit III: Nonlinear Systems
Nonlinear EOMs, eq. points, and linearization.
-
Revisit ODE models, attractors (equilibrium points), saddle points, repellers, and stability;
-
Dynamic programming
-
Nonlinear Stability: Lyapunov methods: introduction and simple cases.
Read Textbook: Chapter 5 - Dynamic Behavior
Last year's notes
-
Trajectory Following: pure pursuit, tubes: linearization about a trajectory;
-
Unit IV: Additional topics: class suggests more and decides which to talk about.
-
System identification
-
Adaptive control
-
Optimal control and reinforcement learning, dynamic programming
-
Robust control
Read Textbook: Chapter 13 - Robust Performance
-
Fundamental limits
Read Textbook: Chapter 14 - Fundamental Limits
-
Architecture (top-down, bottom-up), system, and control design, interaction
Adaptation, Learning and Cognition
Textbook: Chapter 15 - Architecture and System Design
-
Hybrid systems (Discrete and continuous states)
-
Case studies: class suggests more and decides which to talk about.
-
Textbook: Chapter 3, 4, and 15
-
scribbled models from last year
-
Inverted pendulums: the ballbot, rocket control and landing
-
Vehicle Modeling: kinematic models, nonholonomic constraints;
-
UAVs - equations of motion, decomposition, differential flatness, architecture, trajectory planning, controller design
-
Running and walking
Assignments
-
Assignment 0: Due Jan 23.
Send email to Chris:
Who are you? Why are you here?
Done any control (in simulation or on physical machines)?
Any ideas about the project you want to do? ("I don't know what project
I want to do." is okay.)
What topics would you like the course to cover?
Google and send us some interesting URLs. What example of control really
impressed you (Boston Dynamics Atlas jumping around, SpaceX landing rockets
on a barge, ...; send URLs of web pages or videos)? Are there other versions of this course at other places
or useful web pages
we should look at (send URLs)?
Be sure your name is obvious in the email, and you mention the course
name or number in the subject line.
I teach more than one course, and a random email from
robotlover@cs.cmu.edu is hard for us to process.
-
Assignment 1: Due Jan 24.
Get access to MATLAB.. Nothing to turn in.
-
Assignment 2: Due Feb 6.
Assignment 2
Nothing to turn in.
-
Assignment 3: Due Feb 27.
Assignment 3
Code for assignment
Please turn in your assignment by sending it in email to cga@cmu.edu
Linearization and LQR examples
-
Assignment 4: Due April 3.
Lab assignment involving controlling a single wheel.
-
Assignment 5: Due April 24.
Lab assignment 2.
Project
We will work out the project topics together.
The ideal project would involve modeling and controlling a real physical system.
It would be cool to have a learning component.
Second best is doing everything in simulation.
You can do a project taking what we do in the balancing robot lab further.
We can help you buy a real physical system, if we don't have what you want already.
We can help you get access to robots.
See the deadlines in the schedule (above).
You can work in groups or alone.
The "deliverables" include
a web page along the lines of an
instructables web page
explaining how others could do your project and improve on your results.
You will also present your project, and ideally the presentation should
be made public as part of your web page. There will be intermediate
deliverables including draft web pages and practice presentations.
More Resources