På 29.09.2005 00:47 CEST skrev Hans-Georg Wunder >Behaviour with delta_u_n = 0 and an input jump function of 0.6 >Saturation at the beginning > > o Time, reference,input,output > 21:56:54,0,0,0 > 21:56:55,0,0,0 > 21:56:56,0,0,0 > 21:56:57,0,0,0 > 21:56:58,0,0,0 > 21:56:59,0,0.6,0.02549999999999999 Here the P-part is missing There >has to be a jump to u_max
You should not set the input to 0.6. You should set the reference to 0.6. The input is the process value, and the reference is the set point. You can not set the process value directly. If you could then you would not need a controller at all ;-). In your example here it does not matter, results would have been similar if you set the reference to 0.6. But you have to remember this when you use live values with your controllers. The patch committed by Erik: http://cvs.flightgear.org/cgi-bin/viewcvs/viewcvs.cgi/source/src/Autopilot/xmlauto.cxx.diff?r1=1.19&r2=1.20&cvsroot=FlightGear-0.9 should fix this. This is what would happen when you set delta_u_n = u_max - u_n_1 : delta_u_n > (u_max - u_n_1) 0.6 > (0.5 - 0.0) : true delta_u_n = u_max - u_n_1 = 0.5 - 0.0 = 0.5 u_n = u_n_1 + delta_u_n = 0.0 + 0.5 = 0.5 and at the next time step let's assume that delta_u_n is still 0.6: 0.6 > (0.5 - 0.5) : true delta_u_n = 0.5 - 0.5 = 0.0 u_n = 0.5 + 0.0 = 0.5 u_n jumps to u_max and stays there as long as delta_u_n is positive. >P.S.: The test result for delta_u_n = u_max - U What? Where are the results for delta_u_n = u_max - u_n_1? Am I right in assuming that the results you presented her were for version 1.19 of xmlauto.cxx and _not_ version 1.20 of xmlauto.cxx? -- Roy Vegard Ovesen _______________________________________________ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d