RE: [Flightgear-devel] Autocoordination : Derivatives in FCS
[Markus:] I updated the auto-documentation for the Filters. It's at the JSBSim web site, Documentation, API documentation. Jon ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
Re: [Flightgear-devel] Autocoordination : Derivatives in FCS
Ah. Fine. So you left away the setto feature? Does not matter, I'm sure noone will miss it. What I don't understand is, how you reset the previous inputs? Which application uses this? Can you send me the final FGFilter.* please? Have you testet the A320-new? Do you like it? I'm unsure about the RR integrator, maybe I will hold to 0 if in bank hold mode, or if I should leave away the bank hold integrator and use only P D for error correction, so RR does not differ from pilot input when leaving Bank hold mode. But thats tweaking ;-) markus [Markus:] I updated the auto-documentation for the Filters. It's at the JSBSim web site, Documentation, API documentation. ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
Re: [Flightgear-devel] Autocoordination : Derivatives in FCS
On Tue, 13 Jan 2004 16:24:42 +0100 Hof Markus [EMAIL PROTECTED] wrote: Ah. Fine. So you left away the setto feature? Does not matter, I'm sure noone will miss it. What I don't understand is, how you reset the previous inputs? Which application uses this? Can you send me the final FGFilter.* please? Maybe the new TRIGGER feature still needs some work. I coded it pretty fast. Also, maybe we don't need to reset inputs at all - I didn't think about it too hard. I did want to give the ability to reset the previous outputs, though, and I think it works in the new FGFilter.cpp. You can get the new code at the JSBSim web site, either by CVS, or by downloading the tarball on the DOWNLOADS page. See the text at the top of that page. Have you testet the A320-new? Do you like it? I have not had time, yet. It will likely be a few days. Can you tell me how to operate the new capabilities you have added? Or, is it merely part of the regular flight controls? Jon ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
Re: [Flightgear-devel] Autocoordination : Derivatives in FCS
Ah. Fine. So you left away the setto feature? Does not matter, I'm sure noone will miss it. What I don't understand is, how you reset the previous inputs? Which application uses this? Can you send me the final FGFilter.* please? Maybe the new TRIGGER feature still needs some work. I coded it pretty fast. Also, maybe we don't need to reset inputs at all - I didn't think about it too hard. I did want to give the ability to reset the previous outputs, though, and I think it works in the new FGFilter.cpp. By now I think it should work so. You can extend features when needed. ;-) You can get the new code at the JSBSim web site, either by CVS, or by downloading the tarball on the DOWNLOADS page. See the text at the top of that page. Sorry, I didn't that you already checked it in. Have you testet the A320-new? Do you like it? I have not had time, yet. It will likely be a few days. Can you tell me how to operate the new capabilities you have added? Or, is it merely part of the regular flight controls? It's 'integrated' in flight controls so just use your sidestick ;-) Main features: x - axis: order a Rollrate instead of aileron defl., RR will be the same at hi and low IAS. If RR ordered == 0 ; sidestick neutral, bank hold mode is activated automatically. So, deflect until reaching desired bank and move ss to neutral. Bank will not change. ;-) y-axis is analog, using pitch rate commanded. But pitch hold is not finished, yet. Do you know how overriding FG autopilot with my own A/P function defined as FCS component, I read that they might fight each other. FCPC do also Alpha protection by enabling A/Thrust if IAS below Vso + some kts. Autoland would also be nice ... in future ;-) markus ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
RE: [Flightgear-devel] Autocoordination : Derivatives in FCS
Do you know how overriding FG autopilot with my own A/P function defined as FCS component, I read that they might fight each other. FCPC do also Alpha protection by enabling A/Thrust if IAS below Vso + some kts. Autoland would also be nice ... in future ;-) markus OK. I think what you would need to do is to make sure that when you select an autopilot function (such as heading select), that you have control over the name of the property that gets set when that happens. You would thne set the JSBSim property that controls that. For instance, fdm/jsbsim/ap/heading_select (or something like that - I can't remember what I called it - it's in that Autopilot document I wrote and placed on the JSBSim web site). However, I don't know anything about the FightGear autopilot - it might be hardcoded for all I know. Maybe you should start a new topic: Autopilot. Jon ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
Re: [Flightgear-devel] Autocoordination : Derivatives in FCS
Now I've fixed bank hold mode. here are some parts you want me to post. I made some test and error in Rollrate should be less than 0.5° Bank hold mode holds bank at error 0.02° As soon as I have fixed up pitch mode, you'll get the hole A/C for test flight. markus COMPONENT NAME=FCPC bank hold TYPE=SWITCH TEST LOGIC=DEFAULT VALUE=0 /TEST TEST LOGIC=AND VALUE=1 fcs/aileron-cmd-norm = 0.02 fcs/aileron-cmd-norm = -0.02 /TEST /COMPONENT COMPONENT NAME=FCPC bank hold to TYPE=SWITCH TEST LOGIC=AND VALUE=attitude/roll-rad fcs/fcpc-bank-hold == 0 /TEST /COMPONENT COMPONENT NAME=FCPC bank error TYPE=SUMMER INPUTfcs/fcpc-bank-hold-to INPUT -attitude/roll-rad /COMPONENT COMPONENT NAME=FCPC bank p TYPE=PURE_GAIN INPUTfcs/fcpc-bank-error GAIN 3.0 /COMPONENT COMPONENT NAME=FCPC bank d TYPE=LEAD_LAG_FILTER INPUTfcs/fcpc-bank-error C1 0.05 C2 0.0 C3 0.0 C4 1.0 /COMPONENT COMPONENT NAME=FCPC bank i TYPE=INTEGRATOR INPUTfcs/fcpc-bank-error C1 0.005 /COMPONENT COMPONENT NAME=FCPC bank total TYPE=SUMMER INPUTfcs/fcpc-bank-p INPUTfcs/fcpc-bank-d INPUTfcs/fcpc-bank-i /COMPONENT COMPONENT NAME=FCPC rr ss ordered grad TYPE=PURE_GAIN INPUTfcs/aileron-cmd-norm GAIN 10.0 /COMPONENT COMPONENT NAME=FCPC rr ss ordered rad TYPE=PURE_GAIN INPUTfcs/fcpc-rr-ss-ordered-grad GAIN 0.01745329 /COMPONENT COMPONENT NAME=FCPC rr ordered TYPE=SWITCH TEST LOGIC=DEFAULT VALUE=fcs/fcpc-rr-ss-ordered-rad /TEST TEST LOGIC=AND VALUE=fcs/fcpc-bank-total fcs/fcpc-bank-hold == 1 /TEST /COMPONENT COMPONENT NAME=FCPC rr error TYPE=SUMMER INPUTfcs/fcpc-rr-ordered INPUT -velocities/p-rad_sec /COMPONENT COMPONENT NAME=FCPC rr p TYPE=PURE_GAIN INPUTfcs/fcpc-rr-error GAIN 15.0 /COMPONENT COMPONENT NAME=FCPC rr d TYPE=LEAD_LAG_FILTER INPUTfcs/fcpc-rr-error C1 0.25 C2 0.0 C3 0.0 C4 1.0 /COMPONENT COMPONENT NAME=FCPC rr i TYPE=INTEGRATOR INPUTfcs/fcpc-rr-error !-- should be 0 if bank mode -- C1 0.0005 /COMPONENT COMPONENT NAME=FCPC rr total TYPE=SUMMER INPUTfcs/fcpc-rr-p INPUTfcs/fcpc-rr-d INPUTfcs/fcpc-rr-i /COMPONENT COMPONENT NAME=Roll Trim Sum TYPE=SUMMER INPUT fcs/fcpc-rr-total INPUT fcs/roll-trim-cmd-norm CLIPTO-1 1 /COMPONENT - Original Message - From: Jon S Berndt [EMAIL PROTECTED] To: FlightGear developers discussions [EMAIL PROTECTED] Sent: Thursday, January 08, 2004 10:26 PM Subject: Re: [Flightgear-devel] Autocoordination : Derivatives in FCS On Thu, 8 Jan 2004 20:41:00 +0100 Hof Markus [EMAIL PROTECTED] wrote: Other topic: Are there any suggestions about how to build a d/d(t) of a property in fdm markus Markus: For JSBSim, you can use the flight control components. This is a quick reply, so maybe I have not thought this all the way out, yet. But, I suspect you can get a derivative control like this: In LaPlace space, a derivative is simply s, right (it's been a long time since I've worked in LaPlace space - someone correct me if I am wrong, please). You can use the Tustin substitution to go from LaPlace space to the time domain (z domain), as we do with all the JSBSim flight control components (this is typical in industry, too). Have you seen the Automatic Flight in JSBSim document at the JSBSim web site? Go to www.jsbsim.org, select Documentation, then select that title. You will see the Lead-Lag and Second order filters described. Select the coefficients for these two filters to give you only an s in the numerator. For the lead-lag filter you would selectC1 = 1, C4 = 1, and C2 and C3 would be 0. For the second order filter, C2 and C6 would be 1 and C1, C3, C4, and C5 would be 0. Using these filters should give you the derivative of the input. Now, I have not used these filters for that purpose, yet. Initialization would be very important for them to work correctly. I'd have to test them out to see if that worked correctly. Jon ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
RE: [Flightgear-devel] Autocoordination : Derivatives in FCS
Something like this is right along the lines of what I had hoped the JSBSim FCS components would be used for. I'll be anxious to try it out. Also, this is where a good GUI editor would come in handy. At the least, I have thought about writing a program that would parse the FCS file and write out a flight control block diagram. Someday ... Jon -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Hof Markus Sent: Monday, January 12, 2004 7:57 AM To: FlightGear developers discussions Subject: Re: [Flightgear-devel] Autocoordination : Derivatives in FCS Now I've fixed bank hold mode. here are some parts you want me to post. I made some test and error in Rollrate should be less than 0.5° Bank hold mode holds bank at error 0.02° As soon as I have fixed up pitch mode, you'll get the hole A/C for test flight. markus COMPONENT NAME=FCPC bank hold TYPE=SWITCH TEST LOGIC=DEFAULT VALUE=0 /TEST TEST LOGIC=AND VALUE=1 fcs/aileron-cmd-norm = 0.02 fcs/aileron-cmd-norm = -0.02 /TEST /COMPONENT COMPONENT NAME=FCPC bank hold to TYPE=SWITCH TEST LOGIC=AND VALUE=attitude/roll-rad fcs/fcpc-bank-hold == 0 /TEST /COMPONENT COMPONENT NAME=FCPC bank error TYPE=SUMMER INPUTfcs/fcpc-bank-hold-to INPUT -attitude/roll-rad /COMPONENT COMPONENT NAME=FCPC bank p TYPE=PURE_GAIN INPUTfcs/fcpc-bank-error GAIN 3.0 /COMPONENT COMPONENT NAME=FCPC bank d TYPE=LEAD_LAG_FILTER INPUTfcs/fcpc-bank-error C1 0.05 C2 0.0 C3 0.0 C4 1.0 /COMPONENT COMPONENT NAME=FCPC bank i TYPE=INTEGRATOR INPUTfcs/fcpc-bank-error C1 0.005 /COMPONENT COMPONENT NAME=FCPC bank total TYPE=SUMMER INPUTfcs/fcpc-bank-p INPUTfcs/fcpc-bank-d INPUTfcs/fcpc-bank-i /COMPONENT COMPONENT NAME=FCPC rr ss ordered grad TYPE=PURE_GAIN INPUTfcs/aileron-cmd-norm GAIN 10.0 /COMPONENT COMPONENT NAME=FCPC rr ss ordered rad TYPE=PURE_GAIN INPUTfcs/fcpc-rr-ss-ordered-grad GAIN 0.01745329 /COMPONENT COMPONENT NAME=FCPC rr ordered TYPE=SWITCH TEST LOGIC=DEFAULT VALUE=fcs/fcpc-rr-ss-ordered-rad /TEST TEST LOGIC=AND VALUE=fcs/fcpc-bank-total fcs/fcpc-bank-hold == 1 /TEST /COMPONENT COMPONENT NAME=FCPC rr error TYPE=SUMMER INPUTfcs/fcpc-rr-ordered INPUT -velocities/p-rad_sec /COMPONENT COMPONENT NAME=FCPC rr p TYPE=PURE_GAIN INPUTfcs/fcpc-rr-error GAIN 15.0 /COMPONENT COMPONENT NAME=FCPC rr d TYPE=LEAD_LAG_FILTER INPUTfcs/fcpc-rr-error C1 0.25 C2 0.0 C3 0.0 C4 1.0 /COMPONENT COMPONENT NAME=FCPC rr i TYPE=INTEGRATOR INPUTfcs/fcpc-rr-error !-- should be 0 if bank mode -- C1 0.0005 /COMPONENT COMPONENT NAME=FCPC rr total TYPE=SUMMER INPUTfcs/fcpc-rr-p INPUTfcs/fcpc-rr-d INPUTfcs/fcpc-rr-i /COMPONENT COMPONENT NAME=Roll Trim Sum TYPE=SUMMER INPUT fcs/fcpc-rr-total INPUT fcs/roll-trim-cmd-norm CLIPTO-1 1 /COMPONENT - Original Message - From: Jon S Berndt [EMAIL PROTECTED] To: FlightGear developers discussions [EMAIL PROTECTED] Sent: Thursday, January 08, 2004 10:26 PM Subject: Re: [Flightgear-devel] Autocoordination : Derivatives in FCS On Thu, 8 Jan 2004 20:41:00 +0100 Hof Markus [EMAIL PROTECTED] wrote: Other topic: Are there any suggestions about how to build a d/d(t) of a property in fdm markus Markus: For JSBSim, you can use the flight control components. This is a quick reply, so maybe I have not thought this all the way out, yet. But, I suspect you can get a derivative control like this: In LaPlace space, a derivative is simply s, right (it's been a long time since I've worked in LaPlace space - someone correct me if I am wrong, please). You can use the Tustin substitution to go from LaPlace space to the time domain (z domain), as we do with all the JSBSim flight control components (this is typical in industry, too). Have you seen the Automatic Flight in JSBSim document at the JSBSim web site? Go to www.jsbsim.org, select Documentation, then select that title. You will see the Lead-Lag and Second order filters described. Select the coefficients for these two filters to give you only an s in the numerator. For the lead-lag filter you would selectC1 = 1, C4 = 1, and C2 and C3 would be 0. For the second order filter, C2 and C6 would be 1 and C1, C3, C4, and C5 would be 0. Using these filters should give you the derivative of the input. Now, I have not used these filters for that purpose, yet. Initialization would be very important for them to work correctly. I'd have to test them out
RE: [Flightgear-devel] Autocoordination : Derivatives in FCS
Quoting Jon S Berndt [EMAIL PROTECTED]: Markus: For JSBSim, you can use the flight control components. This is a quick reply, so maybe I have not thought this all the way out, yet. But, I suspect you can get a derivative control like this: In LaPlace space, a derivative is simply s, right (it's been a long time since I've worked in LaPlace space - someone correct me if I am wrong, please). You can use the Tustin substitution to go from LaPlace space to the time domain (z domain), as we do with all the JSBSim flight control components (this is typical in industry, too). Have you seen the Automatic Flight in JSBSim document at the JSBSim web site? Go to www.jsbsim.org, select Documentation, then select that title. You will see the Lead-Lag and Second order filters described. Select the coefficients for these two filters to give you only an s in the numerator. For the lead-lag filter you would selectC1 = 1, C4 = 1, and C2 and C3 would be 0. For the second order filter, C2 and C6 would be 1 and C1, C3, C4, and C5 would be 0. Using these filters should give you the derivative of the input. Now, I have not used these filters for that purpose, yet. Initialization would be very important for them to work correctly. I'd have to test them out to see if that worked correctly. LaPlace has been long time ago, but I tried your hint and it works. I use a LEAD_LAG_FILTER to calc the d/dt thx a lot, that made FCS pitch controll possible w/o trigger malfunction causing unflyable attitudes ;) after a while. markus Can you post the JSBSim control system you created here or on the JSBSim list? I'm curious what it looks like. Jon ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
Re: [Flightgear-devel] Autocoordination : Derivatives in FCS
Quoting Jon S Berndt [EMAIL PROTECTED]: Markus: For JSBSim, you can use the flight control components. This is a quick reply, so maybe I have not thought this all the way out, yet. But, I suspect you can get a derivative control like this: In LaPlace space, a derivative is simply s, right (it's been a long [snip] important for them to work correctly. I'd have to test them out to see if that worked correctly. LaPlace has been long time ago, but I tried your hint and it works. I use a LEAD_LAG_FILTER to calc the d/dt thx a lot, that made FCS pitch controll possible w/o trigger malfunction causing unflyable attitudes ;) after a while. Can you post the JSBSim control system you created here or on the JSBSim list? I'm curious what it looks like. I will do in the next days also for test flights needed, to recieve some feedback, let's hope good one :)) I still have some troubles getting right values of DPI gain with pitch, but much better than before, only finetuning needed. As I saw on other topic, stopping the Integrator if fltctl is in saturation, this good idea has to bee added too. I'll also have/want to modify the Rollrate controll, because this is made w/o a D component, maybe I'll get better results with one. If you want I can post the Bank-Attitude-Hold to see some structure how my FDM-components work together. I'm still in Office, but as soon as I'm home I'll post some parts. markus ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
Re: [Flightgear-devel] Autocoordination : Derivatives in FCS
On Thu, 8 Jan 2004 20:41:00 +0100 Hof Markus [EMAIL PROTECTED] wrote: Other topic: Are there any suggestions about how to build a d/d(t) of a property in fdm markus Markus: For JSBSim, you can use the flight control components. This is a quick reply, so maybe I have not thought this all the way out, yet. But, I suspect you can get a derivative control like this: In LaPlace space, a derivative is simply s, right (it's been a long time since I've worked in LaPlace space - someone correct me if I am wrong, please). You can use the Tustin substitution to go from LaPlace space to the time domain (z domain), as we do with all the JSBSim flight control components (this is typical in industry, too). Have you seen the Automatic Flight in JSBSim document at the JSBSim web site? Go to www.jsbsim.org, select Documentation, then select that title. You will see the Lead-Lag and Second order filters described. Select the coefficients for these two filters to give you only an s in the numerator. For the lead-lag filter you would selectC1 = 1, C4 = 1, and C2 and C3 would be 0. For the second order filter, C2 and C6 would be 1 and C1, C3, C4, and C5 would be 0. Using these filters should give you the derivative of the input. Now, I have not used these filters for that purpose, yet. Initialization would be very important for them to work correctly. I'd have to test them out to see if that worked correctly. Jon ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel
Re: [Flightgear-devel] Autocoordination : Derivatives in FCS
Quoting Jon S Berndt [EMAIL PROTECTED]: Other topic: Are there any suggestions about how to build a d/d(t) of a property in fdm Markus: For JSBSim, you can use the flight control components. This is a quick reply, so maybe I have not thought this all the way out, yet. But, I suspect you can get a derivative control like this: In LaPlace space, a derivative is simply s, right (it's been a long time since I've worked in LaPlace space - someone correct me if I am wrong, please). You can use the Tustin substitution to go from LaPlace space to the time domain (z domain), as we do with all the JSBSim flight control components (this is typical in industry, too). Have you seen the Automatic Flight in JSBSim document at the JSBSim web site? Go to www.jsbsim.org, select Documentation, then select that title. You will see the Lead-Lag and Second order filters described. Select the coefficients for these two filters to give you only an s in the numerator. For the lead-lag filter you would selectC1 = 1, C4 = 1, and C2 and C3 would be 0. For the second order filter, C2 and C6 would be 1 and C1, C3, C4, and C5 would be 0. Using these filters should give you the derivative of the input. Now, I have not used these filters for that purpose, yet. Initialization would be very important for them to work correctly. I'd have to test them out to see if that worked correctly. LaPlace has been long time ago, but I tried your hint and it works. I use a LEAD_LAG_FILTER to calc the d/dt thx a lot, that made FCS pitch controll possible w/o trigger malfunction causing unflyable attitudes ;) after a while. markus ___ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel