Control Systems 101
Published by: Lisa Schibelius
Reviewed by: Carlos Montalvo, Ph.D.
Last Updated: October 10, 2024
In senior capstone design, many of our projects will need some form of autonomous control for the system we are designing. This page provides an overview of control theory, feedback control, PID controllers, and resources for applying this to your own project.
The Big Picture: Everything you need to know about control theory
PID Control Overview:
To influence the dynamics and stability of a system, we need a controller. Feedback controllers are typically used to control the output states of a system based on input references. One of the most common types of feedback controllers is proportional-integral-derivative (PID) control, which assumes the general behavior of the system is linear.
Steps to Developing A Control System:
Once you understand the basics of control theory, you can then apply it to your own project and create your own control system. In general the steps are:
Draw free body diagram (good practice)
Representation of system you're trying to control (This could be the physical hardware or a mathematical representation of that hardware.)
Develop equations of motion to model system behavior (can use Newton's 2nd law, Lagrange)
3 Ways to Build a Model for Control System Design YouTube Video
For example, an aerodynamic or hydrodynamic model (modeling rotational dynamic systems YouTube Video)
3. System identification (parameter estimation)
4. Understand open loop system dynamics (is the system linear/nonlinear?) in some numerical toolbox (i.e. MATLAB, Python)
Open loop: (non-feedback system) control is computed in advance for all future time instants
Closed loop: control input depends on current state of system
5. Feedback control block diagram, add control where needed (can use PID control if system is linear)
6. Simulate system (using MATLAB, Python or other programming language)
7. Optimize time response of system; tune gains (kp, ki, kd) based on system response to reach your desired system behavior
For PID control, i=past, p=present, d=future. (When tuning gains, think about kp as the gas, and kd as the brakes.)
Evaluating your Control System:
If designed correctly, your control system should provide 1) quick response, 2) minimum overshoot, and 3) be stable.
Resources:
Videos:
Understanding PID control - 7 video playlist
Control System Lecture Videos - Brian Douglas
MATLAB help - PID Control - YouTube tutorial video
Monte Carlos - control systems tutorials YouTube playlist
Code:
GitHub - cmontalvo251 - MATLAB / controls
GitHub - cmontalvo251 - other helpful repositories:
Python, Aerospace (including aircraft and quadcopter simulations), Microcontrollers, etc.
Textbooks:
Project-Based Engineering Instrumentation with Circuit Python https://github.com/cmontalvo251/LaTeX/blob/master/PBL_CircuitPython_Instrumentation/main.pdf