Groups | Search | Server Info | Login | Register


Groups > comp.dsp > #33834

Re: Stability in PID Controllers

From Tim Wescott <seemywebsite@myfooter.really>
Subject Re: Stability in PID Controllers
Newsgroups comp.dsp
References (3 earlier) <of7nm7$7ie$1@dont-email.me> <SYmdncENMd2ZbIXEnZ2dnUU7-WGdnZ2d@giganews.com> <ofba7b$ihd$2@dont-email.me> <dOidnTVrV44Lq4TEnZ2dnUU7-XWdnZ2d@giganews.com> <ofdij7$20g$1@dont-email.me>
Message-ID <ZvSdnTbvt52JG4fEnZ2dnUU7-R-dnZ2d@giganews.com> (permalink)
Date 2017-05-15 23:54 -0500

Show all headers | View raw


On Mon, 15 May 2017 20:03:30 -0500, Les Cargill wrote:

> Tim Wescott wrote:
>> On Mon, 15 May 2017 00:22:07 -0400, rickman wrote:
>>
>>> On 5/14/2017 8:06 PM, Tim Wescott wrote:
>>>> On Sat, 13 May 2017 15:47:29 -0400, rickman wrote:
>>>>
>>>>> On 5/13/2017 12:53 PM, Randy Yates wrote:
>>>>>> Tim Wescott <tim@seemywebsite.really> writes:
>>>>>>
>>>>>>> On Fri, 12 May 2017 11:17:05 -0400, Randy Yates wrote:
>>>>>>>
>>>>>>>> I know next-to-nothing about this topic, but the following
>>>>>>>> question has popped into my mind several times.
>>>>>>>>
>>>>>>>> It seems like folks generally (and perhaps this is totally wrong)
>>>>>>>> design PID controllers by basically selecting what they think are
>>>>>>>> "good" constants for the proportional, integral, and derivative
>>>>>>>> terms. That is, they just sorta play with their systems and tweak
>>>>>>>> the terms until it seems to work smoothly.
>>>>>>>>
>>>>>>>> However, how do you know that a particular configuration is
>>>>>>>> stable?
>>>>>>>
>>>>>>> If you are tuning informally, then the informal way of making sure
>>>>>>> the system is stable is to make sure that it is neither singing
>>>>>>> nor dancing. Telling the difference between an autonomous
>>>>>>> oscillation and some external signal being amplified is a matter
>>>>>>> of experience.
>>>>>>>
>>>>>>> If you're doing formal loop tuning (which is _not_ a matter of
>>>>>>> randomly choosing values, but rather measuring or deriving a plant
>>>>>>> model from first principles, and then doing real live math on the
>>>>>>> model), then there are a number of ways which are appropriate to
>>>>>>> the methods you're using.
>>>>>>>
>>>>>>> If you're going by swept-sine measurement of the plant response,
>>>>>>> then Bode and/or Nyquist charts.
>>>>>>>
>>>>>>> If you're going by a Laplace-domain model (i.e., transfer
>>>>>>> functions), then you work out the transfer function of the overall
>>>>>>> system and decide if its stable (or you decide on the pole
>>>>>>> locations of the finished system and get your PID gains from
>>>>>>> that).
>>>>>>>
>>>>>>> If you're going by a linear state-space model, then you check the
>>>>>>> eigenvalues of the model of the overall system, or you do your
>>>>>>> design by pole placement.
>>>>>>>
>>>>>>> If you're using a nonlinear plant model, then you use an
>>>>>>> appropriate nonlinear method (I don't know what's popular -- I
>>>>>>> rarely have to do this, and it seems that each problem has its own
>>>>>>> correct method).
>>>>>>
>>>>>> Hey Tim,
>>>>>>
>>>>>> Thank you for such a comprehensive response.
>>>>>>
>>>>>> I was probably not clear in my question. I wasn't asking how to
>>>>>> formally determine stability - that I have had a small amount of
>>>>>> experience in, and certainly have studied some methods in the
>>>>>> control system classes I've had (although I've forgotten much of
>>>>>> it).
>>>>>>
>>>>>> I guess what I'm asking (which may have been a bit of a dumb
>>>>>> question) is, is there some inherent property of PID controllers
>>>>>> that makes them unconditionally stable, or at least stable in a
>>>>>> wide variety of situations? I.e., is it unneceessary for folks who
>>>>>> just sort of "tweak" such systems to be concerned about their
>>>>>> stability?
>>>>>>
>>>>>> I'm pretty sure the answer to that last question is: no.
>>>>>
>>>>> I think the real problem is that while you can design a controller
>>>>> that can be stable, that stability depends on the device being
>>>>> controlled as it is the loop characteristics that determine
>>>>> stability.
>>>>>
>>>>> So clearly there is no way to assure stability in a control loop
>>>>> without knowing about the device being controlled.  I suppose a very
>>>>> sophisticated controller could perform actions to measure parameters
>>>>> and then configure itself.  But then you wouldn't be tweaking that
>>>>> would you?
>>>>
>>>> Self-tweaking controllers was tried -- the field is called "Adaptive
>>>> Control" and it turns out that except in narrow circumstances you
>>>> work just as hard for not much better performance than you would if
>>>> you just made the plant more predictable.
>>>
>>> Do you always have plants you can alter?
>>
>> No, but often the most cost-effective way to achieve a certain control-
>> systems goal is to tweak the plant.  The ultimate performance of any
>> control system is limited by the plant; when you hit that limit the
>> only way forward is by tweaking the plant.
>>
>>
> I'd exclude - possibly - adaptive feedforward for some cases, mainly for
> slow-moving plant.

