Laplace Transforms in Control Engineering

Hello,

I am writing up my PhD at the moment, and I was hoping someone would be able to confirm some Laplace transform techniques that I have been working with.

My thesis is on self-organising fuzzy logic control and for the past month and a half I have been trying to replicate experiments published by the original creator of the self-organising fuzzy logic controller [1], so as to compare the original work with my own.

The original author's experiments use a transfer function

X(s)= (0.00375/((s+0.15)*(s+0.25)))*U

where U is the controller input to the system and X is the system output.

From my reading I believe that to graph this in a time domain I have to

multiply it by 1/s and then get the inverse Laplace transform, am I on the right track?

I have used Maple to calculate this and the resulting equation I am using to graph my system is x(t)=U[0.1-0.25*exp(-0.15t)+0.15*exp(-0.25t)], any idea if this is correct ?

Any help with this would be greatly appreciated, as I have been going round in circles for the past few weeks trying to figure it out, I just need someone to confirm I'm going in the right direction.

Thank you for your time, Ann

[1]. T. J. Procyk and E. H. Mamdani "A linguistic self-organizing process controller" Automatica, Volume 15, Issue 1 , January 1979, Pages 15-30

____________________________________ Ann Tighe, Department of Information Technology, National University of Ireland, Galway. Ireland.

Email: snipped-for-privacy@gmail.com Website:

formatting link

Reply to
ann.tighe
Loading thread data ...

So instead of taking one 3rd-year course in control system design as part of your 3 - 5 year, full-time program, you're going to learn less Laplace analysis than you'd get from one article on the internet?

All of the fuzzy logic articles (and parts of books) that I have read, and all of the neural network information that I have run across, tend to have gushing proclamations about how very cool the technique is, followed by an example that could be solved by throwing a simple PID controller at the problem and turning three knobs.

Without really knowing control theory -- and here I mean up through adaptive and nonlinear control theory -- how are you going to verify that your solutions aren't just really roundabout, fragile, unreliable ways to do what any good practitioner with a Bachelor's degree in the appropriate area could do? Fuzzy logic and neural nets may get you to a solution, but you still need to know nonlinear control theory to verify said solution.

Yes, your technique for getting a system step response from a transfer function (assuming that U = 1) is correct. The resulting transfer function also looks quite plausible (I just checked the final value and the fact that it had exponents -- I didn't check the values of the exponents).

Reply to
Tim Wescott

This scenario is one of the main reasons I left academia and returned to the real world of industry!

fred.

Reply to
Fred Stevens

Peter Nachtwey

Reply to
Peter Nachtwey

Hi Tim,

Thanks for your help.

I was expecting the anti-fuzzy logic stuff ; )

I'm not here to say fuzzy logic is better than anything else, it is just an alternative. Maybe it has some disadvantages, but maybe it has some advantages two, that make it a worthwhile research topic.

The reason that I have got into the control theory side of things so late in the game, is that my work is based on limiting the exponential rule growth in self-organising fuzzy logic rather than improving the control in general.

I'm focusing on the quantity and quality of rules in the rulebase when adapting.

I have been comparing my threshold based self-organising control against the original version using an inverted pendulum experiment. However now I would like to run the same experiments as Procyk and see can I limit the number of rules and retain the same level of control.

Would any one be able to confirm that my resulting transfer function is correct?

Thanks, Ann

Reply to
ann.tighe

Multiplying the Transfer Function by 1/s is equivalent to stimulating with a unit-step input signal; so the time-domain response will, therefore, be the step-response. As an alternativ to using Maple, a book on Engineering Maths or (Control Eng. text book) would typically have tables of Laplace Transforms and their inverses in the appendices?. The solution you seek is one of the standard entries in such tables. (By the way: Laplace Transforms are a topic in maths that predates the interests of Control Engineering by more than a century.) Does nobody at NUI Galway have MATLAB? (There are many licenses at NUI, Maynooth). With the MATLAB Control-Systems Toolbox you can readily plot these time-domain responses and do the Laplace to time-domain conversions.

Your answer for x(t) looks correct to me!

- Kelvin B. Hales Kelvin Hales Associates Limited Consulting Process Control Engineers Web:

formatting link

Reply to
Kelvin Hales

Hi Kevin,

Thank you so much that is very useful.

I have access to Matlab but my controller written in C, so I would prefer ( if at all possible) to have an equation that I could add my controller output to and then graph with gnuplot.

Rather than using the step function in Matlab.

I am presuming that I am looking for the step response but I am not positive. All I have is a diagram of the previous results to work with, and that graphs x with respect to time ( see graph:

formatting link
)

So I suppose I have a new question. Is a step response the only way to view a Laplace transform in a time domain ?

Thanks again. Ann

Reply to
ann.tighe

Hi Peter,

I'm planning to calculate a new value for U at each time step of 0.5 seconds, so that I can make X stabilize at the set-point of 65

I want to replicate this diagram, from the Procyk paper, see

formatting link
I'm I going about it right?

Thank you for your help, Ann

Reply to
ann.tighe

What you need to do is convert the transfer function in the s domain to a difference function or discrete state space. Then you can change u(n*T) using your fuzzy controller and the system will respond. You need something that looks like this:

