Roy Vegard Ovesen <[EMAIL PROTECTED]> said: > On Tue, 27 Jan 2004 09:38:17 -0600, Curtis L. Olson <[EMAIL PROTECTED]> > wrote: > > > > > Right now we have limits built into the altitude hold modules. For > > instance, for the C172, I don't want to command a climb if the speed is > > less that 70 kts. So I take the target climb rate and tail that off to > > zero as the speed goes down to 70. It's a hack I know, but it seems to > > help. Is there a better way to do that anyway given a "generic" pid > > algorithm? Would we want to build in hooks to the "generic" pid > > algorithm so we can set up these sorts of limits? > > I don't think this should be part of the PID algorithm. I think we should > use your hack and apply it to the setpoint to the v/s or pitch. This means > that we need some sort of if ... then functionality. I just started > looking at Nasal, and I think that could be used for summing, gaining, > if...then, etc.
You are right, it shouldn't. But it should be in a C++ subclass that calls the PID algorithm. We really should end up with something people can understand easily. Ideally we could provide an interface so that people who really want to work within the "black box" can, while others could work with a less flexible interface and still achieve a reasonable level of realism. I feel that approach would, in part, help attract more modelers to FlightGear. For the more sophisiticated users, Nasal is an excellent choice for involved custom wrappers to access the PID logic. I think a design that incorporates that might give us the best of both worlds, so to speak. But to go back to the C172 example, does anyone actually understand how this issue is handled in a cessna autopilot or any of the others that might be installed in a 172? Will it stall the aircraft? Or...hmmm...trying to remember... does the 172 even have an AP for the pitch axis? Best, Jim _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
