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> <config>
<altitude-dial-mode>0</altitude-dial-mode> <altitude-dial-mode>0</altitude-dial-mode>
<roll> <roll>
<umin>-0.4</umin> <gain>-0.1</gain>
<umax>0.4</umax> <min>-0.4</min>
<kp>0.1</kp> <max>0.4</max>
<kp-vloc>0.11</kp-vloc>
<ti>5.0</ti>
<td>0.001</td>
</roll> </roll>
<pitch> <pitch>
<umin>-0.3</umin> <gain>0.1</gain>
<umax>0.3</umax> <min>-0.2</min>
<kp>-0.1</kp> <max>0.2</max>
<ti>5.0</ti>
<td>0.001</td>
</pitch> </pitch>
<cmd> <cmd>
<roll-kp>-0.9</roll-kp> <roll-kp>-0.9</roll-kp>

View file

@ -625,9 +625,13 @@
<max>30</max> <max>30</max>
</filter> </filter>
<pid-controller> <filter>
<name>IT-CONTROLLER: PITCH</name> <name>System Command: Pitch Rate</name>
<debug>false</debug> <debug>false</debug>
<type>gain</type>
<gain>
<property>/it-autoflight/config/pitch/gain</property>
</gain>
<enable> <enable>
<condition> <condition>
<or> <or>
@ -649,28 +653,14 @@
<property>/it-autoflight/internal/target-pitch-deg</property> <property>/it-autoflight/internal/target-pitch-deg</property>
</reference> </reference>
<output> <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> </output>
<config> <min>
<Kp> <property>/it-autoflight/config/pitch/min</property>
<property>/it-autoflight/config/pitch/kp</property> </min>
</Kp> <max>
<beta>1.0</beta> <property>/it-autoflight/config/pitch/max</property>
<alpha>0.1</alpha> </max>
<gamma>0.0</gamma> </filter>
<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>
</PropertyList> </PropertyList>

View file

@ -199,9 +199,13 @@
<max-rate-of-change>6</max-rate-of-change> <max-rate-of-change>6</max-rate-of-change>
</filter> </filter>
<pid-controller> <filter>
<name>IT-CONTROLLER: ROLL</name> <name>System Command: Roll Rate</name>
<debug>false</debug> <debug>false</debug>
<type>gain</type>
<gain>
<property>/it-autoflight/config/roll/gain</property>
</gain>
<enable> <enable>
<condition> <condition>
<or> <or>
@ -250,44 +254,15 @@
<value>0</value> <value>0</value>
</reference> </reference>
<output> <output>
<property>/it-autoflight/internal/aileron-cmd</property> <!-- Inputs to the FBW --> <property>/it-autoflight/internal/aileron-cmd</property> <!-- Inputs to the FBW Roll Rate -->
</output> </output>
<config> <min>
<Kp> <property>/it-autoflight/config/roll/min</property>
<condition> </min>
<not-equals> <max>
<property>/it-autoflight/output/lat</property> <property>/it-autoflight/config/roll/max</property>
<value>2</value> </max>
</not-equals> </filter>
</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>
<!-- =============================================================== --> <!-- =============================================================== -->
<!-- Yaw Control --> <!-- Yaw Control -->