Feedback System Design (Spring 2021)

You are not logged in.

Please Log In for full access to the web site.
Note that this link will take you to an external site (https://shimmer.mit.edu) to authenticate, and then you will be redirected back to this page.

Welcome to 6.302/6.320 -- Taking Control has never been more important!

See the calendar and handouts link on the "Information" tab above for handouts and syllabus.

Please join live lectures, TTh11-12 EST (will be recorded).

Have you ever wondered about the control strategies used temperature regulators, quad-copters, aircraft autopilots, self-driving cars and agile robots? Are you curious about the policies that govern flow in large networks, like the web or the electric power grid? Or are your interests more biological, and you want to know how the body maintains balance, regulates glucose, or repels infection? Or maybe you used a PID controller in a robotics competition, and are now ready to learn more?

If so, you are interested in the general topic of feedback control, in which sensor data (e.g. brightness, temperature, velocity, location, etc.) is used to adjust or correct actuation (e.g. steering, acceleration, or heater output). And yes, as the above examples make clear, feedback control is ubiquitous. But, it is also a uniquely compelling example of mathematical theory guiding practical design. In 6.302/6.320 we will try to introduce you to this beautiful marriage of theory and practice, and try to give you a framework for further study, by focusing on a small set of key concepts, which we will apply to controlling several different physical artifacts.

6.302/6.320 Anywhere -- The lab kit.

KITS ARE SELF-CONTAINED AND SHIPPABLE: 6.302/6.320 can be taken anywhere!

https://eecs6302.mit.edu/spring21/kit_checklist

The core of the lab kit is our PC board with two microcontrollers, four pulse-width modulated drivers, and several operational amplifier buffers. The microcontrollers are easily programmed with a version of the widely-used Arduino environment, sensors and actuators are easy to connect, and we've written software (in python and javascript) so your laptop can monitor and make adjustments in real time (you can even turn your laptop into a rudimentary oscilloscope). With the PC Board, a kit of parts (which includes motors, coils, sensors, propellers,lego, and 3-D printed connectors), a laptop (or better, two laptops), and our additional software, you will be able to build a variety of interesting artifacts, control them with a variety of approaches, and EASILY run experiments and collect data. We've worked very hard on the EASILY part, but there are so many laptops running so many different sets of software packages, so sometimes easily requires a little patience.

We think students who work together in pairs will have the best experience, but to make sure everyone can participate, and that everyone can do one-on-one interviews, we will get every student, on-campus or off, a 6.302/6.320 PC board and kit. The kit of parts, spread out and assembled into artifacts is shown below.

LEFT PICTURE: A spread of all the parts in the lab kit. RIGHT PICTURE: The parts assembled into artifacts. The artifacts in action are shown below.

The left picture above is a spread of all the parts in the lab kit (except for the PC Board). As you can sort of see, there are motors, propellers, a coil, a high-permeability steel rod, optical distance sensors, hall-effect magnetic sensors, several small circuit bread boards, resistors, capacitors, jumpers, Lego parts, Lego-compatible 3-D printed parts, two power supplies, two USB to microUSB cables, a wire stripper, and a screwdriver. In the lower left corner are extra parts for midterm projects (wheels for a standing robot, extra parts for making a two-axis arm, an extra coil for magnetic positioning). The right picture above shows the parts assembled into artifacts (from right to left): optical sensing speed controller, two-propeller one-axis arm, and a magnetic levitator. The artifacts are shown in action below.

RIGHT: Propeller spinning over the optical distance sensor. LEFT: Screen shot from the laptop monitor.

In the left picture above, we show a snapshot of a system that uses proportional-feedback to control the speed of a propeller. The propeller is spinning at a nominal speed of 80 rotations per second (RPS), so it appears as a blur in the picture. In the picture on the right, we show the plots from the laptop that is being used to monitor the behavior of the control system. As the leftmost plot (of the measured and desired speeds) shows, the desired propeller speed is being toggled between 80-5 and 80+5 RPS, and the measured (or actual) speed of the propeller is tracking (mostly) that toggling of the desired speed. Please take particular note of the "overshoot" in the propeller's measured RPS. That is, when the desired speed changes from 80-5 to 80+5 RPS, the measured speed exceeds 80+5 RPS but eventually "settles down" to the correct value. You'll come to understand why this overshoot occurs, and more importantly, will know how to change the sensing and the control to improve the system's performance, by the end of the first week of 6.302/6.320.

On the left is the magnetic levitation control system in action, in which an electromagnet is holding a permenant magnet suspended in space. If you look carefully, you can see that a small step input is causing a perturbation in the permenant magnet's position. That is, every second or so, the permanent magnet moves up or moves down slightly. On the right is a two-propeller arm, being controlled using a state-space based approach. Note that the arm is taking steps from -2 to 2 radians (or rotating about 230 degrees), and that three plots of the system behavior are being displayed on the laptop screen. If you look carefully at the leftmost of the three plots, which shows rotation angle, while watching arm rotation, you can see angle "overshoot" in both. That is, the arm rotates a little too far and then corrects itself. By the end of this class, you will be able to eaily design a much better state space controller.

6.302/6.320 FAQ

What is a typical week in 6.302/6.320?

For most weeks in 6.302/6.320, there are five steps: 1) learn a new feedback concept in lecture and recitation; 2) test your basic understanding by solving a few on-line exercises, 3) master the concept by working with a partner to analyze, design, implement, measure and reanalyze a control system; 4) discuss your approach with a staff member (see interviews); and 5) reflect on what you have learned by solving a postlab problem.

