Control: Fix many FlyByWire bugs, including jerk after liftoff (fixes #81)
This commit is contained in:
parent
3448e17cc7
commit
83e512f471
2 changed files with 76 additions and 5 deletions
|
@ -9,6 +9,7 @@
|
||||||
<property value="0">fbw/pitch/pid</property>
|
<property value="0">fbw/pitch/pid</property>
|
||||||
<property value="0">fbw/yaw/tc-pd</property>
|
<property value="0">fbw/yaw/tc-pd</property>
|
||||||
<property value="0">fbw/spoiler-output</property>
|
<property value="0">fbw/spoiler-output</property>
|
||||||
|
<property value="1">fbw/mixer/sidestick-gain-feedback</property>
|
||||||
|
|
||||||
<!-- Default gains for tuning -->
|
<!-- Default gains for tuning -->
|
||||||
<property value="0">fbw/roll/p-gain</property>
|
<property value="0">fbw/roll/p-gain</property>
|
||||||
|
@ -210,6 +211,40 @@
|
||||||
<c1>1.0</c1>
|
<c1>1.0</c1>
|
||||||
</lag_filter>
|
</lag_filter>
|
||||||
|
|
||||||
|
<switch name="fbw/mixer/rate-limit">
|
||||||
|
<default value="fbw/mixer/rate-limit"/>
|
||||||
|
<test logic="AND" value="0.5"> <!-- 2 seconds -->
|
||||||
|
position/wow eq 1
|
||||||
|
fbw/mixer/sidestick-gain-feedback eq 1
|
||||||
|
</test>
|
||||||
|
<test logic="AND" value="100"> <!-- Unlimited -->
|
||||||
|
position/wow eq 1
|
||||||
|
fbw/mixer/sidestick-gain-feedback ne 1
|
||||||
|
</test>
|
||||||
|
<test logic="AND" value="100"> <!-- Unlimited -->
|
||||||
|
position/wow eq 0
|
||||||
|
fbw/mixer/sidestick-gain-feedback eq 0
|
||||||
|
</test>
|
||||||
|
</switch>
|
||||||
|
|
||||||
|
<actuator name="fbw/mixer/sidestick-gain">
|
||||||
|
<input>position/wow</input>
|
||||||
|
<rate_limit>fbw/mixer/rate-limit</rate_limit>
|
||||||
|
<output>fbw/mixer/sidestick-gain-feedback</output>
|
||||||
|
</actuator>
|
||||||
|
|
||||||
|
<fcs_function name="fbw/mixer/computer-gain">
|
||||||
|
<function>
|
||||||
|
<table>
|
||||||
|
<independentVar lookup="row">fbw/mixer/sidestick-gain</independentVar>
|
||||||
|
<tableData>
|
||||||
|
0 1
|
||||||
|
1 0
|
||||||
|
</tableData>
|
||||||
|
</table>
|
||||||
|
</function>
|
||||||
|
</fcs_function>
|
||||||
|
|
||||||
</channel>
|
</channel>
|
||||||
|
|
||||||
<channel name="FBW: Roll">
|
<channel name="FBW: Roll">
|
||||||
|
@ -504,9 +539,28 @@
|
||||||
</function>
|
</function>
|
||||||
</fcs_function>
|
</fcs_function>
|
||||||
|
|
||||||
|
<pure_gain name="fbw/mixer/roll/computer-demand">
|
||||||
|
<input>fbw/roll/pid</input>
|
||||||
|
<gain>fbw/mixer/computer-gain</gain>
|
||||||
|
</pure_gain>
|
||||||
|
|
||||||
|
<pure_gain name="fbw/mixer/roll/sidestick-demand">
|
||||||
|
<input>fbw/roll/a-i-f</input>
|
||||||
|
<gain>fbw/mixer/sidestick-gain</gain>
|
||||||
|
</pure_gain>
|
||||||
|
|
||||||
|
<summer name="fbw/mixer/roll/output">
|
||||||
|
<input>fbw/mixer/roll/computer-demand</input>
|
||||||
|
<input>fbw/mixer/roll/sidestick-demand</input>
|
||||||
|
<clipto>
|
||||||
|
<min>-1.0</min>
|
||||||
|
<max>1.0</max>
|
||||||
|
</clipto>
|
||||||
|
</summer>
|
||||||
|
|
||||||
<switch name="fbw/aileron-output">
|
<switch name="fbw/aileron-output">
|
||||||
<default value="0"/>
|
<default value="0"/>
|
||||||
<test logic="AND" value="fbw/roll/pid">
|
<test logic="AND" value="fbw/mixer/roll/output">
|
||||||
position/wow eq 0
|
position/wow eq 0
|
||||||
/it-fbw/law eq 0
|
/it-fbw/law eq 0
|
||||||
</test>
|
</test>
|
||||||
|
@ -993,9 +1047,28 @@
|
||||||
</test>
|
</test>
|
||||||
</switch>
|
</switch>
|
||||||
|
|
||||||
|
<pure_gain name="fbw/mixer/pitch/computer-demand">
|
||||||
|
<input>fbw/pitch/pid-switched</input>
|
||||||
|
<gain>fbw/mixer/computer-gain</gain>
|
||||||
|
</pure_gain>
|
||||||
|
|
||||||
|
<pure_gain name="fbw/mixer/pitch/sidestick-demand">
|
||||||
|
<input>fbw/pitch/e-i-f</input>
|
||||||
|
<gain>fbw/mixer/sidestick-gain</gain>
|
||||||
|
</pure_gain>
|
||||||
|
|
||||||
|
<summer name="fbw/mixer/pitch/output">
|
||||||
|
<input>fbw/mixer/pitch/computer-demand</input>
|
||||||
|
<input>fbw/mixer/pitch/sidestick-demand</input>
|
||||||
|
<clipto>
|
||||||
|
<min>-1.0</min>
|
||||||
|
<max>1.0</max>
|
||||||
|
</clipto>
|
||||||
|
</summer>
|
||||||
|
|
||||||
<switch name="fbw/elevator-output">
|
<switch name="fbw/elevator-output">
|
||||||
<default value="0"/>
|
<default value="0"/>
|
||||||
<test logic="AND" value="fbw/pitch/pid-switched">
|
<test logic="AND" value="fbw/mixer/pitch/output"> <!-- Mix stick and control law for transition from ground law -->
|
||||||
position/wow eq 0
|
position/wow eq 0
|
||||||
fbw/pitch/law-switch eq 1
|
fbw/pitch/law-switch eq 1
|
||||||
</test>
|
</test>
|
||||||
|
@ -1223,8 +1296,6 @@
|
||||||
<default value="fbw/yaw/r-washout"/>
|
<default value="fbw/yaw/r-washout"/>
|
||||||
<test logic="OR" value="0">
|
<test logic="OR" value="0">
|
||||||
position/wow eq 1
|
position/wow eq 1
|
||||||
fbw/yaw/rudder-nul gt 0
|
|
||||||
fbw/yaw/rudder-nul lt 0
|
|
||||||
/position/gear-agl-ft lt 50
|
/position/gear-agl-ft lt 50
|
||||||
fbw/yaw/autoland-switch eq 1
|
fbw/yaw/autoland-switch eq 1
|
||||||
</test>
|
</test>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
4778
|
4779
|
Reference in a new issue