RE: [Flightgear-devel] Autocoordination : Derivatives in FCS

2004-01-13 Thread Jon Berndt
[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

2004-01-13 Thread Hof Markus
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

2004-01-13 Thread Jon S Berndt
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

2004-01-13 Thread Hof Markus
 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

2004-01-13 Thread Jon Berndt
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

2004-01-12 Thread Hof Markus
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

2004-01-12 Thread Jon Berndt
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

2004-01-09 Thread Jon Berndt
 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

2004-01-09 Thread Hof Markus
  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

2004-01-08 Thread Jon S Berndt
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

2004-01-08 Thread Hof Markus
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