# data[].attributes.body
I learned that state estimators are used when it is not possible to measure all the states of the system. State estimators estimate the unknown states based on the output that is measured and the inputs that are known. This lets the system run as if all the states are available to be used. The performance of the estimator can be tested by adding the actual state feedback to the plant and then potting the errors of the estimation. I am curious if we will use any state estimators in our future labs because we talked about the beaglebone not recording all of the states of the pendulum and cart in class. If we do not record all the states, then they most likely need to be estimated for our applications.

# data[].attributes.body
From Section 7.5 of the book, there are 4 key steps in designing a full-state feedback control system.

1. Determine the control law. This is to set up the locations of poles for the closed loop system so that transient characteristics are met (i.e. rise time, overshoot, etc.)

2. Design an estimator (if all states are not available). The estimator will estimate states that are not measured (which is quite rare in real world applications).

3. Combine the control law and estimator. This is basically taking place of the controller D that we've been working with. all inputs going to the Plant from here are based on estimated states rather than actual state measurements.

4. Introduce the reference input to the system, ensuring the plant tracks the input properly. This is done by controlling the zeros of the closed loop transfer function, since all the poles are set by steps 1-3.

Overall, this seems to simplify the craziness of trying to understand state feedback for me. I don't pretend to grasp this yet, but this provides a good structure for me to start.

# data[].attributes.headline
Control Law Design and State Feedback Loop Structure

# data[].attributes.subject
Control Law Design and State Feedback Loop Structure

# data[].attributes.body
State feedback control law design uses a gain matrix K to dynamically adjust the control input based on the system's state variables, defined as u(t) = -Kx(t) + r(t), where u(t) is the control input, K is the state feedback gain matrix, x(t) is the state vector, and r(t) is the reference input.

This approach ensures stability, improves response time, and minimizes steady-state errors by continuously adjusting the input. The feedback loop measures or estimates the state and feeds it back to the controller to counter disturbances. Designing an optimal K and ensuring full system controllability is essential, as performance is limited without controllability.

Source: Section 7.5

# data[].attributes.attachment_caption
PROMPT: An example of an image showing a real-world application of state feedback control in action, featuring an autonomous drone adjusting its position using sensor feedback in a dynamic control loop. 

# data[].attributes.headline
Example of control law design in state feedback

# data[].attributes.subject
Example of control law design in state feedback

# data[].attributes.body
This image shows an autonomous drone using state feedback control to maintain stable flight. Sensors like IMUs and GPS provide real-time data on position, velocity, and orientation, which are fed back into the control system. The controller processes this data and adjusts motor inputs based on the state feedback law u(t)=−Kx(t)+r(t), ensuring the drone stays on course despite disturbances like the wind. This dynamic feedback loop allows the drone to achieve smooth and responsive performance, illustrating a practical use of control systems in robotics and aerospace.

Source: Dalle-engine and GPT

# data[].attributes.attachment_link.title
DALL·E 2024-10-24 19.28.31 - A real-world application of state feedback control in action, for example, an autonomous drone flying and adjusting its position using feedback from s

# data[].attributes.body
Controllability is a crucial idea in state-space control systems that aids in figuring out whether state input can fully control the system. In particular, it describes the capacity to apply the proper control input to move the system from any initial state to any desired final state in a finite amount of time.

State Feedback Design For a state-space system to be stable (i.e., to ensure all states converge to desired values over time), it must be controllable. If any state is uncontrollable, we can't use feedback to stabilize or influence it, which might prevent achieving overall stability or desired performance.

We can check for controllability using the controllability matrix that is given as

C= [B AB A^2B… A^n−1B]

The system is said to be controllable only if the rank of C is the same as the number of states n.

Observability is the idea of designing a feedback-like system to compute the states from the available measurements; in general, observability is the capacity to infer details about every mode of the system by observing only the outputs that are perceived. Unobservability results when some mode or subsystem is disconnected physically from the output and therefore no longer appears in the measurements.

The mathematical test for determining observability can be done by computing the observability matrix.

O= [​C; CA; CA^2;… ;C^An−1​]​

The system is said to be observable only if the rank of O is the same as the number of states n.

In conclusion, controllability ensures we can design a controller to manipulate all states as needed.

Observability allows us to design an observer/estimator to reconstruct all states, making feedback control feasible even if not all states are directly measurable.

Source: Franklin, Gene, F. et al. Feedback Control of Dynamic Systems ( section 7.5 and 7.7), GPT, Controllability of LTI Systems, MEEM 5715.

# data[].attributes.body
The main disadvantage of full state feedback is due to it's nature - that all states of a system must be measured. From section 7.7, "In most cases, not all the state-variables are measured. The cost of the required sensors may be prohibitive, or it may be physically impossible to measure all of the state-variables, as in, for example, a nuclear power plant." Though estimations are possible, the book then goes onto say "if we made a poor estimate for the initial condition, the estimated state would have a continually growing error..." - leading me to understand that the estimated state feedback control (when full state measurement is infeasible) is heavily dependent on the estimations, which can be dangerous. The main advantage, though, of this control scheme, also comes with the foundational nature of the scheme - the fact that the control designer can place the poles wherever they desire. This can make an unstable system stable, or do whatever the control law designer wants with a simple change.

# data[].attributes.attachment_caption
References: Section 7.9 and 7.10 of the book

# data[].attributes.body
The goal of a state feedback system with integrator is to improve the robustness of the system. A normal state feedback system relies on an input gain N to have zero steady state error. N is used as an estimation parameter that is multiplied by r before the feedback loops. If there are changes in the plant parameters, like a disturbance, the error with become non-zero. Adding the integrator helps to solve this problem. It does this by creating a new feedback loop for error and integrating the error and multiplying by a constant. The constant help to regulate how fast the system would respond to the error buildup. This creates a new state of the system Xi, which when integrated gives xi. These states have their own differential equation based on the C matrix and the input r. The controller can become even more robust by introducing second order differential equations for the input and the disturbance. This causes the state equation to become a third order equation in the error space. This also adds a requirement that the plants (A,B) is controllable and does not have a zero at any of the roots of the reference-signal characteristics equation, then the error system is controllable. This general system can be expanded to fit systems with more difficult inputs like a sinusoid. This is done by adding a compensator with an internal model inside of it.

# data[].attributes.attachment_caption
Use of feed back control system in an industrial setting.  

# data[].attributes.headline
Practical application of a state feedback control with the use of state estimator 

# data[].attributes.subject
Practical application of a state feedback control with the use of state estimator 

# data[].attributes.body
In class I learned about state estimators, a fundamental concept in control systems that allows us to estimate the internal states of a system using measured outputs. This approach is particularly useful when it’s not feasible to measure all system states directly. State estimators, like the Kalman Filter, help in creating a more accurate model of the system, which is essential for controlling dynamic systems effectively.

I found it fascinating that the Kalman Filter optimally estimates states even in the presence of noise, leveraging both system models and measurements. This blend of prediction and correction helps minimize errors, and it's widely applied in fields ranging from robotics to aerospace.

A question I have is: How does the performance of a state estimator vary depending on system complexity or noise characteristics, and are there particular strategies to improve estimator accuracy under challenging conditions like a highly non linear system?

Example:

Industrial Automation: In process control (like in chemical plants or steel manufacturing), state estimators can infer concentrations, temperatures, or flow rates in various parts of a system when direct measurement isn't feasible. This enables better control and optimization of industrial processes.

Reference: Ogata, Katsuhiko. "Modern control engineering." (2020).

and GPT

# data[].attributes.attachment_caption
References- Feedback control of Dynamic system by Franklin et al. and GPT

# data[].attributes.headline
Practical Application of State feedback control