Actually, me too.  Especially if there are lots of repetitive, identical 
movements and the "adaptation" is just feedback that's sampled on each 
movement.

-- 

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

I'm looking for work -- see my website!

Back to comp.dsp | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Stability in PID Controllers Randy Yates <randyy@garnerundergroundinc.com> - 2017-05-12 11:17 -0400
  Re: Stability in PID Controllers rickman <gnuarm@gmail.com> - 2017-05-12 12:40 -0400
    Re: Stability in PID Controllers Tim Wescott <seemywebsite@myfooter.really> - 2017-05-12 16:19 -0500
  Re: Stability in PID Controllers danielot@gmail.com - 2017-05-12 09:41 -0700
  Re: Stability in PID Controllers Tim Wescott <tim@seemywebsite.really> - 2017-05-12 13:38 -0500
    Re: Stability in PID Controllers Randy Yates <yates@digitalsignallabs.com> - 2017-05-13 12:53 -0400
      Re: Stability in PID Controllers Tim Wescott <tim@seemywebsite.really> - 2017-05-13 13:14 -0500
      Re: Stability in PID Controllers rickman <gnuarm@gmail.com> - 2017-05-13 15:47 -0400
        Re: Stability in PID Controllers Tim Wescott <seemywebsite@myfooter.really> - 2017-05-14 19:06 -0500
          Re: Stability in PID Controllers rickman <gnuarm@gmail.com> - 2017-05-15 00:22 -0400
            Re: Stability in PID Controllers Tim Wescott <tim@seemywebsite.really> - 2017-05-15 00:03 -0500
              Re: Stability in PID Controllers rickman <gnuarm@gmail.com> - 2017-05-15 01:18 -0400
                Re: Stability in PID Controllers Tim Wescott <tim@seemywebsite.really> - 2017-05-15 10:53 -0500
              Re: Stability in PID Controllers Les Cargill <lcargill99@comcast.com> - 2017-05-15 20:03 -0500
                Re: Stability in PID Controllers Tim Wescott <seemywebsite@myfooter.really> - 2017-05-15 23:54 -0500
  Re: Stability in PID Controllers gyansorova@gmail.com - 2017-05-13 12:57 -0700
  Re: Stability in PID Controllers Kevin Neilson <kevin.neilson@xilinx.com> - 2017-05-13 13:10 -0700
    Re: Stability in PID Controllers Kevin Neilson <kevin.neilson@xilinx.com> - 2017-05-13 13:18 -0700
    Re: Stability in PID Controllers gyansorova@gmail.com - 2017-05-20 23:35 -0700

csiph-web