State space vs classical control

In summary: The time it takes to calculate the next state value from the input is important, and can be quite large. That's why you usually want to minimize the delay between input and output.In summary,In summary, state space control is more suitable for systems with multiple inputs and outputs, and modern control is more suitable for MIMO systems.
  • #1
unplebeian
157
1
Hello,

I have a fundamental question about why state space control techniques are superior to the classical methods. I l know that you can control a system with multiple inputs and outputs for several states using state space control, however, can't the same thing be done in classical control where you have multiple inner loops of one big outer loop? Is it because such an approach is inherently slow that you will have to resort to state space?

Can someone please explain the benefits of state space over classical control or point me to a good reference.

Thanks.
 
Engineering news on Phys.org
  • #2
unplebeian said:
I have a fundamental question about why state space control techniques are superior to the classical methods.
It depends on, namely if there are multiple input/output or not. If you have only one ( or few ) input/outputs, you can easily calculate values of all variables in your model, whereas these values are more "hidden" in state space: You don't have the same general view. Say you wan't to plot a root locus as a function of amplification/inertia/resistance, whatever, it is typically more easy to do that by means of the classical method. Also you can more easy pick out some detail or special transfer function by means of the classical method.

If you have a lot of input/outputs, the classical method will be very complicated ( no general view ).

PS: Say you have a digital controller where the parameters/calculations must be very exact ( no rounding errors, etc. ) you can easily manage that using classical control with integer parameters, whereas it's a hell of a job doing this in state space.

( I think you now can feel which method I prefer ). :wink:
 
Last edited:
  • #3
The methods of classical control apply to linear (or linearised) systems only. For non-linear control, state-space methods are more suitable.
 
  • #4
unplebeian said:
Hello,

I have a fundamental question about why state space control techniques are superior to the classical methods. I l know that you can control a system with multiple inputs and outputs for several states using state space control, however, can't the same thing be done in classical control where you have multiple inner loops of one big outer loop? Is it because such an approach is inherently slow that you will have to resort to state space?

Can someone please explain the benefits of state space over classical control or point me to a good reference.

Thanks.
state space also lends itself very well to more robust forms of control and estimation.
 
  • #5
Thank you, all for the comments and replies.

So is this a correct way of thinking about state space: It is superior as there is a gain applied to each state variable so during a dynamic test, say step change in reference or during tracking, each state variable will be changed/adjusted simultaneously. Unlike classical control the inner loop is faster, and then the outer one is slower so the performance is inherently slow and over/under shoots of an internal state can't be immediately controlled as that state variable is not the ultimate goal or target to be controlled.

Any thoughts?
 
  • #6
so state feedback control is different from state space.

state space is the matrix implementation of systems dynamics.

direct state feedback is one method of modern control.

below is an answer from a very similar yahoo answers question...

Classical control typically deals with single-input single-output (SISO) systems using frequency domain tools. This means taking the Laplace transform of the equations of motion for the system (typically ordinary differential equations) and designing controllers based on performance specifications at low and high forcing frequencies.

Modern control is largely a result of the microprocessor, which allows large amounts of computation to be done cheaply. Modern control often deals with multiple-input multiple-output (MIMO) systems, and deals directly with the ordinary differential equations in the time domain. In modern control, we develop controllers that have good stability characteristics without using too much control (or actuation). There are a number of powerful tools from dynamical systems theory which allow us to find "optimal controllers", which are optimal with respect to some quadratic cost function.

https://answers.yahoo.com/question/index?qid=20130402162850AAjf5KS

what you said about the inner and outer loop speed is not necessarily true, as in state feedback all of the state outputs are usually fed into the system inputs.
 
  • #7
unplebeian said:
It is superior as there is a gain applied to each state variable so during a dynamic test, say step change in reference or during tracking, each state variable will be changed/adjusted simultaneously.
That's not a difference: As for classical control you could write a filter transfer function:

