# Control Theory

Personal Opinion: I think a lot of the problems that you can solve with Control Theory, you can solve with RL nowadays? Like balancing a pendulum. However, it’s much harder to obtain guarantees.

https://github.com/A-make/awesome-control-theory

Resources:

### Concepts

Engineering projects are very complex, so we break them into smaller chunks to simplify the problem.

```
graph LR;
inputs-->system --> outputs;
```

### 1.2. The Three Different Problems

##### 1.2.1.The system identification problem

In real life, we are not always given a model of our system, so we need to determine it ourselves.

Black box method (find the relationship between the step input and the squiggly output) White box method (write the mathematical equations of the dynamics directly)

##### 1.2.2. The simulation problem

`inputs --> system --> ?`

##### 1.2.3. The Control Problem

`? --> system --> outputs`

#### 1.3. Why do we need a feedback control system?

**controller** - converts a commanded variable into appropriate actuating signals
**process** - system being controlled
**actuator** - device/motor that is responsible for controlling a system.

##### Types of Control Systems

**Open-loop control system**: The inputs into the controller are not fed back from the output of the process.
Ex: Dishwasher

```
graph LR;
controller --> actuator --> process;
```

**Closed-loop/Feedback control system**: Contrary to open-loop, we accept that disturbances and process variations are going to influence the controlled variable. We add a sensor that will measure the controlled variable and pass it along to our controller. We generate an error term, and the goal is the drive the error term to zero.
#TODO: Insert graph