# data[].attributes.subject
Practical Application of State feedback control

# data[].attributes.body
State feedback control has numerous practical applications in sectors where precision and stability are required. For example, in automotive systems, state feedback allows for precise speed regulation in cruise control and improves vehicle stability via stability control systems by dynamically modifying braking and torque (Franklin et al., 2019, Section 7.5). In aerospace, state feedback is critical in autopilot systems for maintaining stable flight paths and responding to environmental disturbances, making it useful for both manned and unmanned aircraft (Section 7.8). Robotics also strongly rely on state feedback, particularly when controlling robotic arms, which require accurate positioning and movement control despite external forces (Section 7.7).These applications demonstrate the versatility of state feedback in managing complicated dynamic responses while guaranteeing robustness, as described in Franklin, Powell, and Emami-Naeini's Feedback Control of Dynamic Systems (2019).

# data[].attributes.body
According to Section 7.6, good pole design should balance 2 things.

1.) Good pole design needs to eliminate undesirable aspects of open loop response creating a good system response

2.) Good pole design needs to limit controller effort

With this in mind, there are two methods for selecting pole locations that will adequately control your system.

Dominant Second Order Poles Method

This method uses dominant poles to create the desired system response, and then places other poles far away from the dominant poles which will not impact system response but can impact controller effort. The goal in this method is to select 2 dominant poles that will meet system requirements.

Symmetric Root Locus Method

This method is designed to meet the balance between controller effort and system response. This is done by minimizing the equation for the performance index and using the SRL equation to find the optimal stable poles.

# data[].attributes.body
One advantage that I found very interesting was the ability to pick and choose your own poles. With this, you can make the system do almost anything you want. I find it very interesting that you can also make a high order system mimic a second order response by picking your poles correctly. This seems to be very useful when try to reach a desired response for a system.

One disadvantage to this is that each state needs a measurement. Without this, you can't have state feedback control. However, there are times where measuring everything is not an option due to other factors. There are a lot of estimation techniques out there to try to satisfy this criteria without direct measurements, but to me it seems a little dangerous to rely on those too heavily. I think an example of this would be our cart in lab. We have the ability to only measure two states of the system, the position of the cart and the position of the rod. In order to use state feedback control for this system, we would need the estimations of the velocity of the cart and the angular velocity of the rod since we have 4 states.

# data[].attributes.body
One of my main takeaways from the chapter was with regard to state estimators. Control systems are often used to control complex processes. These processes can be hard to accurately model sometimes. State estimators help to solve this issue by estimating states in a system that are not measured or are physically impossible to measure.

The textbook discussed two main estimator designs full-order and partial order estimators. These estimators both work in similar ways but change the order of the estimator for the system. I am curious to see how these estimator schemes work with estimating things like stiction.

# data[].attributes.attachment_caption
Reference: Dr. Shangyan Zou's Lecture Notes (MEEM5715)

# data[].attributes.headline
Integral Action in state Feedback Control

# data[].attributes.subject
Integral Action in state Feedback Control

# data[].attributes.body
After designing a state feedback controller we multiply the reference input signal by a scalar term equal to 1/Kdc (where Kdc is the DC gain of the closed loop transfer function of the state feedback system) to set the Dc gain equal to 1, and hence achieve perfect reference input signal tracking.

However the aforementioned method is not a robust method to track the reference input signal, because our plant may have some dynamic elements which we have missed during modelling. Moreover the parameter values (like A,B,C and D matrices of state space model) may change over time due to system aging or external disturbances.

Hence we need a more robust way to achieve reference signal tracking, this can be achieved by adding a integrator block in the feedforward loop of the closed loop signal and multiplying it by a gain Ka, as shown in the figure above.

By adding this integrator block it can be proved that the new system completely rejects step disturbance inputs, and perfectly tracks step reference inputs (provided that the system has no pole on the imaginary line and there is no pole and zero cancellation).