y(z)/x(z) = ( A3*z3 + A2*z2 + A1*z + A0 ) / ( z3 + B2*z2 + B1*z + B0 )

When you sample x(z), you just

1) Multiply x(z) by A3 and add the previous sum from step 3), and you have y(z) within just one multiply-add operation. Calculation delay between sample and output is important as for the quality/performance of the controller
2) Shift all the zn-values in the numerator and denominator, thereby "changing the states simultaniously". The z-values in the transfer function is a "memory", that remembers what has happened previous as for x(z) and y(z).
3) Calculate the sum of all products ( An*zn and Bn*zn ) except A3*z3 calculated in step 1)
unplebeian said:
Unlike classical control the inner loop is faster
Why is it faster? By classical control you can choose whatever sample frequency you want as for inner/outer loop. The frequencies may be different, for example for a servo-motor: Current loop @15kHz, motion-loop @1kHz.
 
  • #8
unplebeian said:
I have a fundamental question about why state space control techniques are superior to the classical methods.

The state space model is the most general (for all practical purposes). I can't remember the conditions exactly, but roughly if the system is linear time invariant plus fading memory, then one can reformulate the problem as using linear kernels and use frequency domain methods. If the system is nonlinear but with fading memory, then one can try Volterra series or reparametrizations of Volterra series. So the fading memory cases are special cases in which the state space description has an exact formulation using integral kernels.

When a reformulation using linear kernels is possible, then the frequency domain methods can be much more convenient, but there is always (in principle) an equivalent formulation in state space.

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.126.9363
 
Last edited:
  • #9
I don't understand all this talk about frequency domain, non-linear systems, etc.

As for analog control I would use the Laplace domain ( is it a frequency domain? ) and for digital control I would use the z-domain, no matter if modern or classical approach is used.

If a digital controlled plant includes non-linear elements, ( e.g. a magnetizing curve for a motor ), I would implement a look-up table to linearize the torque of the motor, and insert the table an appropriate place in the calculations. Using classical method it's very easy to see, where this place is: You have the overview.

Another example: Say you make a speed/position controller for this motor, and "someone" suddenly presses down the throttle, the power stage, driving the motor, becomes saturated ( only having 300V to deal with ). Then you place some function in front of the control-loop, that manages the physical speed-input by converting it to a series of accelerations. Now, this overshoot as for the outputstage is back-calculated through the control-loop to the input of the control-loop, ( which is quite easy using classical control ), and here the input function is corrected ( decrease the acceleration ). The function knows about what is going on. Try again: Calculate forward the control-loop again with the corrected acceleration. The result will be, that no saturation takes place, and no integral kernels will be "wound up", making an overshoot in position/speed.

By modern control I don't know how to back-calculate through several matrices within a few micro-seconds ?
 
Last edited:
  • #10
Hesch said:
As for analog control I would use the Laplace domain ( is it a frequency domain? ) and for digital control I would use the z-domain, no matter if modern or classical approach is used.

Frequency domain usually means Fourier transform. The Laplace transform can be considered a special case of the Fourier transform.

https://en.wikipedia.org/wiki/Laplace_transform#Fourier_transform
 
  • #11
atyy said:
Frequency domain usually means Fourier transform. The Laplace transform can be considered a special case of the Fourier transform.

https://en.wikipedia.org/wiki/Laplace_transform#Fourier_transform

the 'frequency domain' means the signals are mathematically described as a function of frequency. Just like in the 'time domain' signals are mathematically described as a function of time.

the Fourier transform (and by extention the laplace transform) is simply a tool to translate from the time domain to the frequency domain
 
  • #12
Hesch said:
Another example: Say you make a speed/position controller for this motor, and "someone" suddenly presses down the throttle, the power stage, driving the motor, becomes saturated ( only having 300V to deal with ). Then you place some function in front of the control-loop, that manages the physical speed-input by converting it to a series of accelerations. Now, this overshoot as for the outputstage is back-calculated through the control-loop to the input of the control-loop, ( which is quite easy using classical control ), and here the input function is corrected ( decrease the acceleration ). The function knows about what is going on. Try again: Calculate forward the control-loop again with the corrected acceleration. The result will be, that no saturation takes place, and no integral kernels will be "wound up", making an overshoot in position/speed.

