On Wednesday 10 Mar 2010, Curtis Olson wrote:
> On Wed, Mar 10, 2010 at 7:50 AM, leee <l...@spatial.plus.com> 
wrote:
> > As this would be a new feature, and one which might affect
> > existing behaviours, I _really_ think it ought to be off by
> > default.
>
> I really can't imagine any sane system that is designed to
> leverage windup as a feature.  It's like closing your eyes and
> driving off the road. Anti-windup is a bit like adding guard
> rails to the road.
>
> > Turning it on by default is almost guaranteed to break
> > something, whereas because it is new nothing will be currently
> > using it - this just seems a bit silly to me.
>
> windup == bad
> antiwindup == good
>
> In a lot of ways this is like a bug fix.  So if implemented
> correctly, I really can't imagine any way it could break
> anything.  This only affects the simple PI controller (which is
> brutally crude anyway.)  The more advanced PID controller which
> is used for most complex stage in most autopilots already has
> anti-windup built into it's algorithm and we aren't touching
> that.
>
> Best regards,
>
> Curt.

I agree that windup == bad and antiwindup == good, and that in a 
perfect world no one would have leveraged windup and that everyone 
would have implemented their PI simple controllers correctly.  The 
trouble is that It's not a perfect world.

Personally, I strongly doubt that any of the aircraft developers 
would have deliberately leveraged windup in their PI simple 
controllers but would have tuned them to work around what may have 
seemed to be an anomaly in their behaviour without realising that 
the anomalous behaviour was due to a windup issue.  An extreme 
example of this sort of situation was the reversed wing incidence 
bug in YASim.  Without even realising there was a problem, aircraft 
developers spent many hours, days and even weeks, tuning their FDMs 
to work around this unknown bug.  Needless to say, any YASim 
aircraft that had non-zero wing incidence was comprehensively 
broken by the fix.  An extreme example, like I said, but it 
highlights how aircraft developers work around 'bugs' which, when 
fixed, break the aircraft.

The bottom line is that without a full audit of all the aircraft in 
FG there is simply no way to judge how many aircraft might be 
broken by changing the default behaviour.  Furthermore, because it 
will be a new feature there is nothing that is currently in FG that 
is dependent upon it: changing the default will fix nothing.

In the longer term, I would agree that it would be appropriate to 
change the default behaviour, but given the number of aircraft that 
a few of the developers have to maintain I think you need to give 
them a year or two to check for problems before forcing this 
change.  This is, after all, how changes in the default behaviour 
of other software applications is handled: you give a warning that 
the default behaviour will be changed and a reasonable time scale 
for dependent works to be prepared for that change.  You don't, 
unless you wish to antagonise all the developers who make stuff for 
your application, simply make the change and pass all the 
responsibility for fixing the resultant mess on to them.  
Especially, as I feel I must point out once again, when there is 
nothing in FG that currently depends upon a change in the default 
behaviour.  Most importantly, note that leaving the default 
behaviour unchanged does not stop new work from using the new 
feature, and if implemented as Torsten suggested, it would not 
require any changes to new works that did use the new feature when 
the default behaviour is eventually changed.

Going back a few years, there was a pretty long period (about a 
year) where I was spending more time fixing my aircraft, broken by 
bug fixes in the code, than I spent working on new stuff or 
improving the existing aircraft.  I can tell you that It was a 
pretty depressing time.

While I can understand the desire behind the coders to correct 
problems in their work, and to move it forwards as quickly as 
possible, that code depends upon the content developed for it, by 
the aircraft and scenery developers, and without their content FG 
is pointless.  Sometimes, I think that the FG coders forget this 
important point.

LeeE

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to