CDS 101/110a, Fall 2014
|CDS 101/110a||Schedule||Recitations||Piazza||AM08 (errata)|
This is the homepage for CDS 101 (Analysis and Design of Feedback Systems) and CDS 110a (Introduction to Control Theory) for Fall 2014.
Teaching Assistants firstname.lastname@example.org
Course Ombuds: Ellen Feldman
- 5 Dec: Extra copies of the final are available outside 107 Steele Lab. Please return to Nikki Fauntleroy by Thu Dec 11 5pm (Fri Dec 12 8am at the latest). In addition please fill out TQFR surveys on Caltech Access.
- 3 Dec: The TAs will hold additional office hours on Thu 4 Dec, 7--9pm (107 ANB).
- 21 Nov: NOTE: for today only, class is in 102 Steele
- 18 Nov: HW #7 is available.
- Problem 3: compare your design to C(s)=41(1+s/4)/(1+s/100) if you do not have access to another classmate's controller
- Problem 4/(CDS101 Problem 2): see MacMartin-etal-2013.pdf
- 18 Nov: Some useful files: ambode.m, amnyquist.m, arrow.m
CDS 101/110 provides an introduction to feedback and control in physical, biological, engineering, and information sciences. Basic principles of feedback and its use as a tool for altering the dynamics of systems and managing uncertainty. Key themes throughout the course will include input/output response, modeling and model reduction, linear versus nonlinear models, and local versus global behavior. The course has several variants:
- CDS 101 is a 6 unit (2-0-4) class intended for advanced students in science and engineering who are interested in the principles and tools of feedback control, but not the analytical techniques for design and synthesis of control systems.
- CDS 110 is a 12 unit class (3-0-9) that provides a traditional first course in control for engineers and applied scientists. It assumes a stronger mathematical background, including working knowledge of linear algebra and ODEs. Familiarity with complex variables (Laplace transforms, residue theory) is helpful but not required.
Lectures and Recitations
The main course lectures are on MW from 2-3 pm in 105 Annenberg. Friday 2-3 will either be an additional lecture or a problem solving (recitation) session run by the course teaching assistants. CDS 101 students are not required to attend the Friday lecture or recitation, although they are welcome to do so (CDS 101 homework will typically require much less use of Matlab or Python).
The final grade will be based on homework sets, a midterm exam, and a final exam:
- Homework (50%): Homework sets will be handed out weekly and due on Wednesdays by 5 pm to the locked box outside of 102 Steele. Students are allowed three grace periods of two days each that can be used at any time (but no more than 1 grace period per homework set). Late homework beyond the grace period will not be accepted without a note from the health center or the Dean; please plan accordingly. MATLAB or Python code are considered part of your solution and should be printed and turned in with the problem set (whether the problem asks for it or not).
- Midterm exam (20%): A midterm exam will be handed out at the beginning of midterms period (29 Oct) and due at the end of the midterm examination period (4 Nov). The midterm exam will be open book and computers will be allowed (though not required).
- Final exam (30%): The final exam will be handed out on the last day of class (5 Dec) and due on Friday of finals week (Dec 12). It will be an open book exam and computers will be allowed (though not required).
Collaboration on homework assignments is encouraged. You may consult outside reference materials, other students, the TA, or the instructor, but you cannot consult homework solutions from prior years and you must cite any use of material from outside references. All solutions that are handed in should be written up individually and should reflect your own understanding of the subject matter at the time of writing. Python or MATLAB scripts and plots are considered part of your writeup and should be done individually (you can share ideas, but not code).
No collaboration is allowed on the midterm or final exams.
Computer exercises will be assigned as part of the regular homeworks. The exercises are designed to be done either in MATLAB, using the Control Toolbox, or in Python. SIMULINK may be useful but is not required. Caltech has a site license for Matlab and it may be obtained from IMSS (Caltech students only). An online tutorial is available at
Course Text and References
The primary course text is Feedback Systems: An Introduction for Scientists and Engineers by Åström and Murray (2008). This book is available in the Caltech bookstore and via download from the companion web site. The following additional references may also be useful:
- A. D. Lewis, A Mathematical Approach to Classical Control, 2003. Online access.
In addition to the books above, the textbooks below may also be useful. They are available in the library (non-reserve), from other students, or you can order them online.
- B. Friedland, Control System Design: An Introduction to State-Space Methods, McGraw-Hill, 1986.
- G. F. Franklin, J. D. Powell, and A. Emami-Naeni, Feedback Control of Dynamic Systems, Addison-Wesley, 2002.
A detailed course schedule is available on the course schedule page (also shown on the "menu bar" at the top of each course page).
- Old announcements will appear here when they are archived.
- Oct 30: Extra midterms are available on top of the homework dropbox in Steele.
- Oct 23: Matlab and Python files for HW #4: bike_linmod.m, bike_linmod.py. For further details on bicycle dynamics, see Bicycle dynamics, and the IEEE article K. J. Astrom, R. E. Klein and A. Lennartsson, Bicycle dynamics and control: adapted bicycles for education and research, IEEE Control Systems Magazine, 25(4):26-47, August 2005.
- Oct 17: Simulation files for HW #3: In python: cartpend.py, and in Matlab: cartpend.m, cartpend_model.m, balance_simple.mdl
- Oct 15: Monday's (10/20) office hours will be in 243 ANB. Office hours will be in the usual room after Monday.
- Oct 9: Tuesday night office hours will be from 7-9 pm from now on (in the same room).
- Oct 6: HW #2 files for plotting phase portrait: phaseplot.m, try it with boxgrid.m for neater looking plots.
- Sep 30: Everyone in the class should fill out this survey. It will help us better gauge the level of background knowledge of the class.
- Sep 29: Everyone should by now have received an invite from Piazza. If you are taking the class and have not received an invite, please email the TAs at email@example.com or sign up here.
- Sep 27: You will need to know MATLAB for this class. If you are unfamiliar with MATLAB here is a good starting tutorial: Basics Tutorial. Here is a tutorial created by a TA from a previous year: Tutorial-Pack.zip. It has some code that you can test out and an example homework problem done in MATLAB.
- Sep 15: If you have not been signed up for Piazza by the first week of class, sign up here.
- Sep 10: Updated links and created course schedule.
- Aug 9: Website created, currently under construction