A3XX: New autopilot based on pitch rate and roll rate for FBW

This commit is contained in:
Joshua Davidson 2017-07-21 22:32:12 -04:00
parent 1dd9db5971
commit b76752a1a4
3 changed files with 35 additions and 75 deletions

View file

@ -336,19 +336,14 @@
<config>
<altitude-dial-mode>0</altitude-dial-mode>
<roll>
<umin>-0.4</umin>
<umax>0.4</umax>
<kp>0.1</kp>
<kp-vloc>0.11</kp-vloc>
<ti>5.0</ti>
<td>0.001</td>
<gain>-0.1</gain>
<min>-0.4</min>
<max>0.4</max>
</roll>
<pitch>
<umin>-0.3</umin>
<umax>0.3</umax>
<kp>-0.1</kp>
<ti>5.0</ti>
<td>0.001</td>
<gain>0.1</gain>
<min>-0.2</min>
<max>0.2</max>
</pitch>
<cmd>
<roll-kp>-0.9</roll-kp>

View file

@ -625,9 +625,13 @@
<max>30</max>
</filter>
<pid-controller>
<name>IT-CONTROLLER: PITCH</name>
<filter>
<name>System Command: Pitch Rate</name>
<debug>false</debug>
<type>gain</type>
<gain>
<property>/it-autoflight/config/pitch/gain</property>
</gain>
<enable>
<condition>
<or>
@ -649,28 +653,14 @@
<property>/it-autoflight/internal/target-pitch-deg</property>
</reference>
<output>
<property>/it-autoflight/internal/elevator-cmd</property> <!-- Inputs to the FBW -->
<property>/it-autoflight/internal/elevator-cmd</property> <!-- Inputs to the FBW Pitch Rate -->
</output>
<config>
<Kp>
<property>/it-autoflight/config/pitch/kp</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
<Ti>
<property>/it-autoflight/config/pitch/ti</property>
</Ti>
<Td>
<property>/it-autoflight/config/pitch/td</property>
</Td>
<u_min>
<property>/it-autoflight/config/pitch/umin</property>
</u_min>
<u_max>
<property>/it-autoflight/config/pitch/umax</property>
</u_max>
</config>
</pid-controller>
<min>
<property>/it-autoflight/config/pitch/min</property>
</min>
<max>
<property>/it-autoflight/config/pitch/max</property>
</max>
</filter>
</PropertyList>

View file

@ -199,9 +199,13 @@
<max-rate-of-change>6</max-rate-of-change>
</filter>
<pid-controller>
<name>IT-CONTROLLER: ROLL</name>
<filter>
<name>System Command: Roll Rate</name>
<debug>false</debug>
<type>gain</type>
<gain>
<property>/it-autoflight/config/roll/gain</property>
</gain>
<enable>
<condition>
<or>
@ -250,44 +254,15 @@
<value>0</value>
</reference>
<output>
<property>/it-autoflight/internal/aileron-cmd</property> <!-- Inputs to the FBW -->
</output>
<config>
<Kp>
<condition>
<not-equals>
<property>/it-autoflight/output/lat</property>
<value>2</value>
</not-equals>
</condition>
<property>/it-autoflight/config/roll/kp</property>
</Kp>
<Kp>
<condition>
<equals>
<property>/it-autoflight/output/lat</property>
<value>2</value>
</equals>
</condition>
<property>/it-autoflight/config/roll/kp-vloc</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
<Ti>
<property>/it-autoflight/config/roll/ti</property>
</Ti>
<Td>
<property>/it-autoflight/config/roll/td</property>
</Td>
<u_min>
<property>/it-autoflight/config/roll/umin</property>
</u_min>
<u_max>
<property>/it-autoflight/config/roll/umax</property>
</u_max>
</config>
</pid-controller>
<property>/it-autoflight/internal/aileron-cmd</property> <!-- Inputs to the FBW Roll Rate -->
</output>
<min>
<property>/it-autoflight/config/roll/min</property>
</min>
<max>
<property>/it-autoflight/config/roll/max</property>
</max>
</filter>
<!-- =============================================================== -->
<!-- Yaw Control -->