Is 6.302/6.320 too advanced? Or too elementary?

The prerequistes for 6.302/6.320 are introductory electromagnetics and differential equations. For students who have just completed this recommended background, 6.302 is an excellent opportunity to learn the tools of dynamical system analysis (transforms, poles and zeros, frequency response, state-space) in a compelling applied context (feedback control). But it is also easy for students with considerably more extensive backgrounds (e.g. linear algebra, dynamical systems, feedback system analysis, circuits, or programming) to challenge themselves, because the issues in the weekly labs are open-ended enough, the lab interviews are customizable enough, and the midterm project is flexible enough. Plus, for 6.320 students, we have a set of more challenging postlab problems.

How is 6.302/6.320 graded?

Grading is based on work completed, and is non-competitive. Everyone who completes 90% of the on-line problems, completes the final checkoff interview for each of the labs, has a reasonable midterm project, gets an A. The on-line problems allow many retries, the interviews are pass/retry, and there are no grade-related late penalties. So, if you have a good understanding of the material, regardless of how you got there, you will get an A.

What class hours are required?

We prefer that students attend live lectures (11-12 Tuesdays and Thursdays), and will have the bulk of our office hours on Fridays to help with labs and do checkoffs. But, the lectures will be recorded, and there will be plenty of extra office hours for lab checkoffs, so there are no required hours. No "attendence" will be taken.

What are the final checkoff interviews?

Each of the roughly weekly labs has two or three checkoffs, in which you discuss your lab with a staff member (over zoom). For all but the last checkoff, you and your partner can (and should) interview together, the first few checkoffs are intended to help you stay on track. The final checkoff interview for each lab is done one-on-one, and involves looking at the performance of your working hardware (you and your partner can use the same hardware, but if you are not in the same bubble, you should make sure you each have a working set-up).

Each of the final lab checkoff interviews are one-on-one, but are pass/retry(without penalty). We do these interviews individually because we try to tailor the interview to each student. So, we expect many of the first tries at these one-on-one interviews will involve untangling some confusions, but will be followed by second try interviews that demonstrate more thorough mastery. But we will also try to extend the understanding of even the best prepared students, so that every student learns something in every interview, and the experience is never just "box-checking".

Will there be an open-ended project?

6.302/6.320 typically involves a midtermish project ("ish" because we are always lenient about when the midterm project must be finished). During the diaspora of Spring 20, we found that a midterm project was just too much for everyone involved. We have since redesigned the lab platform to minimize "grunt" work and streamline how you design and implement, and are better prepared for a Spring 2021 midterm project (including some infrastructure for a standing robot, a two-axis arm, and magnetic positioning, but will also allow you to do your own project...).