Skip to content

Control Theory

Introduction

Control theory focuses on guiding systems from their current state to a desired state by manipulating inputs to achieve specific outputs. This is done by using feedback and feedforward to correct errors and make mechanisms more accurate. This guide will introduce these basic ideas and point you to more detailed resources. Many of the projects you’ll work on will use these concepts, so it's important to understand how they work.

To get started, read this document on control systems. It shows how control systems are used in everyday life and why they’re important. It also breaks down basic concepts and uses diagrams to explain how most systems work.

Open vs. closed loop control

Open-loop control, commonly known as feedforward, functions by sending control signals based on predetermined estimates, not by adjusting for the system's current state. This means it operates without feedback, relying only on initial assumptions about how the mechanism should behave.

There are two main types of feedforward: plant inversion and unmodeled dynamics. simply put, plant inversion uses the model to determine the control signals needed to reach the desired outcome. Whereas unmodeled dynamics handles factors not accounted for in the model.

As seen below, feedforward is usually depicted as a straight path regardless of the "loop" in its name.

open

Closed-loop control, on the other hand, incorporates feedback to adjust the system's output in real time. By constantly monitoring the actual performance and comparing it to the desired state, it can correct any discrepancies and respond to disturbances effectively. This dynamic process ensures greater accuracy and reliability in maintaining the intended performance.

closed

Read this document for specifics on both feedforward and feedback. Near the end, it also goes into specifics on tuning your constant values for feedforward and feedback. For more assistance with tuning, check out the common tuning issues guide.

PID

A PID controller is an optimized feedback system that continuously adjusts output using three terms: Proportional for immediate error, Integral for accumulated error over time, and Derivative for predicting future error trends. This combination allows for precise correction and stable system performance as seen below. It's heavily suggested that you read this document for more details.

PID graph

Implementation

Actually adding these complicated ideas into code may seem hard, but thankfully it's moslty done for us. Use the following links to add PID, feedforward, and how to combine both the ideas for a near perfect system setpoint following. Do keep in mind that the specific way in which these are implemented may vary depending on the mechanism being used on.

Summary

Only after you have read all of the linked documents, watch the following video. It acts as a great summary for this whole idea of control theory its used for FRC purposes. You should be able to recall and understand most of the important details mentioned! Video with everything + more (Watch until 9:00).

If you want to further indulge yourself into the art of control, there is an amzaing textbook specifically for control theory and its applications for FRC.