Hence integral action on state feedback control provides us a robust method to track step reference inputs.

Written By: - Kunal Deshmukh

(Reference: Dr. Shangyan Zou's Lecture Notes for MEEM5715: Linear Systems)

# data[].attributes.body
The controllability of a system defines the potential for each of the poles of a plant and connected system to be controlled independently of each other. This is evaluated through a controllability matrix (C=[B AB A^1*B A^2*B ... A^(n-1)B]). If the completed matrix has all linearly independent columns the system is manipulatable through state feedback control. In other words the rank of the C matrix must be the same number as the number of states of the system.

The observability of the system is defined as the ability of the engineer defining the controller to find the states of the system through measurable data. In other words the system can be defined through it's outputs if the observability is high. The way this is found is if an observability matrix(O=[C CA CA^2...CA^(n-1)]) has all independent columns, much like the controllability matrix. A system is uncontrollable if it does not fulfill these requirements, indicating an unmeasurable part of the system outputs.

# data[].attributes.body
Controllability in state-space control systems is unique because unlike some other properties of control systems, it cannot be determined from a transfer function. Rather, it itself is a function of the state of the system. The controllability matrix can quantify the controllability of the system, which is simply developed from the traditional A and B state matrices. When the resultant matrix is nonsingular, the given system of A and B is said to be controllable. Changing the state with a nonsingular linear change will also not change controllability. I found this interesting because this means that this can then be applied to the TF of a system by replacing components of the A and B matrix with variables. The text gives an example (Fig. 7.10) of an observer canonical system, and the determinant of the controllability matrix is given. The poles of the polynomial are such that if you substituted them into the new transfer function (TF with variable), it would be reduced to a first order system rather than a second. This would result in a loss in controllability obviously if these poles are met. The book compares this to the same TF with a different realization (control canonical form to be exact), where the system is controllable for all instances.

To me, observability was much easier to visualize than controllability. The book provides an example of a case where a physical system measures an output that is a derivative of a select state variable. If this variable itself isn't measured directly as well as the derivative, a constant of integration will be present and can potentially limit your system ability.

# data[].attributes.body
Controllability and observability are two key concepts in control systems that are covered in Section 7.4. Controllability ensures that the system may be guided from any initial state to any desired state with the appropriate control inputs, whereas observability ensures that the internal states of the system can be inferred from its outputs. These qualities are essential for designing effective feedback systems because they witness to our capacity to precisely monitor and manage every system state.

Section 7.4.2 of the text provides an example of an electric circuit with current as the input and voltage as the output. The circuit's controllability and observability are affected by a number of elements, including inductance (L), capacitance (C), and resistance (R). By examining these characteristics, we may ascertain whether each system mode is influenced by the input and discernible from the output, which is essential for developing strong and dependable feedback systems.

# data[].attributes.body
In section 7.8, compensator design is discussed and compared for different strategies. Specifically, the use of state estimation and LQR compensation to minimize control efforts seems to be the best approach. Of course, this is limited by having a well-defined model of the plant that accurately captures all necessary dynamics. Example 7.31 steps through the process of desired pole selection and gain computation based on imposed servo performance requirements. The plots for output response and control effort demonstrated why LQR is the superior compensation technique over pole place. Additionally, LQR highlighted that shifting the high frequency pole was unnecessary and resulted in large control effort. It will be interesting to see if we leverage this compensation technique in lab, as much emphasis has been placed on preventing motor command saturation.

# data[].attributes.body
In control system design, state estimators (discussed in Section 7.7) become crucial when practical limits such as sensor costs or physical constraints prevent monitoring of all state variables. A state estimator uses the mathematical model of the system and partial measurements to reconstruct the full state vector of the system. Engineers can approximate the true state while achieving the intended control objectives by feeding this estimated state back into the control rule.

When direct measurement of states is challenging, such as in nuclear power plants when some variables are unavailable due to severe conditions, an estimator is used. In these cases, an estimator that continuously adjusts itself based on measurement feedback gradually reduces the difference (or error) between the estimated and true states over time. This error reduction, achieved by using a proportionate gain in the estimator to efficiently match the model's predictions with actual system behavior, enables reliable control performance even in complex scenarios.

# data[].attributes.body
As stated in section 7.5 of the book one of the advantages for state feedback is that it is made up a sequence of independent steps. This allows you to really break down the problem and select step by step what pieces of equipment is needed for the step. These steps being: 1, Determine control law this step is where you assign the pole locations to give a good response. 2, Determine the estimator, this is where you choose how the system estimates the rest of the state vectors when you do not have them all. 3, Putting the estimator and the control law together, putting the controller and the estimator together to ensure the poles are the same. The last step is to input reference that suitability tracks the states of the system. Using this very step by step process is an advantage because of the fact that it really allows you to break apart the problem and focus on 1 step at a time to avoid the need to holistically look a problem. It also means that even if we will not have full state definitions we can still design as though we do.

In section 7.7 in the estimator design it mentions the fact that there some disadvantages. One such is the cost of sensors. Imagine that you have a system that to get a full state description you need to have the definition of 6 states. This means that you need at least 6 different sensors. This by itself will be expensive not to mention that you will also need space on your system to put them on. If you are working with something relativity small you start running into space constraints with the existence of the sensor itself. In another case the environment may prohibit the use of a sensor. In my internship experience this has come up in the form of harsh environment. The situation is where there was an encoder on a machine that was under brine spray and would destroy the encoder costing more money and reduce efficiency.

# data[].attributes.body
When discussing state feedback form a top level its biggest disadvantage is clear. That is, it requires more data to be measured to be used effectively when compared to a standard control scheme.

That said, state feedback has some great pluses as well. Due to the nature of the state feedback its use results in a faster transient response. The biggest plus is state feedback's ability to be used in non-linear systems which greatly increases its capability.

These topics and others are covered across section 7.5-7.8

# data[].attributes.body
I discovered that when measuring every state of the system is not feasible, state estimators are employed. State estimators use the measured output and the known inputs to estimate the unknown states. This enables the system to function as though every state is usable. By introducing the real state feedback to the plant and then identifying the estimation mistakes, one may assess the estimator's performance. We discussed in class how the beaglebone did not capture all of the states of the pendulum and cart, thus I'm wondering if we'll be using any state estimators in our upcoming labs. if we fail to document every state.

# data[].attributes.headline
Steps for Designing Full-State Feedback

# data[].attributes.subject
Steps for Designing Full-State Feedback

# data[].attributes.body
Find the law of control. In order to meet transient characteristics (such as rise time, overshoot, etc.), the pole locations for the closed loop system must be set up.

Create an estimator if not all states are accessible. In real-world applications, it is uncommon for the estimator to estimate states that are not measured.

Integrate the estimator and control law. In essence, this replaces the controller D that we have been using. Instead of using actual state measurements, all inputs that are sent to the plant from this location are based on estimated states.

Make sure the plant tracks the reference input correctly before adding it to the system. Since steps 1-3 set all of the poles, this is accomplished by managing the closed loop transfer function's zeros.

In general, this appears to make the absurdity of attempting to comprehend state feedback easier for me to understand. This gives me a solid framework to begin with, albeit I don't pretend to understand it yet.

# data[].attributes.body
State feedback control works on the basis that all of a system's states are available as feedback to the controller. Sometimes, however, the states of a system may be unable to be measured due to feasibility or cost. This is where state estimators come in. State estimators work by calculating the unknown state based on the values of other states and related measurements. The image above is one example of a block diagram of an observer, specifically a Luenberger observer. These observers work by taking the output measurements of a system and calculating an estimate for the state that converges to zero over time. They are used extensively in time-varying, linear, and nonlinear systems due to their high accuracy and relative ease of setup.

References: State observer - Wikipedia, Luenberger Observer - (Nonlinear Control Systems) - Vocab, Definition, Explanations | Fiveable

# data[].attributes.body
Loop Transfer Recovery (LTR)

According to section 7.11, in state feedback control, adding an estimator can reduce stability robustness, affecting phase margin (PM) and gain margin (GM). LTR counteracts this by modifying the estimator to regain some Linear Quadratic Regulator (LQR) robustness, particularly effective in minimum-phase systems. This process places some estimator poles near the plant’s zeros and moves others into the left-half plane (LHP), shaping the loop gain to approximate the LQR’s stability properties.

LTR Mechanism and Trade-offs

LTR allows feedback controllers to reach desired sensitivity functions at key points in the feedback system. However, this often increases sensitivity to sensor noise. One approach is making estimator poles fast to achieve a loop gain close to that of LQR, essentially inverting the plant transfer function. For nonminimum-phase systems, LTR can still improve robustness, though full recovery is limited by right-half plane (RHP) zeros.

LTR Example From Text : Satellite Attitude Control

In a satellite system example, an LQR controller is designed with feedback gain KKK, then refined using LTR for varying values of q (e.g., 1, 10, 100). As q increases, the loop gain better resembles the ideal LQR loop gain but leads to higher actuator activity under sensor noise, suggesting a trade-off between robustness and actuator wear.

One thing I found interesting is that "The newly designed control system may have worse sensor noise sensitivity properties. Intuitively, one can think of making (some of) the estimator poles arbitrarily fast so the loop gain is approximately that of LQR." (7.11). It makes me consider that sometimes there is 'no free lunch' and you always have to make trade offs as a controller designer.

Question:

LTR is supposed to be especially effective in minimum-phase systems, but I want to know why nonminimum-phase systems limit full recovery?

Sources: Section 7.11 of the textbook.

# data[].attributes.body
For pole placement as a dominant second order system, the damping ratio, natural frequency, and poles should be selected to create desirable responses. Any remaining poles should then be significantly further left in order to minimize their effect on the system. As a typical rule, these poles should be selected as 4 times the value of the real value of the dominant poles. Control gains can then be found with the acker function in Matlab when using this method.

For the poles when using the symetric root locus method, the equation 1 + ρ(N(-s)N(s)/D(-s)N(s)) = 0. By solving for s, the optimal stable pole can be found. This requires the value ρ to be selected. The value of ρ is selected based on the desired trade off between a fast response and control effort. In the same way as the dominant second order method, control gains can then be found with the acker function in Matlab.

# data[].attributes.body
State estimators are used to provide an input value when the state of the current system is unknown or immeasurable. While state feed back is useful for controlling complicated systems, this also often means not all the states of the system can be accurately measured, or directly measured. The estimators will experience error, especially when used to estimated the initial conditions of a system. However, by adding feedback to the estimator, you can eliminate error using a proportional gain matrix multiplied against the the error. This produces a final matrix of (X_dot_est) = A*X_est + B*u_input + L*(y-C*x_est). Using this, the control designer can compute the characteristic equation of error by taking the determinant of (sI - (A - L*B), which is formed by substituting in equation 7.69 from the book. This allows us to choose the values for L such that we eliminate or stabilize the error of the system, and produce a best fit estimator.

A question I have is if state estimators can be used in conjunction with the actual states for the system, as a "backup"? This would be for if a sensor fails, or if the control system experiences a large latency.

# data[].attributes.body
Chapter 7 of the textbook covered state feedback control, a type of control system that uses all of the state variables of the plant as feedback for the controller. One of the main advantages of these versatile controllers is the ability to select the poles of the system. By having this control, the poles can be places in optimum location in order to achieve a desired system response. The most obvious disadvantage is that a state feedback controller is highly reliant on the state space representation of the model, and that all state variables must be known to accurately control the system.

# data[].attributes.body
From the book and the course notes it has been made clear that understanding controllability is the first most important step to understanding state feedback. The mathematical representation of the controllability matrix given in the book was a bit difficult for me to understand, I don't quite see the purpose of using the translation matrix to derive the controllability matrix Cz, but it sounds like we aren't expected to have a full understanding of it in this course. Creating the controllability matrix C = [B AB A^2B ... A^(n-1)B] then computing the rank and ensuring it is equal to n makes more sense to me at this time, but I see the risks to this method where a value that is essentially zero may be incorrectly counted in the rank. The trick for checking the condition for large values that represent a system that requires very large actuation to control, in other words the system is close to being uncontrollable and the rank may be inaccurate.

# data[].attributes.body
It seems from the book reading that the most significant advantage of state feedback is the ability to set pole locations for the closed loop transfer function as long as the system meets the 'controllable' criteria. This is of such significance because it allows characteristics of the system's response such as rise time to be controlled to a higher degree. Adding onto the ability to set closed loop poles, state feedback also allows the designer to target many different aspects of a response and optimize for many of them including disturbance rejection, rise time, lag compensation, steady state error, and more. The book describes state feedback, when implemented properly, as being very robust.

From the reading, the main disadvantage of state feedback is that all states of the system are used in the closed loop transfer function either coming from an estimator/observer or hardware sensors. Hardware sensors can be either unfeasible or cumbersome to install while state estimators have the potential to introduce error and instability to the system if implemented improperly. Another disadvantage of state feedback is its complexity. Compared to PID controllers, state feedback is significantly more complex, requiring values or estimates for each state, and involves significant and complex matrix math. This complexity appears to be a tradeoff for the level of control that state feedback can apply. The book reading talks about many of the different aspects of a response that can be accounted for, many of which are not available if PID was to be chosen.

# data[].attributes.headline
State Feedback Control: Benefits and Limitations

# data[].attributes.subject
State Feedback Control: Benefits and Limitations

# data[].attributes.body
After looking at Chapter 7 of our textbook, I found state feedback control to be an intriguing approach to many modern issues. When I first learned about how self-driving cars use a feedback control system, I was impressed with how complicated some control loops are. A self-driving car must use at least 20 inputs and have quite a few outputs as well. The fact that controllers can take in at least 20 different inputs into the controller and use those outputs to help them drive the car without much user input is impressive.

Another cool advantage is how controllers can take an unstable system and make it stable by manipulating the feedback signals. The textbook explains how this method is especially powerful for complex systems with multiple inputs and outputs, which makes it super valuable in real-world applications like robotics or aircraft control systems. By knowing the poles of the plant, you can design a controller that negates any unstable poles and makes sure the system does what you want it to.

The most obvious disadvantage of feedback control systems is that they are often much more difficult to implement than a feedforward system. Feedback systems (that are fully controllable) require at least 1 sensor for every output that the system has, but likely will use much more than that. It will also need a way to receive input signals from the operator of the system. Also, if sensors fail or are inaccurate, you can easily lose control of the system.

Another disadvantage is that controller parameters need to be tested and set very carefully because otherwise, it can make the system unstable. If the feedforward system is inaccurate, it will be off by however much it needs to be adjusted. It might result in a failed part or a steady-state error (depending on what the plant is). However, if a feedback system is inaccurate, it will attempt to self-correct and if that self-correction is too much, it can cause the system to self-destruct.

I still have a few questions:

1. For many applications, it seems like there are just too many problems with feedback control. If I wanted to punch a hole in a specific spot in a piece of sheet metal, I think I would want to use dead-reckoning instead of feedback control. How do engineers decide to use state feedback control as opposed to meticulously crafting a precise machine?

2. What are some less common industries that use feedback control? The technology seems very broadly useful and there seems to be money in automation for almost any industry. Do industries like farming, fabrication, and mining use state feedback control and how/how much?