16-299: Introduction to Feedback Control Systems
Spring 2022
Instructor: Chris Atkeson,
cga@cmu.edu
TA: Kiyn Chin,
kiyn@cmu.edu
Class time: TR 1:25-2:45PM,
Place: Wean 5415
Zoom: https://cmu.zoom.us/j/96031049931?pwd=TjllNlg1SXY5WDFyaXpmSWpNVWtldz09
Meeting ID: 96031049931, Passcode: 728911
Units: 12
TA Office hours
Kiyn Chin,
kiyn@cmu.edu
I'll be holding office hours weekly on Tuesdays at 11:30.
Zoom: https://cmu.zoom.us/j/7118423298
I'll be in Smith 121 most weeks but that's not guaranteed without a request.
-
You are encouraged to attend the Zoom lectures. Please ask questions. That is the point of having lectures.
Just unmute yourself and ask.
-
If the zoom audio is bad, immediately let the speaker know. Otherwise you
get crappy audio. The speaker can't tell.
Lab
This year we will have a lab, that you can do at home with your friends.
Info on the lab.
Events
Development of an Agile and Dexterous Balancing Mobile Manipulator Robot
Roberto Shu
Time: 15 February 2022, 10am
Place: *Hybrid* GHC 4405 and Zoom: https://cmu.zoom.us/j/98213685594?pwd=SUl6QVYvQW9oeU9aUG0zbjBBcmhSQT09 (passcode: ballbot)
Ballbots are like TWIPs, so this may be useful for the TWIP assignment and
the Lab.
A copy of the thesis defense document is available at:
https://cmu.box.com/s/dz4qp0rzyume4yt6fsn1wzprwf0507om
Video of the day
Of Interest
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 18: Video: Passcode: =4&Q.YE7
Introductions
Go over class web page
Atkeson introduction. Atkeson Youtube channel.
TA introduction
Introduction to the course:
Read Textbook: Chapter 1 - Introduction
Examples: Thermostat, body temperature, breathing, blood pressure, gaze, driving (direction, cruise control), rockets (including landing), game-playing (alpha-zero), ...
Introduction to feedback from last year.
Intuition and a useful mental model:
Springs and dampers, natural frequency, damping ratio
CGA Lecture 1
Intuition from last year
-
Jan 20: Video: Passcode: g&Uv*jn2
Vote on whether you want exams. Result: No exams.
Models, states, actions/controls,
continuous and discrete time dynamics functions,
goals/optimization_functions/rewards, and control laws/policies.
CGA Lecture 2
-
Jan 25: Video
Simulation, Numerical integration: Euler integration, Fancier numerical integration.
CGA Lecture 4
Last year's notes: Numerical Integration
Matlab examples
-
Jan 27: Video: Passcode: P@u9!PFq
The state space approach:
Read Textbook: Chapter 3 - System Modeling
Read Textbook: Chapter 6 - Linear Systems
Last year's notes: State Space Control Systems
CGA Lecture 3
-
Feb 1: Video (Passcode: nw=$34BD)
Linear State Feedback: Eigenvalue placement, LQR;
Read Textbook: Chapter 7 - State Feedback
CGA Lecture 5
-
Feb 3: Video (Passcode: Va26*&PX)
State-estimation, Linear State Observers: Observability; Observer derivation and design.
Read Textbook: Chapter 8 - Output Feedback
Last year's notes on Observers, Last year's notes on Kalman Filters
CGA Lecture 6
-
Feb 8: National Build A Robot Day.
We are going to give out and build the robots during class in Wean 5415.
Bring a laptop if possible.
The TA will also be giving out robots in Smith 121 from 11a to 12:30p.,
as well as office hours, in case you can't make class that day.
Tips on building the robot, and using an Arduino computer will be provided.
-
Feb 10: Video (Passcode: !h=0eUPD)
Propose and start projects!
Assignment
Arduino IDE
Sensors on the lab robot tumbller-code-2022-02-10.zip
State estimation: CGA Lecture 6
-
Feb 15: Video (Passcode: 5B#v03a#)
PID control, Feedforward, robot arm modeling and system identification
Read Textbook: Chapter 11 - PID Control
PID section
CGA Lecture 7
-
Feb 17: Video (Passcode: R7Y3+^in)
Robot arm control, computed torque, clocks, ...
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.
CGA Lecture 8
-
Feb 22: Video (Passcode: X4.&GaJx)
Frequency Domain I
Slides
-
Feb 24: Video (Passcode: D%9YCH^h)
Frequency Domain II
Slides
-
March 1: Video (Passcode: qb%N4Xwd)
Frequency Domain III
Slides
-
March 3: Video (Passcode: 4d2U^Bky)
Lab: System identification and modeling the robot.
CGA Lecture 9
CGA Lecture 10
-
March 8, 10: Midterm break, no class
-
March 15: Video (Passcode: &64=wvfQ)
Project proposals
-
March 17: Project proposals
-
March 22:
Discussion of lab.
CGA Lecture 11
-
March 24: Video (Passcode: $K^SF4qy)
Nonlinear stability,
Introduction to nonlinear control, local linearization of smooth
nonlinearities. Divergence of KF, Extended Kalman Filter, Unscented Kalman
Filter, MPC.
CGA Lecture 12
-
March 29: Video (Passcode: K%=&d6WZ)
Dynamic Programming, Differential Dynamic Programming
-
March 31: Video (Passcode: CkJ+z5.&)
Reinforcement Learning
-
April 5: Video Passcode: v3Hmu^23
Humanoid control, walking, running, bouncing periodic control
-
April 7 no class.
-
April 12: Video Passcode: E!4cUV?a
Slides
Control using tactile sensing, hands, grasping
-
April 14: Video Passcode: urmyN%v8
Slides
Finish up tactile sensing, then
system identification.
-
April 19: Soft robot control
-
April 21: Robust control, adaptive control, online learning
-
April 26 and 28: Final presentations, and draft writeup (web page) due.
-
May 16 (May 11 for graduating students): Final project writeup (web page) due.
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 1: Due Jan 21.
Send email to Chris and Kiyn:
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.
We teach more than one course, and a random email from
robotlover@cs.cmu.edu is hard for us to process.
-
Assignment 2: Due Jan 24.
Get access to MATLAB.. Nothing to turn in.
-
Assignment 3: Due Feb 21.
The TWIP Assignment..
Prof's answers
-
Assignment 4: Due March 21.
Lab Assignment 1..
Prof's answers
-
Assignment 5: Due April 4.
Lab Assignment 2..
Prof's balancing code,
Code release notes,
Video
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
Assignments and exams from last year