Jorge Cortés
Professor
Cymer Corporation Endowed Chair
A Crash Course in Feedback Control
This set of lectures is an introduction to the principles of feedback
control and its applications amenable to traditional and
non-traditional audiences. The material is based on fundamental
concepts in dynamical systems, modeling, stability analysis,
robustness to uncertainty, feedback as it occurs naturally, and the
design of feedback control laws to engineer desirable static and
dynamic response. Concepts are motivated with everyday examples. The
material also includes an introduction to MATLAB, provides many MATLAB
exercises to reinforce concepts, and concludes with a control design
and simulation-based analysis to achieve wall-tracking with a
kinematic robot.
The only prerequisite for the course material is high school algebra.
By design, the material provides explicit motivation for learning more
advanced mathematics, a component often missing in introductory
engineering curriculums. The target audience for our course material
includes not only high school students, but undergraduates, graduate
and postdoctoral researchers, who may have taken few math courses, and
who want a primer on dynamics and control.
The journal paper "A crash
course in feedback control - a MATLAB-based introduction with one
prerequisite: high school algebra" describes these materials at
length.
These materials have been implemented as a four-week course entitled
"Making Robots and Making Robots Intelligent" in the COSMOS
(California State Summer School for Mathematics and Science) program.
COSMOS is a selective summer residential program for high school
students with demonstrated interest and achievement in math and
science. The course was taken by 17 talented high school students,
with a range of 9 to 11 in grade level. By the end of the course
(around 30 hours of lecture time), each student had successfully
implemented a wall-tracking controller on an actual robot platform
designed at UCSC specifically for the course, called Robobrain.
The lectures are structured in four parts (corresponding roughly to
the four weeks):
- General introduction to the course, introduction to MATLAB, functions and plotting, introduction to modeling and discrete dynamics, chaos example.
- Continue with modeling and discrete dynamics, robobrain example, introduction to feedback, feedback control.
- Control design examples (cruise control), controller design and matlab implementation for robobrain, building robobrain vehicles, initial hardware implementation.
- Continued controller design and hardware implementation for robobrain. Presenting experimental results.
Lecture materials
The course materials include the following (you are free to download and use them, provided you always quote the source). All lecture materials and all accompanying MATLAB files are available in a single compressed tar file here:
- [Lecture1.pdf]: General introduction
High level and exciting introduction to dynamics and control, with emphasis on the breadth of applications: turbine engines, bioengineering, DARPA grand challenge. - [Intro-to-Lecture2.pdf, Lecture2.pdf]: Introduction to
MATLAB
Introduction to functions and plotting functions within MATLAB. Basic MATLAB commands. Specific examples: sine, polynomials, exponential.
- [Intro-to-Lecture3.pdf, Lecture3.pdf]: Introduction to discrete-time
dynamics
In this and the coming lecture, we will introduce the notion of discrete-time dynamical systems and observe some of their cool behaviors. We will learn what fixed points are, what stability means and how to determine it.
Additional MATLAB material: iterates.m, orbit.m, cobweb.m - [Intro-to-Lecture4.pdf,
Lecture4.pdf]:
Introduction to discrete-time dynamics - the logistic map
In this lecture, we play with the logistic equation and see some very wild behavior. If you are interested in more related material, read the cool book S. H. Strogatz, "Sync: the emerging science of spontaneous order", Hyperion, New York, 2003.
Additional MATLAB material: logmap_orbit_plot.m -
[Intro-to-Lecture5.pdf, Lecture5.pdf]: Introduction to modeling
In this lecture, we define what a model is. We will also see how the notion of a model will help us answer questions about a system. There are various modeling techniques: differential equations, automatas, etc. In this course, we will only use difference equations (remember Lectures 3 and 4!).
Additional MATLAB material: ppmodel.m - [Intro-to-Lecture6.pdf,
Lecture6.pdf]:
Introduction to feedback
control
In this lecture we give our first steps into the realm of feedback control. First, we will get a rough idea of what feedback is. Then, we will see how to turn unstable discrete-time dynamical systems into stable ones using feedback. What we have learned in previous lectures will be very helpful to do this. We will even be able to assign fixed points of the system wherever we want. - [Intro-to-Lecture7.pdf,
Lecture7.pdf]:
A guided task: the inverted
pendulum
In this lecture, we use feedback control into a more complex system: the pendulum. As we explained in the previous lecture, feedback control can be used to shape the equilibria of the system, and also to stabilize them. That's what we will do here. This practice will prepare us for the Robobrain system.
Additional MATLAB material: pendulum.m -
[Lecture8.pdf]:
Analysis
and simulation of the Robobrain model
In this lecture, we discuss the model for Robobrain and analyze its open-loop behavior, i.e., we determine the fixed-points and their stability. We also show motivate the need for feedback control versus open-loop control. The feedback control design of Robobrain will be treated in the next lecture. -
[Lecture9.pdf]:
Control
design and implementation of Robobrain
In this lecture, we restate the model for Robobrain and the InfraRed (IR) wall-based sensing algorithm. We then define, simulate and analyze a feedback controller designed to make Robobrain autonomously follow a wall.
Additional MATLAB material: robobrainControl.m, robot_movie.m
Mechanical and Aerospace Engineering,
University of California, San Diego
9500 Gilman Dr,
La Jolla, California, 92093-0411
Ph: 1-858-822-7930
Fax: 1-858-822-3107
cortes at ucsd.edu
Skype id:
jorgilliyo