State space vs classical control

  • Thread starter unplebeian
  • Start date
  • #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.
 

Answers and Replies

  • #2
Hesch
Gold Member
922
153
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
S.G. Janssens
Science Advisor
Education Advisor
1,223
818
The methods of classical control apply to linear (or linearised) systems only. For non-linear control, state-space methods are more suitable.
 
  • #4
donpacino
Gold Member
1,439
283
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
unplebeian
157
1
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
donpacino
Gold Member
1,439
283
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
Hesch
Gold Member
922
153
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)
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
atyy
Science Advisor
14,792
3,343
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
Hesch
Gold Member
922
153
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
atyy
Science Advisor
14,792
3,343
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
donpacino
Gold Member
1,439
283
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
donpacino
Gold Member
1,439
283
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
Hesch
Gold Member
922
153
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
donpacino
Gold Member
1,439
283
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
Hesch
Gold Member
922
153
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
donpacino
Gold Member
1,439
283
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
Hesch
Gold Member
922
153
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
donpacino
Gold Member
1,439
283
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
Hesch
Gold Member
922
153
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: 413
  • #20
unplebeian
157
1
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
donpacino
Gold Member
1,439
283
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
donpacino
Gold Member
1,439
283
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
 

Suggested for: State space vs classical control

Replies
2
Views
668
Replies
3
Views
420
Replies
24
Views
827
  • Last Post
Replies
17
Views
1K
Replies
12
Views
645
  • Last Post
Replies
1
Views
196
Replies
1
Views
361
Replies
12
Views
959
  • Last Post
Replies
1
Views
773
Replies
14
Views
1K
Top