Hydraulic and FBW: Improve Flight Control Response, fix spoileron activation

This commit is contained in:
Joshua Davidson 2017-05-31 14:46:20 -04:00
parent 1a6fa687f4
commit 03cefb16b9
4 changed files with 67 additions and 26 deletions

View file

@ -426,6 +426,7 @@
</engine> </engine>
</engines> </engines>
<flight> <flight>
<aileron-input>0</aileron-input>
<aileron-fbw>0</aileron-fbw> <aileron-fbw>0</aileron-fbw>
<aileron-left>0.5</aileron-left> <aileron-left>0.5</aileron-left>
<aileron-right>-0.5</aileron-right> <aileron-right>-0.5</aileron-right>

View file

@ -222,9 +222,9 @@
<sum> <sum>
<property>/surface-positions/speedbrake-pos-norm</property> <property>/surface-positions/speedbrake-pos-norm</property>
<table> <table>
<property>/controls/flight/aileron-fbw</property> <property>/controls/flight/spoiler-left-fbw-cmd</property>
<entry><ind>0</ind><dep> 0</dep></entry> <entry><ind>0.2</ind><dep> 0</dep></entry>
<entry><ind>1</ind><dep>-0.5</dep></entry> <entry><ind>1.0</ind><dep>-0.5</dep></entry>
</table> </table>
</sum> </sum>
</expression> </expression>
@ -275,8 +275,8 @@
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/controls/flight/aileron-fbw</property> <property>/controls/flight/spoiler-left-fbw-cmd</property>
<entry><ind> 0.0</ind><dep> 0</dep></entry> <entry><ind>-0.2</ind><dep> 0</dep></entry>
<entry><ind>-1.0</ind><dep>0.5</dep></entry> <entry><ind>-1.0</ind><dep>0.5</dep></entry>
</table> </table>
</expression> </expression>
@ -333,9 +333,9 @@
<sum> <sum>
<property>/surface-positions/speedbrake-pos-norm</property> <property>/surface-positions/speedbrake-pos-norm</property>
<table> <table>
<property>/controls/flight/aileron-fbw</property> <property>/controls/flight/spoiler-right-fbw-cmd</property>
<entry><ind> 0</ind><dep> 0</dep></entry> <entry><ind> 0.2</ind><dep> 0</dep></entry>
<entry><ind>-1</ind><dep>-0.5</dep></entry> <entry><ind>-1.0</ind><dep>-0.5</dep></entry>
</table> </table>
</sum> </sum>
</expression> </expression>
@ -386,8 +386,8 @@
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/controls/flight/aileron-fbw</property> <property>/controls/flight/spoiler-right-fbw-cmd</property>
<entry><ind>0.0</ind><dep> 0</dep></entry> <entry><ind>0.2</ind><dep> 0</dep></entry>
<entry><ind>1.0</ind><dep>0.5</dep></entry> <entry><ind>1.0</ind><dep>0.5</dep></entry>
</table> </table>
</expression> </expression>

View file

@ -5,14 +5,22 @@
<PropertyList> <PropertyList>
<!-- =============================================================== --> <!-- =============================================================== -->
<!-- Elevator Position Feeding --> <!-- Surface Position Feeding -->
<!-- =============================================================== --> <!-- =============================================================== -->
<filter> <filter>
<debug>false</debug> <debug>false</debug>
<type>gain</type> <type>noise-spike</type>
<gain>1.0</gain> <input>/controls/flight/aileron</input>
<output>/controls/flight/aileron-input</output>
<max-rate-of-change>2.5</max-rate-of-change>
</filter>
<filter>
<debug>false</debug>
<type>noise-spike</type>
<input> <input>
<condition> <condition>
<and> <and>
@ -61,6 +69,7 @@
<property>/controls/flight/elevator</property> <property>/controls/flight/elevator</property>
</input> </input>
<output>/controls/flight/elevator-input</output> <output>/controls/flight/elevator-input</output>
<max-rate-of-change>2.5</max-rate-of-change>
</filter> </filter>
<!-- =============================================================== --> <!-- =============================================================== -->
@ -178,7 +187,7 @@
</equals> </equals>
</or> </or>
</condition> </condition>
<property>/controls/flight/aileron</property> <property>/controls/flight/aileron-input</property>
</input> </input>
<input> <input>
<condition> <condition>
@ -189,11 +198,42 @@
</condition> </condition>
<value>0</value> <value>0</value>
</input> </input>
<output>/controls/flight/aileron-fbw</output> <output>/controls/flight/roll-fbw</output>
<type>noise-spike</type> <type>noise-spike</type>
<max-rate-of-change>10</max-rate-of-change> <max-rate-of-change>10</max-rate-of-change>
</filter> </filter>
<filter>
<name>IT-FBW: AILERON</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>/controls/flight/roll-fbw</input>
<output>/controls/flight/aileron-fbw</output>
</filter>
<filter>
<name>IT-FBW: LEFT SPOILER</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>/controls/flight/roll-fbw</input>
<output>/controls/flight/spoiler-left-fbw-cmd</output>
<min>-1</min>
<max>0</max>
</filter>
<filter>
<name>IT-FBW: RIGHT SPOILER</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>/controls/flight/roll-fbw</input>
<output>/controls/flight/spoiler-right-fbw-cmd</output>
<min>0</min>
<max>1</max>
</filter>
<!-- =============================================================== --> <!-- =============================================================== -->
<!-- Vertical --> <!-- Vertical -->
<!-- =============================================================== --> <!-- =============================================================== -->
@ -321,7 +361,7 @@
</equals> </equals>
</or> </or>
</condition> </condition>
<property>/controls/flight/elevator</property> <property>/controls/flight/elevator-input</property>
</input> </input>
<input> <input>
<condition> <condition>

View file

@ -36,19 +36,19 @@
<sum> <sum>
<property>/it-fbw/roll-deg</property> <property>/it-fbw/roll-deg</property>
<table> <table>
<independentVar lookup="row">/controls/flight/aileron</independentVar> <independentVar lookup="row">/controls/flight/aileron-input</independentVar>
<tableData> <tableData>
-1.0 -0.1 -1.0 -0.1
-0.7 -0.07 -0.7 -0.07
-0.5 -0.045 -0.5 -0.04
-0.3 -0.022 -0.3 -0.02
-0.15 -0.008 -0.15 -0.01
-0.05 -0.003 -0.05 -0.005
0.00 0.000 0.00 0.00
0.05 0.003 0.05 0.005
0.15 0.008 0.15 0.01
0.3 0.022 0.3 0.02
0.5 0.045 0.5 0.04
0.7 0.07 0.7 0.07
1.0 0.1 1.0 0.1
</tableData> </tableData>