x(n) = A1*x(n-1)+A2*x[n-2)+B1*u(n-1)+B2*u(n-2)

Simple functions like yours can be found in the z-transform tables. The tables will tell you how to compute the A and B coefficients.

Now you can change u(n) at each iteration and compute a new x(n). Now you can simulate how the system will respond to your fuzzy logic or any other controller.

Reply to
Peter Nachtwey

snipped-for-privacy@gmail.com wrote in news:1145540746.950923.28390 @g10g2000cwb.googlegroups.com:

That will give you the step response of the system. If you want the impulse response, skip the 1/s part.

Reply to
Scott Seidman

Hmm. Time for a crash course?

Your question, alas, is meaningless. A Laplace transform is simply a representation of a time-domain signal, which simply is. A signal does not have a response, it only has it's Laplace transform. So the way to view a Laplace transform of a signal in the time domain is to do an inverse Laplace transform. To do this by hand one usually takes the expression at hand, performs a partial fraction expansion on it, then does an inverse transform on each piece.

A system responds to a signal, and the way a given system responds to a given signal is that system's response to that signal. Boy. I mangled that. Try this: go to

formatting link
and read the article. Skim through the introductory z transform stuff (unless you find it interesting) until you get to the part that describes transfer functions -- I make the distinction (I hope) between a signal, it's transform, a system, it's transfer function and it's response.

Is your controller working in closed-loop or open-loop in the immediate sense? I.e., are you using the target system's output to update the controller's next response, or are you doing a run, updating your controller, then doing another run? If you are, then you cannot just take the controller output on a run-per-run basis -- you have to apply the controller output at whatever sampling rate your controller runs (or continuously if it's a continuous controller). If you _are_ using immediate closed-loop feedback then you'll have to simulate your plant (target system) in your program. If you send me an email and I'll give you a treatise on it, or you can tell your U library* to go buy my book and I'll tell you the appropriate page numbers.

  • Unless you want to get serious about this stuff, in which case you can buy it:
    formatting link
Reply to
Tim Wescott

-- snip --

Ah! I didn't notice it before -- U is the input signal, which in the case of a step function is U = 1/s. In your expression x(t)=U[0.1-0.25*exp(-0.15t)+0.15*exp(-0.25t)] you are mixing the time domain (functions of t) with the Laplace domain (U is a function of s, and should be stated as U(s)). You may be confused by the fact that u(t) is the unit step function, but it is different from U(s), the control engineer's favorite shorthand for the system input (or, for that matter, u(t), the control engineer's favorite shorthand for the system input in the time domain).

For U = 1/s, the expression x(t)=[0.1-0.25*exp(-0.15t)+0.15*exp(-0.25t)] for all t > 0, and x(t) = 0 for all t < 0 is correct if Maple says so*.

  • And no one will fess up to the value at t = 0, but I say it's 0.
Reply to
Tim Wescott

Dear Ann

The graph that you have on your website in Galway is missing the Boundary values of the U and N inputs

U as far as I can see - is varied from one value to another and the amount of rule changes needed to gain convergenge (to some criteria - possibly ment ioned in the paper) for each increase (and probably rate of increase) is noted

N on the other hand is a noise value constrained to be some abstraction of the noise observed during a particular process (White noise - Gaussian distribution zero mean and a variance of 1)

The purpose of the experiment is two-fold

  1. Test the controller convergence capability for varying values of set-point - *with Added Noise* The set-point is varied, as is the noise.
  2. Count the rule changes necessary to keep control of the plant for each situation

Essentially you are benchmarking your controller paradigm for a particular process model

I will check the Laplace transform for you for a pound of Castlebar sausages OR A Salmon from the river Moy - failing that A pint in the Kings Head will do ;-)

Setanta

Reply to
Setanta

Ann - if you don't understand Laplace TFs you shouldn't be even enrolled in a Ph.D!

Reply to
Entropy

F(s) = 1/ ((s + a) (s + b)), ® f(t) = {1/ (b - a)} {e-at - e-bt}

formatting link

Reply to
Setanta

should read

F(s) = 1/ ((s + a) (s + b)) Transforms to f(t)=[1/(b-a)]*[e^-at - e^-bt]

Reply to
Setanta

Wow ! Talk about kicking a girl when she is down.

Reply to
Ann

Hi Setanta,

Thank you for your help.

Yes of course I'm sorry, I forgot to mention the ranges for U and N. They are 0

Reply to
Ann

Lady, there's a fundamental disconnect in that. "X=0.00375/((s+0.15)*(s+0.25)) is a frequency-domain equation (s being complex frequency), not a transform of any kind.

That's just your original equation in symbolic form (without multiplication by U). Not a transform either.

Presumably, U, the controller output, was given in the frequency domain. (It had to be if you multiplied by it where you did.) So now you have the impulse response of your controller; to get the response to the controller, doesn't that have to enter the picture? I leave it to you to determine where and how.

...

Jerry

Reply to
Jerry Avins

It was nasty, all right, but there's a bit of truth in it. I once had a senior from MIT as a summer intern on a circuit design assignment who told me that she didn't really understand what inductance was about.

Jerry

Reply to
Jerry Avins

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.