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