By modern control I don't know how to back-calculate through several matrices within a few micro-seconds ?

that can be done with modern control too!
 
  • #13
donpacino said:
that can be done with modern control too!
Yes, but say you have a 6'th order control-loop, how many instructions will have to be processed to make this back-calculation? ( additions, multiplications, etc. ).

I know the question is somewhat diffuse, but please understand my point.
 
  • #14
Hesch said:
Yes, but say you have a 6'th order control-loop, how many instructions will have to be processed to make this back-calculation? ( additions, multiplications, etc. ).

I know the question is somewhat diffuse, but please understand my point.
Correct me if I am wrong, but I think you are trying to say that classic control takes less computation time than modern control. That is not true.
Typically modern control takes LESS computing time
 
  • #15
donpacino said:
I think you are trying to say that classic control takes less computation time than modern control.
The A-matrix ( 6'th order ) in statespace includes 6 × 6 numbers. A 6'th order filter in a classical control includes 12 numbers. I know that a majority of the numbers in the A-matrix are zero, but the processor will have to test/multiply/add them anyway.

But that wasn't really my point. I'm trying to say that the back calculation will take more computation time by state-space.
 
  • #16
Hesch said:
The A-matrix ( 6'th order ) in statespace includes 6 × 6 numbers. A 6'th order filter in a classical control includes 12 numbers. I know that a majority of the numbers in the A-matrix are zero, but the processor will have to test/multiply/add them anyway.

But that wasn't really my point. I'm trying to say that the back calculation will take more computation time by state-space.
For live on system computation you can design the code such that elements of the matrix not used will ALLAYS be zero. In that case the A- matrix (which is simply system dynamics) computations will be on the same order of magnitude as the classical model. but like you said, really was not your point.

comparing classical and modern...
a lead-lag filter vs state feedback. for a 6th order system you would simply have 6 values each multiplied by a gain. it is not that computationally expensive. For the lead lag filter you would need to do an FFT, multiple and divide different values, etc.

I personally use classical method for 'quick and dirty' (as my old professor calls it) or simple systems. If something needs a robust or optimized solution I turn to modern.

to the OP... keep in mind in many cases modern control systems are harder to 100% verify functionality than classical systems, due to their complex nature. In many cases classical control is still used on VERY complicated systems. It depends on the industry and the system
 
  • #17
donpacino said:
For the lead lag filter you would need to do an FFT, multiple and divide different values, etc.
I don't understand what you mean ( especially the FFT ).

As for "lead-lag" digital control, you should use z-transforms, where e.g. a PID-controller could be written:

y(z)/x(z) = ( 5.3z - 4.1 ) / ( z - 1 ) = ( 5.3 - 4.1z-1 ) / ( 1 - z-1 )
( just an example ).

So you calculate the output, y(z) = x(z)*( 5.3 - 4.1z-1 ) + y(z)*z-1

As for a PID-filter ( 1. order ) you will have to do 3 multiplications and 2 additions. That's it.
Back-calculation is simply done by: Δx(z) = Δy(z) / 5.3 , where Δy(z) is the amount of saturation ( over shoot ) that must be removed.

A 6'th order will imply 13 multiplications and 12 addition, whereas by statespace 36 multiplications and 36 additions are needed, just for the A-matrix.
( I assume you also use z-transforms in state space? )

I don't know how you will back-calculate in state-space?
 
Last edited:
  • #18
Hesch said:
I don't understand what you mean ( especially the FFT ).

As for "lead-lag" digital control, you should use z-transforms, where e.g. a PID-controller could be written:

y(z)/x(z) = ( 5.3z - 4.1 ) / ( z - 1 ) = ( 5.3 - 4.1z-1 ) / ( 1 - z-1 )
( just an example ).

So you calculate the output, y(z) = x(z)*( 5.3 - 4.1z-1 ) + y(z)*z-1

As for a PID-filter ( 1. order ) you will have to do 3 multiplications and 2 additions. That's it.
Back-calculation is simply done by: Δx(z) = Δy(z) / 5.3 , where Δy(z) is the amount of saturation ( over shoot ) that must be removed.

A 6'th order will imply 13 multiplications and 12 addition, whereas by statespace 36 multiplications and 36 additions are needed, just for the A-matrix.
( I assume you also use z-transforms in state space? )

I don't know how you will back-calculate in state-space?

Like I previously mentioned you only need to calculate the A matrix if you are making an observer or simulating your system dynamics in some way. If you are doing that, you obviously would need to to do similar using a classical method, or the system is so complicated that modern control would be needed. Don't assume that simply because you have more tools with modern control that you need to use them. For a 6th order siso system if you want to you can use only a few outputs to feed back and achieve a response similar to one you would get from a simple PID controller. Like I said PID controllers are quick and dirty.
 
  • #19
donpacino said:
For a 6th order siso system if you want to you can use only a few outputs to feed back and achieve a response similar to one you would get from a simple PID controller.
I think we now are discussing terms.

In the attached scan from a good old american book, the authors explain the difference between classical/modern design. In modern design, a system is expressed as a set of first-order matrix differential equations. So as for a 6th-order system you must have a 6×6 matrix ( in the attached called the F-matrix ): Only 1 order as per equation.

I know that a modern design can be converted to a classical design, but then it isn't a modern design any longer.

In classical design, a 6th-order system can be expressed by two 6th-order polynomials ( numerator + denominator ).
 

Attachments

  • scan0020.pdf
    1.5 MB · Views: 465
  • #20
I think the conversation is getting a bit out of control...no pun intended.

Thank you, all, for your feedback (again no pun intended) and comments. They were very helpful. Clearly one method over another has it's superior points at a cost. Somewhere the discussion even went in the direct of a look up table which was slightly out of place to me for this thread.

Thanks, all, for your insights.
 
  • #21
unplebeian said:
I think the conversation is getting a bit out of control...no pun intended.

Thank you, all, for your feedback (again no pun intended) and comments. They were very helpful. Clearly one method over another has it's superior points at a cost. Somewhere the discussion even went in the direct of a look up table which was slightly out of place to me for this thread.

Thanks, all, for your insights.
its all in the application
 
  • #22
Hesch said:
I know that a modern design can be converted to a classical design, but then it isn't a modern design any longer.

ok. I guess I can buy into that
 

1. What is the difference between state space and classical control?

State space control uses a mathematical model of the system to directly control the states of the system, while classical control uses a transfer function to control the output of the system based on its input.

2. Which control method is more commonly used in real-world applications?

Classical control is more commonly used in real-world applications due to its simplicity and ease of implementation.

3. What are the advantages of using state space control?

State space control allows for a more accurate and precise control of the system, as it takes into account the dynamics of the system and can handle complex systems with multiple inputs and outputs.

4. Can state space and classical control be used together?

Yes, state space and classical control can be combined to take advantage of their respective strengths. This is known as hybrid control.

5. How do I choose between state space and classical control for my application?

The choice between state space and classical control depends on the complexity and dynamics of the system, as well as the desired level of control accuracy. It is important to carefully analyze the system and its requirements before deciding on a control method.

Similar threads

  • Electrical Engineering
Replies
12
Views
2K
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
6
Views
1K
Replies
1
Views
1K
  • Advanced Physics Homework Help
Replies
12
Views
1K
  • Electrical Engineering
Replies
2
Views
4K
  • Electrical Engineering
Replies
1
Views
8K
  • Engineering and Comp Sci Homework Help
Replies
11
Views
1K
  • Electrical Engineering
Replies
4
Views
1K
Back
Top